4 ms·
MonoTable: Zero-admin, No SPOF, scalable NoSQL data-store in Ruby
- rb2k_ 15y agoI assume it's completely in memory?
- rbranson 15y agoI don't think so, just from quickly glancing at the source. The Ruby GC (at least in MRI) doesn't deal well with even moderately sized heaps (>500MB), so I imagine they are fairly dependent on the OS disk cache for keeping things in memory.
- waratuman 15y agoIn Ruby?
- freakinjoe 15y agoJRuby?
- bascule 15y agoFor speed
- timf 15y agoThe competition table is lacking, I think Riak hits all the points the author is aiming at: http://www.basho.com/products_architecture.php http://www.basho.com/products_architecture.php (I don't want to diss creation in general or an open source project in particular, but the presence of a "competition" table implies that this is going to fill a gap)
- freakinjoe 15y agothe fact that Riak underlying storage is plug-in based (bitcask, innodb, leveldb) makes it even greater.
- nirvana 15y agoThere's some other areas where Riak is significantly ahead, such as already having Map-Reduce (allowing the map and reduce functions to be in javascript, even), scaling up and down are both already implemented, and riak supports multiple backends, including in-memory databases, leveldb, bitcask and innostore. In a matter of days, Riak will also be getting secondary indexes, full text search fully integrated, and riak-pipe, a great way of building workflows. If these people want to be working in Ruby, there's Ripple-- a ruby library supporting Riak, and adding Ruby style functionality (I believe, I'm not too familiar with Ripple.) I think if you want to go your own way and build your own thing, that's fine, and good for you, if its' a learning exercise. But if you want to advance the state of the art, either do something different from the rest, or join an existing open source project that is further down the pike and help it go even further. I say that, of course, while myself I'm working on something I've been thinking of as "ruby on rails done right" (namely, a web platform where you write coffeescript for the server, and you have scalability and database built in via close integration with riak)... but I hope that I'm cutting some new ground. (namely, letting you make coffeescript run concurrently...)
- linuxhansl 15y agoWhat's the consistency model? I assume eventual consistent, if not then what the availability model? The description of distributed data store should specify the tradeoffs w.r.t. the CAP theorem.
- moe 15y agoThat's quite a mouthful for a project that doesn't even seem to have a working prototype. https://github.com/imikimi/monotable/blob/master/lib/monotable/router/server_client.rb https://github.com/imikimi/monotable/blob/master/lib/monotab...
- dolinsky 15y agoGenuinely asking this...is this a joke?
- fizx 15y agoClassic Dunning–Kruger effect.
- nirvana 15y agoI'm confused by mono table (which implies a single table) and how mono doesn't mean single point of failure. They talk about a cluster, and adding machines, so I guess mono table lives on multiple machines... but how? Is it replicated to every machine? (EG: every node in the cluster contains a complete set of the data?) IF so, this would mean that as you scale, the updates of writes to replicate the changes across the cluster could possibly become quite a problem, in terms of bandwidth and latency. I can imagine each node spending most of its time handling updates from other nodes. Also, unless you're locking the table on every node simultaneously (the thought of dealing with that gives me headaches) you're going to have consistency issues. I think their goals are excellent-- zero admin, no SPOF are really important features to me. If they've got a new architecture, then it could be a really important and innovative project. Would love to see an architectural description.
- rbranson 15y agoThat's just, like, your opinion, man.
- navyrain 15y agoI am a committer to this project, which is its infancy. We got some premature attention to our homepage, which was not clear on the specific use case we are seeking to solve with Monotable. We've updated the README to address most of the questions we received here and on reddit. https://github.com/imikimi/monotable https://github.com/imikimi/monotable . Thanks for all the feedback and questions.