4

HBase的部署架构和基础架构

 2 years ago
source link: https://zasy.github.io/2018/10/19/hbase/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

HBase的部署架构和基础架构

发表于 2018-10-19

| 阅读次数:

字数统计:

|

阅读时长 ≈

HBase的来源

海量数据与NoSQL

  1. 关系型数据库的极限

    • 并发的进行插入、编辑以及删除的操作,达到几十或者几百的并发时,单条数据的查询延时会达到分钟的级别
    • 深度优化后的性能依然是高并发系统的主要瓶颈
  2. CAP理论

    1. 分区容错性

    CAP原理指出三者只能兼顾2点

  3. NoSQL

    1. 放弃某些特性带来了非关系型数据库,对事务性的要求不严格
      • 有些只保证最终一致性
      • 有些数据库在部分宕机的情况下依然运行(同一份数据放到好几个地方)
      • Not Only SQL

HBase怎么来的

  1. Google的BigTable项目,作为Hadoop的一部分;
  2. 分布式的文件系统(HDFS)
  3. HBase采用Key/Value的存储,数据量增大很多,不会影响查询的效率
  4. 列式数据库,把不同的字段部分放到不同的机器上
  5. 带来的问题是,只是存储少量的数据也不会很快
  6. 当单表的数据量很大,并发很高,数据分析的需求很弱可以使用HBase
    1. 基本结构
      • MasterServer:负责维护表结构信息;
      • RegionServer:实际数据存储
      • 所以当MasterServer挂了之后依然可以查询数据,但是不能新增表了;
    2. 数据存储
      • 数据存储在HDFS上
      • ZooKeeper相当于管家的角色,管理所有的RegionServer的信息,包括具体的数据段存放在哪个RegionServer上
    3. 微观上的细节
      • Region是什么?
        1. 是一段数据的集合
        2. 不能跨服务器,一个RegionServer上有一个或者多个Region
        3. 数据量小的时候一个Region可以包含所有的数据,数据量大的时候会分Region
        4. Region是基于HDFS的,所有的数据的存取操作都调用了HDFS的客户端接口
      • RegionServer是什么?
        1. 是存放Region的容器,直观上是服务器上的一个服务
        2. ZooKeeper获取了RegionServer的地址后,会直接从这里获取数据
      • Master是什么?
        1. Master只负责各种打杂的工作,建表和删表、移动Region,合并等操作。共同特性是需要跨RegionServer。
    1. 最基本的存储单位是列,一个列或者多个列形成一行。HBase的列数据可以不完全的对齐,不同的列也可以存储在不同的机器上。
    2. 每行拥有唯一的Row key来标定这个行的唯一性,每个列有多个版本,多版本的值存储在单元格中。
    3. 若干列可以被归类为一个列族
    4. 行键是什么?
      • rowkey完全由用户指定的唯一的字符串,永远根据rowkey来排序,根据字典排序
      • 单元格是数据存储的最小单元,同一列的不同版本会存储在不同的单元格中
    5. 列族是什么?
      • 由若干列的数据可以组成列族
      • 一个表有几个列族是一开始就指定好的,表的很多属性都是指定在列族上,例如过期时间、数据块缓存以及是否压缩
      • 列的名称前面总带着它所属的列族
      • 相同的列族的会被尽可能的放在一台机器上
      • 设置列族的个数,官方建议越少越好,数据放在一台物理机上依然会加速数据的查询过程,列族太多会影响数据库的性能,而且定的太多也容易出现bug。
    6. 单元格是什么?

      • 多个版本之间存储在不同的单元格,使用版号来进行区分
      • 唯一的数据单元表达式 行键:列族:列:版本号,默认是最新的版本
    7. Region跟行的关系

      • 一个Region就是多个行的集合,Region按照Rowkey字典排序
    8. 与传统的关系型数据库的对比
      • 由于每一行的数据都是离散的
      • 优势可以随时的水平扩展,行的概念抽象起来,通过Rowkey概念链接起来
      • HBase的存储语句都被行列精准的定义出来,相当于每行数据的插入都需要的不停的插入十次。

Recommend

  • 85
    • www.10tiao.com 6 years ago
    • Cache

    hbase 的架构及设计

    (点击上方公众号,可快速关注) 来源:liweisnake , blog.csdn.net/liweisna...

  • 33
    • 微信 mp.weixin.qq.com 5 years ago
    • Cache

    HBase篇(3)-架构详解

  • 30
    • 微信 mp.weixin.qq.com 3 years ago
    • Cache

    HBase基础面试题总结

    点击关注上方“ 知了小巷 ”, 设为“置顶或星标”,第一时间送达干货。 ...

  • 17
    • 微信 mp.weixin.qq.com 3 years ago
    • Cache

    全网最通俗易懂的HBase架构及原理

    这是云祁的第  54   篇文章 大...

  • 7
    • www.cnblogs.com 3 years ago
    • Cache

    【赵强老师】HBase的体系架构

    一、什么是HBase? HBase是一个基于HDFS之上的分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“BigTable大表”,即:把所有的数据存入一张表中。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样...

  • 8

    摘要:HBase 是一个面向列的 NoSQL 数据库。 本文分享自华为云社区《

  • 8
    • www.cnblogs.com 2 years ago
    • Cache

    Hbase的安装及其架构

    Hbase的安装及其架构 1.启动Hadoop start-all.sh 验证http://master:50070 2、启动zookeeper...

  • 7

    HBase+Elasticsearch,百亿级数据中心架构设计实践-51CTO.COM HBase+Elasticsearch,百亿级数据中心架构设计实践 作者:中华石杉 2022-03-25 07:52:01 今天给大家分享的一个互联网公司的多业务系...

  • 2

    hi,大家好,我是大D。今天咱们继续深挖一下 HBase 的架构组成。 Hbase 作为 NoSQL 数据库的代表,属于三驾马车之一 BigTable 的对应实现,HBase 的出现很好地弥补了大数据快速查询能力的空缺。在前面咱们也有介绍过 HBase 的数据模型,感兴趣的小伙伴可以翻...

  • 8

    转载请注明出处:  1.Hbase数据特点 大:一个表可以有上亿行,上百万列。 面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。 稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK