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.

Motivation

Relational databases are widespread and well-known. However, in RDBMS we constantly meet hard to solve issues: schema migrations, large table schema updates, continuous data sharding, partial replication.
We are trying to solve these issues with StrokeDB.

Check out this article on dumb databases and read/write consistency (September 20, 2007). It describes the main issues with RDBMS and clarifies our intentions. Actually, I’ve never seen it before today (March 24, 2008), but it is so-o true. It is a must-read for everyone interested in a StrokeDB.

Features

Current status

StrokeDB is still an immature software. It is only few months old and contains a clean and working code along with crazy experiments and API inconsistencies.

For now, you can use it as a replacement for SQLite, however it doesn’t support complex queries. Current version includes nice object-oriented API, revision control, simple general-purpose index, memory- and file-based storages, simple DRb interface, console and work-in-progress views.

You may track progress using GitHub, our primary repository hosting.

You may also want to track our roadmap by visiting our Lighthouse account

Slides

Slides from exception.org.ua conference (Kyiv, Ukraine, March 15, 2008) (14 Mb)

Euruko 2008 slides (Prague, Czech Republic, March 30, 2008) (12 Mb)

The code

StrokeDB source is stored in a Git repositories. Choose a public repository to clone from:

$ git clone git://github.com/yrashk/strokedb.git

Mirror on Gitorious:

$ git clone git://gitorious.org/strokedb/mainline.git strokedb

You can also grab a latest snapshot (from GitHub)

StrokeDB is licensed under terms of the most liberal MIT License. Feel free to use it and hack it the way you want, even in commercial applications.

Authors

Yurii Rashkovskii, rashkovskii.com

Oleg Andreev, oleganza.wordpress.com