Hbase作为Hadoop下的一个子项目,目前发展比较强大,和传统的关系型数据库oracle来比,两者各有优缺点,我们先看一个简单的表格。数据维护
Hbase作为Hadoop下的一个子项目,目前发展比较强大,和传统的关系型数据库oracle来比,两者各有优缺点,我们先看一个简单的表格。
数据维护:比如更新,只是按照key值插入新的记录,旧版本还在,会在storefile合并过程中进行删除数据维护:增删查改非常方便,直接修改
以上简单罗列了Hbase和Oracle两者的区别,还有其他更细节的地方这里就没有描述,可以从上面的对比看出,两者完全应用于不同个场景。
在Hbase架构中,由于底层的HDFS不支持追加,更新。所以在Hbase中,所有的操作都是写入,写操作都是先写入Memstore内存中,当达到阀值时,才穷flashcache进程写入storefile,每次写入都会形成一个新的storefile,当需要更新,删除的时候,根据key值按照时间戳插入一个新的记录,老版本记录依旧存在,可以通过时间戳查询老版本的记录,当storefile达到一定的阀值,系统会进行合并,合并过程中会进行版本合并和删除工作,形成更大的storefile。
Oracle在插入,写操作的时候,一般情况下也会先写入内存,然后由DBWR进程调度写入到数据文件,如果在插入的时候使用append追加,则数据不会通过SGA,直接追加到数据文件,在Hbase中没有此功能。
感谢您的观看,如有不足之处,欢迎批评指正。
在此我向大家推荐一个大数据开发交流圈:
658558542 (☛点击即可加入群聊)
里面整理了一大份学习资料,全都是些干货,包括大数据技术入门,大数据离线处理、数据实时处理、Hadoop 、Spark、Flink、推荐系统算法以及源码解析等,送给每一位大数据小伙伴,让自学更轻松。这里不止是小白聚集地,还有大牛在线解答!欢迎初学和进阶中的小伙伴一起进群学习交流,共同进步!
最后祝福所有遇到瓶颈的大数据程序员们突破自己,祝福大家在往后的工作与面试中一切顺利。
网友评论