RDBMS关系型数据库与HBase的对比

关系型数据库

结构:

  • * 数据库以表的形式存在
  • * 支持FAT、NTFS、EXT、文件系统
  • * 使用Commit log存储日志
  • * 参考系统是坐标系统
  • * 使用主键(PK)
  • * 支持分区
  • * 使用行、列、单元格

功能:

  • * 支持向上扩展
  • * 使用SQL查询
  • * 面向行,即每一行都是一个连续单元
  • * 数据总量依赖于服务器配置
  • * 具有ACID支持
  • * 适合结构化数据
  • * 传统关系型数据库一般都是中心化的
  • * 支持事务
  • * 支持Join

HBase

结构:

  • * 数据库以region的形式存在
  • * 支持HDFS文件系统
  • * 使用WAL(Write-Ahead Logs)存储日志
  • * 参考系统是Zookeeper
  • * 使用行键(row key)
  • * 支持分片
  • * 使用行、列、列族和单元格

功能:

  • * 支持向外扩展
  • * 使用API和MapReduce来访问HBase表数据
  • * 面向列,即每一列都是一个连续的单元
  • * 数据总量不依赖具体某台机器,而取决于机器数量
  • * HBase不支持ACID(Atomicity、Consistency、Isolation、Durability)
  • * 适合结构化数据和非结构化数据
  • * 一般都是分布式的
  • * HBase不支持事务
  • * 不支持Join
上一篇:C++STL vector详解(杂谈)


下一篇:HBase与传统关系数据库的对比分析