前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系

正文

1. 数据类型

HBase 只有简单的字符串类型,所有的类型都是交由用户自己处理,它只保存字符串。

而 RDBMS 有丰富的类型选择,如数值类型、字符串类型、时间类型等。

2. 数据操作

HBase 只有很简单的插入、査询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系,所以不能,也没有必要实现表和表之间的关联等操作。

而 RDBMS 通常有各种各样的函数、连接操作等,表与表之间的关系也有多神。

3. 存储模式

HBase 是基于列(簇)存储的,每个列都由几个文件保存,不同列的文件是分离的。

而 RDBMS 是基于表结构和行模式保存的。

4. 数据维护

确切地说, HBase 的更新操作不应该叫作更新,虽然一个主键或列对应新的版本,但它的旧版本仍然会保留、所以它实际上是插入了新的数据,而不是 RDBMS 中的替换修改。

5. 可伸缩性

因为 HBase 分布式数据库就是为了此目的而开发出来的,所以它能够轻松地増加或减少硬件数量,并且对错误的兼容性比较高。

而 RDBMS 通常需要增加中间层才能实现类似的功能。

6. 具体应用

RDBMS 具有 ACID 特性,拥有丰富的 SQL ,还有如下特点:

面向磁盘存储、带有索引结构、多线程访问、基于锁的同步访向机制、基于 log 记录的恢复机制等。

而类似 HBase 这些基于列模式的分布式数据库,更适应海量存储和互联网应用的需求,灵活的分布式架构可以使其利用廉价的硬件设备组建一个大的数据仓库。

上一篇 下一篇