zoukankan      html  css  js  c++  java
  • 五、数据模型特殊属性

    数据模型特殊属性

        Rowkey、Column(列族和列)、Version 组合在一起称为 HBase 中的一个单元格。有可能会有很多单元格的 行和列 是相同的,要区分不同的单元格可以使用版本。

        如果有多个版本的写操作同时发起,HBase 都会保存
        可以发起包含版本的写操作
     
    Delete
        内部删除标记三种不同类型。 
        Delete                     : 删除列指定的版本。
        Delete Column     :删除列的所有版本
        Delete Family        :删除特定列族所有列。
        删除操作是建立一个墓碑标记。如果标记最新一个版本,那么所有版本都会被删除。
    现有版本的Detele限制
        删除标记将会将时间点之前所有的数据都建立墓碑,当还未发生主合并时,及时 PUT 一条时间点之前的数据  也是 GET 不到的。 只有在主合并发生后,才会恢复正常。所以正常的时间戳就不会发生该问题
        一个Cell有3个版本数据 T1,T2,T3 maxVersion设置位2, 当请求获取全部版本的时候 会返回两个 t2 和 t3。  如果将 t2 和 t3 删除 那么就会返回 t1 。 但是如果在删除之前发生了 major compaction 操作, t1 的值将会从磁盘上 被彻底删除, 结果是什么值都不会返回了。
     
    列的元数据
        对于 HBase 表中的列族,除了 KeyValue 实例以外,没有别的元数据描述,KeyValue 对象表示 HBase 最小单位 Cell
     
    HBase 连接查询
        1 写入 HBase 时候就已经做好连接。
        2 查询表并在应用层实现连接。
     
    HBase 是行级锁,永远不会出现数据不一致情况  比如put 1,1,1 ,然后 put 2 2 2 就一定是 1 1 1 或者 2 2 2  绝不会出现 1 2 1等情况
     
    HBase 自动分区
        HBase 中的一个表的数据会被分成很多的 Region, Region 可以动态扩展并且 HBase 保证 Region 的负载均衡 Region 实际上是行键排序后的按规则分割的连续的存储空间。 如果 Region 太大。会被动态拆分,相反,多个 Region 会合并成一个较大的 Region以减少 HDFS 上存储文件的数量。 这两个过程就是 HBase 的 split 和 compaction。 
        
    CAP 原理与最终一致性
        一致性(Consistency)        :所有节点在同一时间具有相同的数据。
        可用性(Availability)         : 保证每个请求不管成功或者失败都有相应。
        分区容忍性(Partition tolerance):系统中任意信息的丢失或失败不影响系统继续运作。
     
        分布式数据库系统也只能满足3项中的两项。而由于当前网络硬件问题一定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。因此只能在一致性可可用性之间进行权衡,大多数的分布式数据库系统选择牺牲一致性提升高可用性
     
        关系型数据库 Mysql、SQL Server、Postgres A,C
        非关系型数据库 Google BigTable:MongoDB、 HBase、Redis
     
    小结:
        HBase作为 NoSQL 数据库的一个代表。 更多的是为了扩展性和性能考虑,弱化了事务性学习的时候需要用一个全新的思维方式去认识HBase
     
     
     
     
     
    HBase 计数器  和 计数器代码实现  很简单的小实现
     
     
     
     
     
     
                                                                                                                            God has given me a gift. Only one. I am the most complete fighter in the world. My whole life, I have trained. I must prove I am worthy of someting.                                                             rocky_24
        





    God has given me a gift. Only one. I am the most complete fighter in the world. My whole life, I have trained. I must prove I am worthy of someting. rocky_24
  • 相关阅读:
    Java程序性能优化——让你的java程序更快、更稳定
    synchronized和ReentrantLock
    Java集合——ConcurrentHashMap
    SpringMVC流程
    计算机网络http,https,tcp,udp,get,post
    JVM类加载机制
    关于strcpy和memcpy
    C语言指针
    malloc函数详解
    进程和线程
  • 原文地址:https://www.cnblogs.com/rocky24/p/9da68d96526004310420590d4888805d.html
Copyright © 2011-2022 走看看