4 ms·
I'm evaluating a move from CouchDB to another system purely as an easily sharded/replicated KV document store. Do you recommend Rethink for that specific use-ca
by mikegioia 11y ago
I'm evaluating a move from CouchDB to another system purely as an easily sharded/replicated KV document store. Do you recommend Rethink for that specific use-case or is it overkill? Your docs seem to convey that this isn't really in Rethink's wheelhouse (in that RDB is more suited for querying or real-time updating).
- coffeemug 11y agoRethinkDB can definitely act as a distributed key-value store (and a pretty good one). But I think the choice is highly dependent on your use-case and requirements. Could you go into a little more depth wrt your workload? (e.g. number of records, average record size, read/write ratio, expected ops/second, etc.)
- mikegioia 11y agoYea of course. We're basically talking about 10/90 write/read on JSON documents ~100kb in size with very low load, probably no more than 10-20 ops/second at peak. Records now are at 200,000 projected to grow 250k/year.
- coffeemug 11y agoThanks! I'd definitely give RethinkDB a try, I think you'd be pleasantly surprised at how nice it can be for this. You'll also find that you might want to run ad-hoc queries on JSON documents (e.g. for analytics/exploratory analysis, etc.) and having ReQL at your disposal will be great for that. IMO picking a KV store makes the most sense if you have insane performance requirements (e.g. millions of ops/second) where you need to squeeze every last drop of performance and the query layer gets in the way. (Also if you have any questions and don't want to share more info publicly, feel free to shoot me an email -- slava@rethinkdb.com)
- mikegioia 11y agoThanks, Slava I appreciate you taking the time here.
- tracker1 11y agoRethinkDB could definitely handle your load.. the advantage over CouchDB being you can do a bit more than just your value, and get indexing on other fields in your data structures. At your data load and growth, I'd be surprised if a small cluster couldn't handle your load for 8-10 years without issue... Since you're using JSON structures being able to query your data beyond keys is really nice... A document database is probably a more flexible option than a straight kv store. If you wanted to stay closer to key/value with nice clustering and scaling options, I might suggest cassandra. To be honest, that would be overkill as a relatively small RethinkDB cluster would likely handle your load for several years without issue.
- hendzen 11y agoFor traffic that low, you could use basically anything.
- jchrisa 11y agoIf you like the general style of CouchDB but want scale and availability that's been proven in mission critical user facing deployments for years, we just did a blog post about moving to Couchbase http://blog.couchbase.com/2015/august/moving-couch http://blog.couchbase.com/2015/august/moving-couch
- mikegioia 11y agoThat's funny, I just installed that over the weekend and was testing it out. It's really good but what sort of through me off was the high $/node licensing fee if you want the Enterprise edition. It basically starts at $5k/year/node and that's just too oppressive. Do you use the Community Edition and if so is it generally stable / suits your needs? I didn't read your article but I'll check it out tonight.
- jchrisa 11y agoI'm a cofounder of Couchbase. Almost all our code is Apache 2.0, and we make the Community builds available for everyone. Enterprise builds are free to use for a small test cluster. Unless you are a business where $5k/node looks reasonable to pay for peace of mind, you are probably fine with the Community Edition. A lot of the customers paying for Enterprise Edition are moving to Couchbase from Oracle, so they are paying less per node and running fewer nodes than they used to.
- mikegioia 11y agoAh, I apologize 'oppressive' isn't the right word. I really meant 'outside of our budget', but I'll certainly be test-driving the CE this month. Thanks again.
- WaltPurvis 11y agoAs far as I can tell the Community Edition lags far behind the Enterprise Edition in stability and improvements. The latest available Community Edition is v3.0.1, released in October 2014. Since then, there has been a v3.0.2 edition released in December 2014, and a v3.0.3 released in March 2015, both of which had "critical bug fixes" according to the release notes, plus a new version, 3.1.0, released in July 2015. None of these post-3.0.1 versions are available as a Community Edition, they're only available to Enterprise customers -- is that correct? The Couchbase web site says: "Bug fixes and new features are eventually integrated with the Community Edition (CE), but this typically takes several weeks." But from what I can tell it's not "several weeks" -- it's at least 10 months. Am I misunderstanding something?