zoukankan      html  css  js  c++  java
  • Hbase-01-体系结构与数据模型概述

    1. 简介

    BigTable论文中称BigTable为"sparse,distributed, persistent multidimensional sorted map"可见BigTable本质上是一个Map结构数据库,HBase亦然,也是由一系列KV构成的。然而HBase这个Map系统却并不简单,有很多限定词——稀疏的、分布式的、持久性的、多维的以及排序的。

    • 多维:

          HBase中的Map与普通Map最大的不同在于,key是一个复合数据结构,由多维元素构成,包括rowkey、columnfamily、qualif ier、type以及timestamp。

    • 稀疏:

           稀疏性是HBase一个突出特点。整整一行仅有一列(people:author)有值,其他列都为空值。

    • 排序:

             构成HBase的KV在同一个文件中都是有序的,但规则并不是仅仅按照rowkey排序,而是按照KV中的key进行排序——先比较rowkey,rowkey小的排在前面;如果rowkey相同,再比较column,即column family:qualif ier,column小的排在前面;如果column还相同,再比较时间戳timestamp,即版本信息,timestamp大的排在前面。

    • 分布式:

             很容易理解,构成HBase的所有Map并不集中在某台机器上,而是分布在整个集群中。

    2. Hbase 体系结构

    Master-slave 结构

    Master

    Master主要职责:

    • 处理用户的各种管理请求,包括建表、修改表、权限操作、切分表、合并数据分片以及Compaction等。

    • 管理集群中所有RegionServer,包括RegionServer中Region的负载均衡、RegionServer的宕机恢复以及Region的迁移等。

    • 清理过期日志以及文件,Master会每隔一段时间检查HDFS中HLog是否过期、HFile是否已经被删除,并在过期之后将其删除。

    Zookeeper:

    临时节点是指只要创建znode的会话处于活动状态就存在的znode,然后在会话结束时删除znode。

    3. 数据模型

    行式存储

    • 数据一次存储和检索的时候操作一行,因此如果只需要一行中的某些数据,就可能读取不必要的数据

    • 易于读写记录

    • 适用于 OLTP 系统

    • 与面向列的数据存储相比,典型的压缩机制提供的效果较差

    • 在执行适用于整个数据集的操作时效率不高,因此聚合是一个昂贵的操作

    列式存储

    • 数据以列的形式存储和检索,因此,如果只需要一些数据,则只能读取相关数据。

    • 适用于OLTP系统

    列族式存储

    • 从概念上来说,列簇式存储介于行式存储和列式存储之间,可以通过不同的设计思路在行式存储和列式存储两者之间相互切换。

    参考:

    https://www.netwoven.com/2013/10/10/hbase-overview-of-architecture-and-data-model/

    https://www.dezyre.com/article/overview-of-hbase-architecture-and-its-components/295

    https://data-flair.training/blogs/hbase-architecture/

    https://www.edureka.co/blog/hbase-architecture/

    https://towardsdatascience.com/hbase-working-principle-a-part-of-hadoop-architecture-fbe0453a031b

    不要小瞧女程序员
  • 相关阅读:
    JS_判断浏览器.
    JQ_使用AJAX获取SINA股票代码
    Struts2中的OGNL详解
    CSS原理与CSS经验分享
    Struts 与 Velocity 的集成
    30条HTML代码编写指南 for入门者
    OGNL使用小结
    Visual C++ 6.0 插件系列介绍
    C语言编译过程总结详解
    Web.xml配置详解
  • 原文地址:https://www.cnblogs.com/shix0909/p/15032957.html
Copyright © 2011-2022 走看看