If you want it done right, do it yourself! Login and vote now.
By yrashk
via strokedb.com
Published: Mar 25 2008 / 20:36
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.
SaveShareSend
Tags: announcement, database, open source, ruby
Comments
vidarh replied ago:
I hesitated quite a bit before voting this up. It looks interesting, but the page is full of hyperbole and claims that seems to indicate a focus on very specific use-cases and/or a complete lack of understanding of what a RDBMS is for. Document based databases have their place, but they are only a replacement for RDBMS's in very specific circumstances, and the page would have benefited from not making blanket statements about how horrible RDBMS's are without qualifying it with exactly what needs they are aiming to meet.
oleganza replied ago:
StrokeDB is an attempt to solve several specific issues, briefly described on a website and mailing list (strokedb at googlegroups). Of course, they are very specific for the regular RDBMS applications. Otherwise there's no sense in a completely different approach.
There are several articles on the web, describing what's wrong with RDBMS in particular circumstances (e.g. http://whydoeseverythingsuck.com/2008/02/death-of-relational-database.html).
For me, StrokeDB is a way to build an extremely scalable and flexible database with some nice features like consistent object-oriented API and versioning built in.
For Yurii, it is an opportunity to roll out intereresting offline applications gracefully interacting with "mainframes" and other peers.
To be precise, document-oriented DB can be a RDBMS at the very same time: it can support SQL and all the normal forms. Relational model is just an "interface", not the implementation. In other words, we're tired of the particular RDBMS implementations like MySQL and PostgreSQL, not the Relational Theory itself (which is, by the way, the only consistent database theory out there). Think of it like we took a MySQL, replaced storage subsystem (for more scalable one), added several new features to it (flexible document format, revisions, metadocuments, uuids etc.) and made it embeddable right into ruby code.
We're going to roll out a wiki soon with more examples and documentation.
heartsjava replied ago:
Leave it to the Ruby folks to claim the established practice is broke and that we need to flush the baby out with the bath water so to speak
oleganza replied ago:
heartsjava: StrokeDB is not about throwing away the established practice. It is about *supporting* the established practice of tweaks & hacks around RDBMS strictness. We all do denormalize data here and there for a sake of simplicity and/or performance. StrokeDB just lets you do these tricks easier. And, of course, it lets you build good-old normalized ralational database (but it doesn't have any restrictions about it).
Se strokedb.com/faq.html
,heartsjava: StrokeDB is not about throwing away the established practice. It is about *supporting* the established practice of tweaks & hacks around RDBMS strictness. We all do denormalize data here and there for a sake of simplicity and/or performance. StrokeDB just lets you do these tricks easier. And, of course, it lets you build good-old normalized ralational database (but it doesn't have any restrictions about it).
Se strokedb.com/faq.html
Voters For This Link (14)
Voters Against This Link (1)