RethinkDB: new documentation site, cookbook with examples, practical guides
rethinkdb.com
rethinkdb.com
I'm seeing some performance issues, and I'm definitely going to spend some time messing with my test data and optimizing it for Rethink. Right now, a couple of basic counting queries take ~1 second when the MySQL equivalent takes milliseconds. The other issue I'm having is that I simply did an import of existing data from MySQL that contains dates, which are treated as strings, so I'll need to convert the dates into a native format (integer based timestamps) before I can get some more performance numbers.
Also, RethinkDB 1.8 (shipping next week) will include native date support. You can follow the progress and discussion of the planned interface here: https://github.com/rethinkdb/rethinkdb/issues/977?source=cc
(I'm preparing to launch a Go application w/ RethinkDB up back using the [community] Go driver: https://github.com/christopherhesse/rethinkgo — couldn't be an easier DB to use without an ORM)
As bjg pointed out, you can track what we internally consider production-ready (when we hit 2.0) here: https://github.com/rethinkdb/rethinkdb/issues/1174 (although RethinkDB is already really good for doing real work, and we support all our users).
RethinkDB is not a good choice if you need full ACID support or strong schema enforcement — in this case you are better off using a relational database such as MySQL.
How is the JVM driver for RethinkDB going? Are there any ORMs that work well yet?
- kclay's Scala driver (rethink-scala): https://github.com/kclay/rethink-scala
- esycat's Scala driver (scala-rql): https://github.com/esycat/scala-rql
- dkhenry's Java driver (rethinkjava): https://github.com/dkhenry/rethinkjava
As far as ORMs go, there aren't any for Java that I'm aware of. ORMs for other languages can be found here: http://rethinkdb.com/docs/frameworks-and-libraries/. There are several ORMs for JavaScript, Python, and Ruby so far.
We would love contributions for other languages. Shoot me an email at mike [at] rethinkdb.com if you're interested in building an ORM or community driver.
r.table("posts").getAll(1, 2, 3 {index: 'author_id'}).
run(connection, function(err, result) {
if (err) throw err;
console.log(result);
})Do you plan to implement automatic re-election in case of master failure?
There is no precise ETA for now though. Feel free to comment on the github issue if you need it. We build our roadmap on the feedback we get from our users : )