随笔 - 402  文章 - 1 评论 - 20 阅读 - 113万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

1.HBase简介

  HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。

2.HBase(NoSQL)的数据模型

2.1 表(table),是存储管理数据的。
2.2 行键(row key),类似于MySQL中的主键。行键是HBase表天然自带的。
2.3 列族(column family),列的集合。
  HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
  HBase表中的数据,每个列族单独一个文件。
2.4 时间戳(timestamp),列(也称作标签、修饰符)的一个属性。
  行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。
  如果不指定时间戳或者版本,默认取最新的数据。
2.5 存储的数据都是字节数组。
2.6 表中的数据是按照行键的顺序物理存储的。

3.HBase的物理模型
3.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。
3.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。
  许多个region存储在region server(单独的物理机器)中的。
  这样,对表的操作转化为对多台region server的并行查询。

4.HBase的体系结构
4.1 HBase是主从式结构,HMaster、HRegionServer

  Zookeeper:

  (1)保证任何时候,集群中只有一个running master

  (2)存贮所有Region 的寻址入口

  (3)实时监控Region Server 的状态,将Region server 的上线和下线信息,实时通知给Master 存储Hbase 的schema,包括有哪些table,每个table 有哪些column family

  Master:

  (1)可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行

  (2)为Region server 分配region

  (3)负责region server 的负载均衡

  (4)发现失效的region server 并重新分配其上的region

5.HBase中有两张特殊的Table,-ROOT-和.META.

  (1).META.:记录了用户表的Region信息,.META.可以有多个regoin -

  (2)-ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region

  Zookeeper中记录了-ROOT-表的location

  Client访问用户数据之前需要首先访问zookeeper(Region 的寻址入口),然后访问-ROOT-表(.META.表),接着访问.META.表(Region信息),最后才能找到用户数据的位置去访问。

 

posted on   chamie  阅读(817)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示