栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hbase

Hbase

Hbase-大数据列式存储数据库 Hbase的介绍 概述
    Hbase是一个构建在HDFS上的,具有高可靠、高性能、面向列、可伸缩的分布式数据库。Hbase是Apache Hadoop生态系统中的重要一员,只要勇于海量结构化数据存储。Hbase将数据按照表、行和列进行存储。
与Google的关系
Hadoop生态Google生态描述
MapReduceMapReduce模仿了Google的MapReduce
HDFSGFS参考并简化了GFS关于并发的思路
HbaseBigTable可以理解为Hbase是开源的BigTable版本
ZookeeperChubbyChubby非开源,都是分布式推举算法的封装
特点
特点解释
一个表可以有数十亿行,上百万列
无模式每行都有一个可排序的逐渐和任意多个列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列
面向列面向列(族)的存储和权限控制,列(族)独立检索
稀疏性对于NULL的列,不占存储空间
数据多版本每个单元中可以有多个版本,默认情况版本号自动分配(用户也可以指定)
数据类型单一Hbase中的数据都是字节,用户自己;来解释数据类型
与RDBMS对比
HbaseRDBMS
数据库大小PBGB、TB
列数量、动态列支持数十亿行,上百万列,支持动态列列数量少,并需手动修改表结构
稀疏性NULL值不占空间NULL值占空间
数据多版本支持不支持
数据类型类型单一,都是字节数据类型多样
表联接不支持支持
索引仅支持rowkey索引支持主键及其他列的索引
自动分区之处,在表增长的时候,表会自动分裂需手动分区
事务的支持ACID只支持单个Row级别ACID全面支持Row和表
Hbase的数据模型 基本概念
    Row Key:
    主键。表内唯一Column Family:
    列族。包含一个或多个列Column:
    列。隶属于列族Version Number:
    版本号。每个RowKey内唯一
    默认值为系统的时间。用户可指定
    类型为LongValue(Cell):
    单元格。存储值的地方Hbase Schema可以有多个Table每个表可有多个Column FamilyHbase可以有动态列
逻辑视图

Hbase以表的形式存储数据。表由行和列组成。列划分为若干个列族。

逻辑存储与物理存储


空值不被存储。

Hbase的物理模型 物理视图
    每个Column Family存储在HDFS上单独的一个文件中。Key和Version Number在每个Column Family中均有一份。空值不会被保存。
物理存储
    Table中的所有行都是按照RowKey的字典序排序Table在行的方向上分隔为多个Region(区域)
    Region按大小分隔,每个表开始只有一个Region,苏子和数据增多,Region不断增大,到一定阈值之后,会分拆为两个等份的新的Region。Region是Hbase中分布式存储和负载均衡的最小单元,最小单元就表示不同的Hregion可以分布在不同的Region Server上。但一个Region不会拆分到多个Region Server上。Region虽然是分布式存储的最小单元,但并不是存储的最小单元。事实上,Region由一个或多个Store组成,每个Store保存一个Columns Family。每个Store又由一个memStore和0至多个StoreFile组成。
Hbase的基本架构
Hbase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由以下类型节点组成:HMaster、HRegionServer、ZooKeeper,底层数据存储在HDFS中,也涉及到HDFS的NameNode、DataNode等。

总体结构:

Hbase的核心组件
    Client:
    包含访问Hbase的接口,并维护cache来加快对Hbase的访问ZooKeeper:
    保证任何时候,急群众只有一个master
    存储所有Region的寻址入口
    实时监控Region server的上下线信息。并实时通知给Master
    存储Hbase的schema和table元数据Master
    为Region server分配region
    负责Region server的负载均衡
    发现时效的Refion server并重新分配其上的region
    管理用户对table的增删改查操作Region Server
    Region server维护region,处理对这些region的IO请求
    Region server负责切分在运行过程中变得过大的region
Hbase的访问方式
    Native Java APIHbase ShellThrift GatewayREST GatewayMapReduce使用Pig/Hive处理Hbase数据

具体可参考 Hbase访问方式之Java API

关于转载:

允许非商业用途转载,注明出处和链接即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/748079.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号