Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Distributed NoSQL database for Raspberry Pi with sharding and replication?

I am looking for a database with the following features:

  • Runs on Raspberry Pi
  • NoSQL (Key-Value-Store)
  • Transaction support
  • Distributed
  • Supports sharding
  • Supports automatically managed data redundancy across several nodes so that single nodes may join and leave, similar as in a P2P network

Basically, Redis would be exactly what I want - but Redis runs completely in-memory which is a massive drawback on the Raspberry Pi.

Any other ideas?

PS: A P2P network or a distributed file system with the given characteristics is fine for me as well.

like image 370
Golo Roden Avatar asked Nov 21 '12 18:11

Golo Roden


People also ask

How to install Oracle NoSQL database on Raspberry Pi?

To reconnect to the Raspberry Pi, right-click in the header of the PuTTY window and select Restart Session. Enter pi as the login name and raspberry as the password. Raspbian comes with an installed version of Java which is a prerequisite for installing Oracle NoSQL Database.

Which NoSQL database systems have versatile replication solutions?

Some of the most popular NoSQL database systems with versatile replication solutions are Couchbase and MongoDB. Let’s take a deeper look into each of these solutions and how they address these needs. For simplicity in comparison, let’s focus on replication for high availability and global deployments across multiple DCs.

Is there a NoSQL database with transaction support?

Few NOSQL databases offer transaction support, although FoundationDB is one. It has all the features you requested with the exception of running on a Raspberry Pi, as it requires 64-bit. Foundation only offers 64-bit linux build, tough luck for rasp pi. I didn't add the comment on Foundationdb.

What is a NoSQL system?

NoSQL systems: sharding, replication and consistency CREDITS: Jimmy Lin (University of Maryland) Data distribution —NoSQL systems: data distributed over large clusters —Aggregate is a natural unit to use for data distribution —Data distribution models: —Single server (is an option for some applications) —Multiple servers


2 Answers

SQLite should be considered too, if you ever liked SQL. Libraries are available for most of the languages and it's really easy to model your data for it.

like image 173
lnaie Avatar answered Oct 21 '22 05:10

lnaie


Apache Cassandra will work on the Raspberry Pi quite nicely. It should fill the bill of what you want to do. I've been experimenting with it on my blog, go here to see my results and setup information on my blog

However I noted you stated "transaction support" - are you sure of that?

Few NOSQL databases offer transaction support, although FoundationDB is one. It has all the features you requested with the exception of running on a Raspberry Pi, as it requires 64-bit.

like image 25
Andy Cobley Avatar answered Oct 21 '22 06:10

Andy Cobley