5 ms·
If you're comparing this to your riak, redis, tokyo cabinet, ... database than most likely. With HBase, one of it's bread and butter operations is the start an
by monstrado 13y ago
If you're comparing this to your riak, redis, tokyo cabinet, ... database than most likely.
With HBase, one of it's bread and butter operations is the start and stop row scan (otherwise known as a range scan). The only thing equivalent I know of in MySQL is using windowing functions, and even then I don't think that's an appropriate comparison.
I hear you though, most people equate NoSQL to some sort of KeyValue store and that's it.
- duaneb 13y agoHow are multi-row transactions these days? That was the largest problem when I looked last... A data store does not a database make.
- monstrado 13y agoI don't think that's something they are trying to solve right now. Although HBase guarantees write consistency, I think http://research.google.com/pubs/pub36726.html http://research.google.com/pubs/pub36726.html is the closest paper on how to go about it, but I could be wrong. Like you mentioned, a lot of people use HBase as a data-store, it's incredibly good at that.
- duaneb 13y ago> Like you mentioned, a lot of people use HBase as a data-store, it's incredibly good at that. This is exactly what confuses me about NoSQL. It's not really comparable to relational databases on the CA[P] spectrum.
- monstrado 13y agoHBase doesn't claim to be some NoSQL database or equivalent to a relational database, anyone who thinks otherwise hasn't actually read into HBase. Just look at HBase's website which describe it exactly as > Apache HBase is the Hadoop database, a distributed, scalable, big data store.
- duaneb 13y agoI mean, I understand this, but plenty of people identify it as NoSQL. I'm sure the people on HBase are intelligent enough to understand it's a meaningless phrase that would make them look silly. EDIT: By which I mean, "NoSQL" doesn't even make sense as an approach by name. ACID relational databases and high availability data stores both have their places so evangelizing on either side is just silly. Though I would like to point people toward http://research.google.com/pubs/pub38125.html http://research.google.com/pubs/pub38125.html.
- monstrado 13y agoTrue, but there's no way to avoid people interpreting NoSQL as a relational database alternative. To your point regarding Google's F1, try looking at Impala (https://github.com/cloudera/impala https://github.com/cloudera/impala)...
- duaneb 13y agoIt's quite interesting to compare the two approaches, thanks for the tip. I mentioned it not because of the SQL but because of its unusual construction: it's a relational database stored on top of a (admittedly ACID) NoSQL (it actually does have a sql engine) key-value store: it's a full-blown relational database system where you don't have to worry about sharding. I think Impala also has a great approach to this, but I'd say it's far more similar to Dremel in that it's structurally still Key-Value. This, again, could be good or bad: probably easier to develop with but harder for the query planner to plan without the hints provided by a table-and-index based system. (i.e. possible—that would basically be F1—but you'd have to do it by hand).
- threeseed 13y agoI don't know about HBase but for Cassandra it should be available in the next minor update. Single row transactions have just recently been added: http://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0 http://www.datastax.com/dev/blog/lightweight-transactions-in...