博客
关于我
HBase基本概念
阅读量:576 次
发布时间:2019-03-11

本文共 1571 字,大约阅读时间需要 5 分钟。

HBase基本概念

1. HBase的逻辑实体

HBase的核心逻辑实体包括6个关键概念,这些概念构成了HBase的基础特性:

  • 表(Table):数据的组织单位。
  • 行(Row):表中数据按行存储,行键是唯一标识符。行键无数据类型,始终以字节数组(byte[])形式存储。
  • 列族(Column Family):行中的数据按列族分组,列族同时确定了数据的物理存储位置。列族的设计对系统性能至关重要。
  • 列限定符(Column Qualifier)(简称列):在列族中,通过列限定符定位数据。与传统数据库不同,HBase不需要提前定义列的模式(No SchemaDB)
  • 单元(Cell):由行键、列族和版本组成的四维坐标,唯一确定一个存储单元。单元存储的值也没有数据类型,始终以字节数组形式存储。
  • 时间版本(TimeStamps):允许每行数据保存多个版本,通过时间戳区分不同版本。默认情况下,HBase会保留三个版本。
  • HBase的数据模型与传统RDBMS中的二维坐标(行+列)不同,它采用四维坐标(行+列族+列+版本),实现了一个面向列的存储架构。HBase本质上是一个键值存储系统,主要用于处理非结构化或半结构化的数据。

    2. HBase的存储模型

    HBase的存储模型基于分布式和面向列的设计原则。以下是HBase的主要存储单位:

  • Region:表按行键水平划分的存储单元,类似于RDBMS中的分区。RegionServer是HBase分布的基本单元。
  • Store:每个列族对应一个Store。Region包含多个Store,因此Region需要处理多个列族的数据。
  • StoreFile:Store包括内存缓存(MemStore)和磁盘存储(StoreFile)。MemStore用于缓存新写入的数据,当内存满载时,数据会被刷写到StoreFile中。
  • HFile:HBase的数据存储文件格式,HFile通过Hadoop分布式文件系统(HDFS)进行写入和读取。HFile的设计使得HBase能够高效地管理大规模数据。
  • 3. HBase的功能组件

    HBase系统由多个组件协同工作,确保数据的高效存储和管理:

  • HBase Client:用户或应用程序通过客户端与HBase进行交互。Client通常会带有缓存(Cache)来提升读写性能。
  • Zookeeper:负责管理HBase集群中的RegionServer,确保集群中只有一个Master节点。Zookeeper还保存Region的地址信息,监控RegionServer的状态,并存储HBase的元数据。
  • Master:HBase的管理节点,负责分配Region、检测失效的RegionServer、以及管理用户对表的操作权限。
  • RegionServer:负责存储和管理Region数据。RegionServer需要处理Region内的读写请求,并能够将过大的Region切分成多个Region以优化性能。
  • HBase的特点

    HBase是一个分布式、面向列、NoSQL数据库,具备以下核心特点:

    1. 分布式存储:支持多个RegionServer协同工作,能够处理PB级的数据量。

    2. 面向列:数据按列存储和查询,适合处理结构化或半结构化数据。

    3. 无模式数据库:不需要预定义数据模式,可以动态添加列。

    HBase的适应场景

    HBase适用于以下场景:

  • 存储海量数据:适合处理PB级甚至更大的数据量。
  • 高写入需求:支持高频率的数据插入操作。
  • 大数据的高效随机访问:通过优化的存储架构,支持快速的随机读写操作。
  • 高扩展性:能够根据数据需求自动扩展。
  • 结构或半结构化数据:支持JSON、XML等非关系型数据的存储和查询。
  • 无需复杂的事务支持:适合不需要跨行事务或复杂join操作的场景。
  • 转载地址:http://nnmvz.baihongyu.com/

    你可能感兴趣的文章
    ntelliJ IDEA 报错:找不到包或者找不到符号
    查看>>
    NTFS文件权限管理实战
    查看>>
    ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
    查看>>
    ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
    查看>>
    ntp server 用法小结
    查看>>
    ntpdate 通过外网同步时间
    查看>>
    ntpdate同步配置文件调整详解
    查看>>
    NTPD使用/etc/ntp.conf配置时钟同步详解
    查看>>
    NTP及Chrony时间同步服务设置
    查看>>
    NTP服务器
    查看>>
    NTP配置
    查看>>
    NUC1077 Humble Numbers【数学计算+打表】
    查看>>
    NuGet Gallery 开源项目快速入门指南
    查看>>
    NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
    查看>>
    nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    查看>>
    Nuget~管理自己的包包
    查看>>
    NuGet学习笔记001---了解使用NuGet给net快速获取引用
    查看>>
    nullnullHuge Pages
    查看>>
    NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
    查看>>
    null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
    查看>>