Hbase基础知识学习

HBase 基础知识学习笔记(从原理到实操)

关键词:HBase、NoSQL、列式存储、HDFS、Zookeeper

适用场景:

  • 海量数据存储
  • 实时随机读写
  • Hadoop 生态大数据系统

HBase 是 Apache 基于 Google BigTable 论文实现的分布式 NoSQL 数据库。


一、什么是 HBase?

Apache HBase 是一个构建在 HDFS 之上的分布式、面向列的 NoSQL 数据库,适合存储海量结构化或半结构化数据

HBase 的核心定位

  • ✔ 支持 PB 级数据
  • ✔ 支持 毫秒级随机读写
  • ✔ 强一致性(单行事务)
  • ✔ 与 Hadoop 生态高度集成

HBase ≠ Hive

  • Hive:离线分析(OLAP)
  • HBase:实时读写(OLTP / 实时查询)

二、HBase 在 Hadoop 生态中的位置

        应用层(Web / 实时服务)
                 │
              HBase
                 │
      HDFS + Zookeeper
                 │
             Linux 集群

组件关系说明

组件 作用
HDFS 底层数据存储
Zookeeper 集群协调、选主
HBase 提供 NoSQL 存储服务
MapReduce / Spark 批处理 / 计算

三、HBase 的数据模型(非常重要)

1 表(Table)

  • 类似关系型数据库的表
  • 没有固定列

2 行键(RowKey)

  • 唯一标识一行数据
  • 字典序排序
  • 决定数据分布(设计非常关键)

常见设计:

  • 用户ID + 时间戳
  • 反转时间戳避免热点

3 列族(Column Family)

  • HBase 中 唯一需要提前定义的结构
  • 一个表通常 1~3 个列族
  • 列族内数据物理存储在一起

示例:

info:name
info:age
log:login_time

4 列(Column Qualifier)

列族:列名

例如:

info:name

5 时间戳(Timestamp)

  • 每个 Cell 都带时间戳
  • 自动生成
  • 支持多版本数据

6 Cell(最小存储单元)

(RowKey, ColumnFamily:Qualifier, Timestamp) → Value

posted @ 2025-10-16 10:28  元始天尊123  阅读(7)  评论(0)    收藏  举报