4 ms·
They really are that different, and I hear 10gen is hiring. Increase the peace. - Lil' B
by benblack 15y ago
They really are that different, and I hear 10gen is hiring. Increase the peace.
- Lil' B
- haberman 15y agoThat's deep man, but I posed an actual question. BigTable (which I use daily and have extensive experience with) offers atomic and transactional updates at the row level. It uses Paxos to guarantee that at most one process at a time owns each row and can mutate it. That process keeps a sequential log that imposes an absolute order over updates to that row. So it appears to me that despite being a NoSQL database, BigTable rows offer both ACID and the "C" of CAP. In fact, I bet it would be possible to implement a MySQL backend that uses a BigTable row as its storage. I get strlen's point that C != C (it's more analogous to A/I), but my real point is that NoSQL (at least in the case of BigTable) doesn't appear to be fundamentally different than SQL in the offered guarantees, but rather in the granularity at which those guarantees are offered. NoSQL just takes the traditional one-single-ACID-entity model (a SQL database) and breaks it apart into lots of little ACID entities called rows/keys/documents/etc. CAP of course applies to both SQL and NoSQL equally.
- mmalone 15y agoBigTable enforces integrity constraints defined by a schema on a per-row basis? This is interesting news. Why hasn't Google included this information in any of the published materials describing the system? - Forever Malone
- haberman 15y agoWhat about this story is inspiring people to write smarmy comments and sign them with silly pseudonyms? Bigtable itself doesn't provide a schema or constraints, but it provides primitives that would allow you to implement them AFAICS. That's why I mentioned the idea of implementing a MySQL backend that uses BigTable as its storage -- MySQL would contain the schema and constraint logic, BigTable would provide the sequentially-consistent data storage.
- benblack 15y agoI was not aware that BigTable worked that way, but it doesn't change my original point about "C != C". That a given NoSQL system is architected for both does not imply that such a design is always desirable or representative of the NoSQL database space. It is not and it is not. Thank you for your kind and compassionate suggestions about signing comments. - Lil' B
- haberman 15y agops. no need to sign your comments here: http://ycombinator.com/newsguidelines.html http://ycombinator.com/newsguidelines.html