• 【HBase】与关系型数据库区别、行式/列式存储


    【HBase】与关系型数据库区别

    1.本质区别

    mysql:关系型数据库,行式存储,ACID,SQL,只能存储结构化数据

    事务的原子性(Atomicity):是指一个事务要么全部执行,要么不执行,也就是说一个事务不可能只执行了一半就停止了。比如你从取款机取钱,这个事务可以分成两个步骤:1划卡,2出钱。不可能划了卡,而钱却没出来。这两步必须同时完成,要么就不完成。
    事务的一致性(Consistency):是指事务的运行并不改变数据库中数据的一致性。例如,完整性约束了a+b=10,一个事务改变了a,那么b也应该随之改变。
    独立性(Isolation):事务的独立性也有称作隔离性,是指两个以上的事务不会出现交错执行的状态。因为这样可能会导致数据不一致。
    持久性(Durability):事务的持久性是指事务执行成功以后,该事务对数据库所作的更改便是持久的保存在数据库之中,不会无缘无故的回滚。
    

    HBase:非关系型数据库,列式存储,不符合ACID,not-only-sql,可存半结构化/非结构化数据。

    2.适用场景区别

    mysql:
    1.适用与事务型业务,例如银行取钱。
    2.适用于数据量小,mysql达500万条数据就到达性能瓶颈。
    HBase:

    HBase适合具有如下需求的应用:
    •	海量数据(TB、PB)
    •	高吞吐量
    •	需要在海量数据中实现高效的随机读取
    •	需要很好的性能伸缩能力
    •	能够同时处理结构化和非结构化的数据
    •	不需要完全拥有传统关系型数据库所具备的ACID特性
    
    

    行式、列式存储

    行式

    在这里插入图片描述
    空数据也占空间
    查询时,逐行扫描筛选出符合条件的数据

    列式

    在这里插入图片描述
    查询时,按列簇查找,效率更高。
    cell:rowkey+列簇+时间戳确定的单元

  • 相关阅读:
    POJ2299--树状数组求逆序数
    每周总结
    2016湖南省赛--A题--2016
    ACM暑期训练总结
    jQuery实现拖动布局并将排序结果保存到数据库
    TP3.2整合kindeditor
    TP3.2整合uplodify文件上传
    Sublime Text3 使用
    ThinkPHP AJAX分页及JS缓存的应用
    Thinkphp分页类使用
  • 原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807306.html
Copyright © 2020-2023  润新知