I’ve been wandering around the Apache site, and a few different blogs that discuss Hadoop, HBase, Hive, and so on. Apparently there are some commercial DBMS like implementations on top of and around Hadoop (such as Teradata Aster Data, and Greenplum). Anyhow, here is a bit more information on Data Vault and Hadoop. If you like these posts, please comment – let me know.
If you are serious about Hadoop and relational systems, you really should check out Teradata’s AsterData systems. These are commercial implementations of fully relational “metadata” and SQL parsers built on top of Hadoop and MapReduce systems. You might also be interested in GreenPlum systems. At the moment, I don’t know much about either of these, but they seem (from the marketing literature) to be viable solutions.
Anyhow, taking a look at the code layers that you might need to generate to support Data Vault on Hadoop directly seemed a bit “expensive” in the maintenance areas. While nice, and probably very direct – and thus (very fast if done properly), it can be horrible for maintenance or updates. Especially when the data model changes – leading back to Code changes and re-compiling.
So I started thinking, what might be available that can help with the implementation aspects of relational database systems on top of the Hadoop and MapReduce components? I started looking in to HBase, and Hive. I think there are a few more out there that are also available (anyone care to comment?).
The neat thing about Hive is it has a SQL metadata management layer with “relational like” structures. Which means, it’s more apt to work “similar” to that of a traditional RDBMS (only where the metadata and SQL access are concerned). The mechanics below that of course are all interpreted, and are all Hadoop & MapReduce code.
I would suggest you take a look at:
For more information on Hive, and how to use it’s capacities. I will be looking around a bit more to see what other SQL-Related projects there are for Hadoop and MapReduce. Eventually I will settle on one and get to installing and playing with it.
HBase seems interesting, but it is a column-based store, rather than a relationally based store.
There’s nothing wrong with choosing a column based store, but the way data models interact with it change.
Please post your comments & questions below.