4 ms·
Sounds like rethinkDB would be the answer to our prayers. How close is it to being "ready"?
by jonny_eh 14y ago
Sounds like rethinkDB would be the answer to our prayers. How close is it to being "ready"?
- cmircea 14y agoSeems RethinkDB is still relational. Meh. If you're using C#, I'd recommend RavenDB.
- nissimk 14y agoRethinkDB sounds like it's document oriented from their site: "RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn." Also not sure why relational == Meh. RthinkDB does sound promising though not ready for primetime. The following (critical) features are still in the development pipeline: Secondary indices, a db backup tool.
- mglukhovsky 14y agoDefinitely, we're leaving the production-ready tag off until we've built in some of these features. Secondary index support is ready to go, we'll be releasing v1.5 with it in a few days.
- nissimk 14y agoI read your site and your system sounds very promising as I said in my previous post. It seems like you've identified some of the key problems with earlier noSQL implementations and that you're trying to solve them. Schema free was always a feature I could understand but "no joins" always sounded like an anti-feature to me. The promise of consistency and automatic sharding / replication is very nice but I'll remain skeptical until I hear about some production implementations.
- cmircea 14y agoMy apologies, I thought RethinkDB was a relational database; the mention of joins gave me the thought, as I don't know of any other non-relational database that directly supports joins.
- monstrado 14y ago1. RethinkDB is a document orientated database, you store data very similarly to how you would in MongoDB / CouchDB. 2. Relational == Meh? Please elaborate, we're all waiting.
- cmircea 14y agoThe relational model is not suitable for what most people are using relational databases for. That's why there's a whole bunch of ORMs, with varying degrees of magic. It's also the reason some people were crazy enough to use relational DBs for key-value storage (eg. Reddit).
- mst 14y ago"is not suitable" is no more a concrete answer than "meh". Please try and give reasons rather than restating the assertion.
- cmircea 14y agohttp://ayende.com/blog/153026/embracing-ravendb http://ayende.com/blog/153026/embracing-ravendb The points in the blog post apply to most non-relational databases.
- AlisdairO 14y agoThat blog post is based on some pretty flawed understandings. The reason for normalisation (which I assume is what it's referring to) is not simply to improve write performance - indeed, it can make that slower too. It's because normalisation makes maintaining data integrity vastly easier. It can also improve performance, in as much as it improves the cacheability of your data by reducing its size. Further, when it comes to more complex data types, that's not a fundamental limitation of relational DBs - Postgres, for example, supports some quite rich datatypes. I have no doubt that document stores save you a bit of time in the early stages of a system. Not sure if I'd trust them to be reliable in the long run as your application-stored schema changes over time, though.
- mglukhovsky 14y agoMike @ RethinkDB here-- the document model is similar to MongoDB in that you store JSON documents, and there are no schemas, so it's not a relational database. Our query language (ReQL) does support a lot of SQL-like queries, such as group-by and JOINs, but there are no relations defined. It's also worth noting that a great team has sprung up to build a C# / .NET driver for RethinkDB (https://github.com/mfenniak/rethinkdb-net https://github.com/mfenniak/rethinkdb-net).
- cmircea 14y agoHi Mike! That's good to know, I'd like to give it a try, but only OS X and Linux seems to be supported.
- mglukhovsky 14y agoThat's right-- an enterprising soul is working on porting us to FreeBSD (https://github.com/rethinkdb/rethinkdb/pull/688 https://github.com/rethinkdb/rethinkdb/pull/688), but we are notably missing Windows support-- we hope to get to it after adding some more core features (secondary indexes, etc.)
- walshemj 14y agoInteresting will have to have a look. I built a tool to track rankings for part of Reed Elsevier and I used mogodb but in a hybrid form using mysql db for the fixed stuff and mongodb for the representation of the first 120 results for a given language,engine,locale tripple
- Finster 14y agoWhat makes you recommend RavenDB for C#? Just the .NET API? Honestly curious.
- jbigelow76 14y ago>> If you're using C#, I'd recommend RavenDB I would give anything to get back the time I spent developing my app using Raven and develop it with SQLServer instead. Ironically I feel so trapped by the schemalessness now that there is a not insignificant amount of data to port if I do need to make a significant schema change. DO NOT FEAR THE JOINS!
- smiler 14y agoWhat did you not like about raven?
- jdoliner 14y agoHi jonny_eh, We're currently winding down on release 1.5 which will include Secondary Indexes. After that the next release will be all about being production ready and having better performance. We're hoping to have that out 3-4 months from now. We'll be posting updates about the process via github twitter and our blog.
- coffeemug 14y agoslava@rethink here -- we're working with a small group of early customers (providing support, driving product direction, etc.) If you're interested in working together, shoot me an e-mail -- slava@rethinkdb.com