zoukankan      html  css  js  c++  java
  • 【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+列簇+时间戳确定的单元

  • 相关阅读:
    005. Asp.Net Routing与MVC 之三: 路由在MVC的使用
    004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action
    001. Asp.Net Routing与MVC 之(基础知识):URL
    002. Asp.Net Routing与MVC 之(基础知识):HttpModule 与 HttpHandler
    003. Asp.Net Routing与MVC 之一: 请求如何到达MVC
    Factory
    decorator
    Java 单例真的写对了么?
    Dubbo Jackson序列化使用说明
    使用JavaConfig方式配置dubbox
  • 原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807306.html
Copyright © 2011-2022 走看看