Link Details

If you want it done right, do it yourself! Login and vote now.
Link 72566 thumbnail
User 280302 avatar

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.
  • 14
  • 1
  • 1731
  • 582

Comments

Add your comment
User 279649 avatar

vidarh replied ago:

1 votes Vote down Vote up Reply

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.

User 280349 avatar

oleganza replied ago:

1 votes Vote down Vote up Reply

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.

User 254335 avatar

heartsjava replied ago:

-1 votes Vote down Vote up Reply

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

User 280349 avatar

oleganza replied ago:

0 votes Vote down Vote up Reply

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

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.