首页 > Hadoop > Hadoop Hbase vs Oracle的区别,2个数据库的优缺点!
2014
05-05

Hadoop Hbase vs Oracle的区别,2个数据库的优缺点!

Hbase作为Hadoop下的一个子项目,目前发展比较强大,和传统的关系型数据库oracle来比,两者各有优缺点,我们先看一个简单的表格。

                        Hbase                        Oracle
适合大数据分析,OLAP 适合OLAP,OLTP
列式数据库,nosql数据库 行式数据库,关系型数据库
数据类型只有单一的字符型 多种数据类型
适合按照时间排序top n查询 适合复杂查询,多表关联
瓶颈在硬盘传输速度 瓶颈在硬盘寻道时间
数据存储方式:略
LSM索引 Btree索引等
数据维护:比如更新,只是按照key值插入新的记录,旧版本还在,会在storefile合并过程中进行删除 数据维护:增删查改非常方便,直接修改
  • 以上简单罗列了Hbase和Oracle两者的区别,还有其他更细节的地方这里就没有描述,可以从上面的对比看出,两者完全应用于不同个场景。
  • 在Hbase架构中,由于底层的HDFS不支持追加,更新。所以在Hbase中,所有的操作都是写入,写操作都是先写入Memstore内存中,当达到阀值时,才穷flashcache进程写入storefile,每次写入都会形成一个新的storefile,当需要更新,删除的时候,根据key值按照时间戳插入一个新的记录,老版本记录依旧存在,可以通过时间戳查询老版本的记录,当storefile达到一定的阀值,系统会进行合并,合并过程中会进行版本合并和删除工作,形成更大的storefile。

Oracle在插入,写操作的时候,一般情况下也会先写入内存,然后由DBWR进程调度写入到数据文件,如果在插入的时候使用append追加,则数据不会通过SGA,直接追加到数据文件,在Hbase中没有此功能。

关于Hbase和Oracle的架构,请参考本博客www.savedba.com其他文章,这里就不一一阐述了。

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL