大数据体系之HBase的产生

一、关系型数据库的缺陷

     1)很难进行分布式部署,I/O瓶颈显著,依赖于强大的服务器。

     2)难以处理非结构化数据

二、CAP定律(推动关系型数据库向非关系型数据库转变)

     在任何分布式系统中,只可能满足一致性,可用性和分区容忍性三者中的两者,不可能全部满足。

三、什么是分区容忍性

    (一)分区:在一个分布式系统里,节点组成的网络本来应该是联通的,然而可能因为一些故障,使得有些节点之间不再联通,整个网络就分成了几块区域。数据就分散在这些不联通的区域。当你一个数据项只在一个节点中保存,那么分区出现之后,和这个节点不联通的部分就访问不到这个数据,这是分区不能容忍的。

   (二)提高分区容忍性的办法:将一个数据项复制到多个节点上,那么出现分区之后,这一项数据就可能分布到各个区里。

    (三)一致性问题:数据复制到多个节点,可能会导致多个节点上的数据不一致,。要保证节点数据一致,每次写操作都要等待全部节点写成功。而这样的等待又可能会带来可用性的问题。

     总的来说。数据存在的节点越多,分区容忍性就越高,但是复制更新的数据就越多,一致性就越难保证。s为了保证一致性,更新所有节点数据的时间就越长,可用性就会降低。

四、Hbase-强一致性数据库

    Hbase是强一致性的。因为基于Hadoop,所以Hbase的数据是以HDFS的file(Hfile)的形式保存。换句话说,默认情况下Hfile保存在三个不同节点上。

    思考:①既然有三个副本,如何保证Hbase的强一致性的?

             Hfile是已经持久化在硬盘上,所以Hfile是不能改变。一旦在某一个DataNode上生成一个Hfile后就会异步更新到其他两个DataNode,这3个Hfile就会保持一致。

              ②数据在不同更新,如何保证修改?          

                Hbase之所以是优先写数据库,是因为所有写操作默认先写入一个空的内存文件,该内存文件被写满后整体提交到HDFS.

       (四)、NoSQL(not only sql)的特点

              ①拓展性强

              ②并发性能好

             ③数据模型灵活

     

 

 

 

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值