典名科技本文主要介绍RDBMS与
HBase的对比,主要从结构和功能进行对比,相信大家更能清楚RDBMS与HBase之间的区别。
1、关系型数据库
结构:
*数据库以表的形式存在
*支持FAT、NTFS、EXT、文件系统
*使用Commit?log存储日志
*参考系统是坐标系统
*使用主键(PK)
*支持分区
*使用行、列、单元格
功能:
*支持向上扩展
*使用SQL查询
*面向行,即每一行都是一个连续单元
*数据总量依赖于服务器配置
*具有ACID支持
*适合结构化数据
*传统关系型数据库一般都是中心化的
*支持事务
*支持Join
2、HBase
结构:
*数据库以region的形式存在
*支持HDFS文件系统
*使用WAL(Write-Ahead Logs)存储日志
*参考系统是Zookeeper
*使用行键(row key)
*支持分片
*使用行、列、列族和单元格
功能:
*支持向外扩展
*使用API和MapReduce来访问HBase表数据
*面向列,即每一列都是一个连续的单元
*数据总量不依赖具体某台机器,而取决于机器数量
*不支持ACID(Atomicity、Consistency、Isolation、Durability)
*适合结构化数据和非结构化数据
*一般都是分布式的
*不支持事务
*不支持Join