HBase and the RDBMS World
HBase and relational database technology (like Oracle, DB2, and MySQL to name just a few) really don’t compare all that well. Despite the cliché, it’s truly a case of comparing apples to oranges. HBase is a NoSQL technology.
BigTable, HBase’s Google forebear, was born out of a need to manage massive amounts of data in a seamless, scalable fashion. HBase is a direct implementation of BigTable providing the same scalability properties, reliability, fault recovery, a rich client ecosystem, and a simple yet powerful programming model.
The relational data model and the database systems that followed were built with different goals in mind. The relational model and accompanying structured query language (SQL) is a mathematical approach that enforces data integrity, defines how data is to be manipulated, provides a basis for efficient data storage and prevents update anomalies by way of the normalization process. Though HBase and the RDBMS have some commonalities, the design goals were different.
You may wonder why the examples center on mapping a relational table — the Customer Contact Information table — to an HBase table. The reason is two-fold:
The relational model is the most prevalent, so using that model for the sake of comparisons often helps professionals coming from the world of RDBMSs better grasp the HBase data model.
The innovations provided by BigTable and HBase are making this new NoSQL technology an attractive alternative for certain applications that don’t necessarily fit the RDBMS model. (The ability of HBase to scale automatically is alone a huge innovation for the world of database technology!)