StrokeDB is an embeddable distributed document database written in Ruby. It is schema-free, it scales infinitely, it even tracks revisions and perfectly integrates with Ruby applications.StrokeDB is only 3 months old and offers already many interesting features, the basic ones for Distributed Databases:
- Flat address space of documents identified by UUIDs.
- JSON, schemaless document format.
- References to other documents with automatic eager loading on access.
- Documents revision control with diff/merge facilities built-in.
- A flexible object-oriented API.
- Simple search index over document slots.
- Possibility to write native code for very specific performance issues.
There's also a promise to port StrokeDB to thin client languages (JavaScript, ActionScript, etc.) to enable offline work with the data.
You can check out the StrokeDB code at GitHub and have a look at Yurii's short introduction to StrokeDB. While the authors are busy writing a clean API and adding new features, it will be interesting to see how the project evolves with maturity and later to have a look at benchmarks to check how it performs.