RethinkDB Gets Acquired By the Cloud Native Compute Foundation; Joins the Linux Foundation (techcrunch.com) 21
An anonymous reader writes:The Cloud Native Compute Foundation (CNCF) today announced that it has acquired the RethinkDB copyright and assets, including its code, and contributed it to The Linux Foundation. RethinkDB, which had raised about $12.2 million in venture capital for its open-source database, went out of business in October 2016. The CNCF says it paid $25,000 to complete this transaction. The code will now be available under the Apache license.
No Thanks (Score:4, Funny)
I'll stick to Microsoft SQL Server. At least it doesn't cost $25K per transaction!
Re:No Thanks (Score:4, Funny)
I'll stick to Microsoft SQL Server. At least it doesn't cost $25K per transaction!
I know, even Oracle doesn't charge that much.
Slower than MongoDB, has joins (Score:4, Informative)
The whole pitch seems to be "Polling your database is slow; push in real-time!" They can make a query and then continue to give results when there are updates. I guess that's fine if you have a WebSockets service providing that, instead of just polling; on the other hand, that's rarely really a design constraint or an engineering problem--frequently, WebSockets are the wrong way to do something, and polling is the right way. For example: WebSockets to have a notification pop up when you get a new reply on a forum while idling on the forum would be wasted additional complexity versus just polling every 15 seconds or so and indexing on status.
Word on the net is this can be slower than MongoDB (although RethinkDB has joins...). Likewise, you could always set up a Redis server for caching, and use the publisher-subscriber model to accomplish the same thing.
I want to say there are already adequate alternatives out there, but it's silly. MongoDB is the document store you want. CouchDB, CouchBase, and others are slow (although CouchBase is much faster than CouchDB alone). MongoDB is easy to configure (which is good, because apparently people can't get as far as enabling security on MongoDB when that's a single-step process--but an explicit one, meaning if you don't do it it isn't there). MongoDB has built-in replication and sharding, and handles write-concerns that require journaling or replication to 50%+1 nodes. It's just fairly peerless in the space within which it operates.
It's the same way with PostgreSQL: it's performant, easy-to-configure, capable of handling enormous amounts of data, standards-compliant, featureful, and stable. PostgreSQL comes by default set to asynchronous updates in clusters (same guarantees on consistency and data safety as MongoDB Majority write-concern), but can be configured to a slower Synchronous mode. If you need a relational database rather than a document store, PostgreSQL will out-scale MS SQL Server and can keep pace with Oracle; the RDBMS space actually has a few decent competitors.
This contrasts with something like git, which is great and all, but wins on popularity for the most part; bzr and a few other DVCS are just as capable. In that space, git trounces svn and cvs largely because centralized VCS is vastly-inferior to DVCS. You want to use git because it will give you access to everything around you instead of leaving you on your own special little island.
Re: Slower than MongoDB, has joins (Score:1)
I think you are a smart guy who doesn't build a lot of complex systems.
Having used all of the solutions you discuss, the real advantages of rethinkdb was nothing like you think. Sure it was way simpler than mongodb to Install and run. It's performance was good enough... etc etc.
But it's real advantage was that it had a model that eliminated several parts of the stack. It was a DB, message queue, and rest interface all rolled into one. It let you speak Json anywhere. It made building performant featu
Re: (Score:1)
Re:Slower than MongoDB, has joins (Score:5, Informative)
As a former RethinkDB employee I am more than a little biased, but I don't think that you understand the competitive space around MongoDB. Everything you have sited as an advantage for MongoDB is done better by just about every one of their competitors (RethinkDB included). MongoDB's main advantage is that they were the first big on in the field, and no-one has been able to make something better enough to de-seat them. It is not enough to be better, you have to be noticeably better in order to de-seat a reigning competitor. Think of the phrase "no one gets fired for buying IBM".
And I also don't think you understand the cost of polling, especially for non-trivial (e.g.: not key-lookup) queries. While RethinkDB's `join` queries are not included in `changefeeds`, just about everything else is. So for example if you wanted to keep a leaderboard, say the top 10 scores in a game, you would have to re-compute that every time in most databases (at a minimum scan the index). With RethinkDB it automatically gets modified based on writes in the database, and sent to you. The efficiency improvement is truly huge. And since those queries can be fairly complicated (say: top 10 scores within the week), that gets very expensive with polling.
An example that is in usage right now from a major stock trader: their iOS app uses RethinkDB to get streaming stock-price updates. The app (indirectly through a server) just opens a changefeed on the list of stocks that you follow, and RethinkDB coordinates who needs to get what updates when they feed in the stream of changes of market prices. They don't have a ton of clients constantly polling in order to show them constantly changing feeds of numbers (some change every second, others not in hours), and they can push out changes as fast as they get them.
Re: (Score:2)
Everything you have sited as an advantage for MongoDB is done better by just about every one of their competitors (RethinkDB included).
Configuration takes about 10 minutes to figure out how to set up from scratch, as of 2.2 (although 2.4 is better), including getting a replica set working, setting up correct roles and access controls, and so forth. I still can't figure out how to make MySQL clusters actually work, mind you, so I'm not exactly the universal IT genius.
So for example if you wanted to keep a leaderboard, say the top 10 scores in a game, you would have to re-compute that every time in most databases (at a minimum scan the index). With RethinkDB it automatically gets modified based on writes in the database, and sent to you. The efficiency improvement is truly huge.
That can be true without being important. For example: running a service with compressed memory (zram, in particular) makes memory access when swapping a pain. When 50% o
Re: sited (Score:1)
Sorry, couldn't let that one go, it just hurt(ed) my eyes.
Re: (Score:2)
If you want a good document store, then Postgresql and Marten is amazing...