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.
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.