浅析Hbase区别于RDBMS

最近学习了大数据与人工智能课程,对自然语言,人工智能这块知识有了一些极为浅显的理解。在这里,我就向大家分享一下自己对HBase区别于RDBMS的理解。
第一 Hbase的概念
我先引用百度上的概念:HBase:非关系型数据库;分布式数据库;基于HDFS为最小存储单元,属于文件存储。列存储。(关系型数据库属于 行存储)
但要搞清Hbase究竟是什么,我们要熟悉两个概念:面向行存储和面向列存储。面向行存储,我们要区别的RDBMS就是这种类型的,面向行存储的数据库主要适合于事务性要求严格地方,或者说面向行存储的存储系统适合OLTP,但是根据CAP理论,传统的RDBMS,为了实现强一致性,通过严格的ACID事务来进行同步,这就造成了系统的可用性和伸缩性方面大大折扣。而目前的很多NoSQL 产 品,包括Hbase,它们都是一种最终一致性的系统,它们为了高的可用性牺牲了一部分一致性,这就为面向列存储,比如Hbase,Casandra,Bigtable都属于面向列存储的分布式存储系统。看到这里,应该有了大概的理解,我再总结 一下:
Hbase是一个面向列存储的分布式存储系统,它的优点在于可以实现高性能的并发读写操作,同时Hbase还会对数据进行透明的切分,这样就使得存储本身具有了水平伸缩性,但同时牺牲一部分一致性。
第二 数据模型TOC
1,Hbase是无模式的,没有固定的列,只定义列簇.不符合第一范式。列族包含个数可动态增加的列。
2,唯一行关键字
3,没有明确的列名和类型
第三 语义
Hbase支持单行批量操作的事务性,这也大大提高使用的便利
第四 实现
1,原生的并行框架
2,基于关键字字典排序的统一表格。使用相对方便
第五 操作方法
1 仅能通过主键(row key)和主键的range来检索数据
2,单一表格,无Join操作
第六 浅析Hbase相对于RDBMS的优缺点
优点:
1 列的可以动态增加,并且列为空就不存储数据,节省存储空间.
2 Hbase自动切分数据,使得数据存储自动具有水平scalability.
3 Hbase可以提供高并发读写操作的支持
缺点:
1 不能支持条件查询,只支持按照Row key来查询.
2 暂时不能支持Master server的故障切换,当Master宕机后,整个存储系统就会挂掉.
[1]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
[2]: https://mermaidjs.github.io/
[3]: https://mermaidjs.github.io/
[4]: http://adrai.github.io/flowchart.js/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值