I've been playing around with Rethink for a couple of days now, and I just can't get over how nice the admin web UI is. Scaling up machines is quick and easy, and it's pretty simple to resolve master/secondary issues when one of the servers goes down (or it's shut off).
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.
Keep us posted on the performance issues you experience-- the team hangs out on IRC (#rethinkdb on freenode) and are usually more than happy to help work through these problems. If you identify a specific query that isn't performant, please open an issue on Github as well (http://rethinkdb.com/docs/comparison-tables/).
Anyway timestamps are better. First reason is difference in implementations of "date"-formats in almost each database, and second reason - integers will always faster than strings or structures.
Awesome to see. The docs have been pretty good even prior to this update, but it's nice to know they get some love in an open-source project.
(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)
There are dozens of production projects built on top of RethinkDB. We're starting to work with customers to publish case studies about their infrastructures and applications.
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).
I've following this project for a few months now. Most of it really sounds to good to be true, so I waiting for someone to use it in a big application where reliability is important. Is there anyone using it in production for a big application? Would love to hear about it.
I guess it depends on what you mean by reliability - from the FAQ:
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.
No.. I am not talking about full ACID support. Hardly any of the new object stores like MongoDB guarantee that in all conditions. I am talking about being generally reliable to store data and fetch data for a relatively important application on production.
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.
The Scala driver has some ORM features and I've been throwing around the idea of creating a java only version of the driver.. I guess you could use it now but would run into some of Scala odd method naming when trying to access from from java.
Great work with the new docs!
I think there's a missing comma before the secondary index object argument in the cookbook at "Efficiently retrieving multiple documents by secondary index":
Has anyone used RethinkDB with Heroku? I know there isn't an official add-on, but I was wondering if anyone had made it work. If so, I'd be interested to hear of anyone's experience, good or bad.
As mglukhovsky has mentioned RethinkDB Cloud has a plugin in beta at the moment. If you would like to use/test it let me know at cam@rethinkdbcloud.com. We recently launched free shared instances at https://www.rethinkdbcloud.com/ for people to use.
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 : )
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.