Home > database >  The difference between the hbase and RDBMS
The difference between the hbase and RDBMS

Time:09-22

HBASE区别于RDBMS: 首先,HBase是一个分布式的,面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统",就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力,HBase是Apache的Hadoop项目的子项目,HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,另一个不同的是HBase基于列的而不是基于行的模式,RDBMS是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是RDBMS ,它通过数据,关系和对数据的约束三者组成的数据模型来存放和管理数据,然而HBASe有着一些区别,从数据模型上来说,hbase最基本的单位是列(column),一列或者多列组成一行(row),并且由唯一的行键(row key)来确定存储,一个表中有很多行,每一列可能有多个版本,在每一个单元格(Cell)中存储了不同的值,HBase的行与行之间是有序的,按照row key的字典序进行排序,行键是唯一的,在一个表里只出现一次,否则就是在更新同一行,行键可以是任意的字节数组,同一个列族里qualifier的名称应该唯一,否则就是在更新同一列,列的数量没有限制,可以有数百万个,列值也没有类型和长度限定,从语义上来说,hbase行数据的存取操作是原子的,可以读取任意数目的列,因此它支持单行批量操作的事务性,从功能的实现上来说,hbase采用原生的并行架构, 如果应用程序对性能非常关注,通常的做法是把小规模的随机读取操作合并并排序,之后按顺序批量读取, 这样就避免了在文件中前后来回的移动读取位置,除此之外,它是一种给予关键字字典排序的统一表格,有一定的记忆功能,能在查找过程中更快的找到所需要的, 从操作方法上来说,hbase通过单个 Row Key 访问,以及通过 Row Key 的 range 全表扫描,Row Key 可以使任意字符串(最大长度是64KB,实际应用中长度一般为 10 ~ 100bytes),在HBase 内部,Row Key 保存为字节数组,除此之外,hbase没有jion操作,
  • Related