当前位置: 首页 > news >正文

HBase学习:通俗易懂的实例解析

1. 数据模型:Excel表格类比

HBase的数据结构就像一个无限扩展的Excel表格:

  • 行键(Row Key):相当于Excel第一列的序号(如A001,A002),是唯一标识

  • 列族(Column Family):相当于Excel的工作表标签(如"基本信息"、"交易记录")

  • 列限定符(Column Qualifier):相当于每个工作表中的具体列(如"姓名"、"年龄")

  • 版本(Version):相当于Excel的"撤销历史",记录数据变更过程

例子:存储学生信息表

Row Key: S1001
基本信息:姓名 -> 张三
基本信息:年龄 -> 20
成绩记录:数学 -> 90 (2023-01-01)
成绩记录:数学 -> 85 (2023-06-01)

2. 存储架构:图书馆类比

HBase的存储架构就像大型图书馆:

  • Region:相当于图书馆的不同楼层(3楼科技类,4楼文学类)

  • RegionServer:相当于每层的管理员

  • HMaster:相当于图书馆总馆长

  • HDFS:相当于图书馆的书架和存储空间

例子:学生数据按学号范围分区

  • Region1: S0001-S5000 (1号管理员负责)

  • Region2: S5001-S9999 (2号管理员负责)

3. 读写流程:外卖订餐类比

  • 写数据:像下单外卖

    1. 客户(Client)下单(写入请求)

    2. 餐厅(HRegionServer)接单并记录到小票(WAL)

    3. 厨师(MemStore)开始备餐

    4. 备好的餐(数据)暂时放保温箱(MemStore)

    5. 保温箱满了就打包成便当(HFile)存入冰箱(HDFS)

  • 读数据:像取外卖

    1. 先看保温箱(MemStore)里有没有

    2. 没有再去冰箱(HFile)里找

    3. 把找到的菜品(数据)合并后返回

4. compaction:垃圾回收类比

就像小区的垃圾回收:

  • Minor Compaction:每天收家门口的垃圾(小文件合并)

  • Major Compaction:每月大扫除,彻底清理(删除标记数据)

例子:存储的学生成绩有多次更新

数学: 90 (版本3) ← 最新
数学: 85 (版本2)
数学: 80 (版本1) ← 被回收

5. Bloom Filter:快递柜验证码

就像快递柜的取件码:

  • 输入手机号(Bloom Filter检查)

  • 系统快速告诉你"可能有快递"(数据可能存在)

  • 但不会告诉你具体在哪个柜子(避免全表扫描)

例子:查询学号S1005是否存在,Bloom Filter快速判断

  • 返回"可能存在" → 继续精确查找

  • 返回"肯定不存在" → 直接结束查询

6. 行锁:超市储物柜类比

就像超市的电子储物柜:

  • 你存入物品(修改行数据)时会锁定该柜子(行锁)

  • 其他人必须等你用完(释放锁)才能使用

  • 防止多人同时修改造成数据混乱

例子:两个老师同时要修改S1001的成绩

  • 老师A先获得锁,完成修改

  • 老师B必须等待,直到老师A释放锁

7. 预写日志(WAL):飞机黑匣子

就像飞机的黑匣子:

  • 所有操作先记录到WAL(黑匣子)

  • 即使系统崩溃(空难)

  • 也能根据WAL恢复数据(事故分析)

例子:正在录入100个新学生数据时断电

  • 已完成的80条记录在WAL中

  • 重启后可以从WAL恢复这80条记录

相关文章:

  • AWS EKS 集群日志上报观测云实践
  • HTML(一)
  • 如何控制electron的应用在指定的分屏上打开[特殊字符]
  • MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
  • HTML 标签
  • [docker]镜像操作:关于docker pull、save、load一些疑惑解答
  • istio流量管理问题
  • day49python打卡
  • YoloV8改进策略:Block改进|FCM,特征互补映射模块|AAAI 2025|即插即用
  • PHP使用经纬度获取两个位置的距离以及范围查询
  • 高斯列主元消去法——python实现
  • 九、MySQL执行原理
  • vue3 daterange正则踩坑
  • 大疆上云API demo前端代码理解
  • 词法分析器
  • 13.10 LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析
  • 基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
  • 网站指纹识别
  • BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
  • 微波雷达水位在线监测装置:技术解析与应用价值
  • 网站开发综合实训总结/百度浏览器app下载
  • 做旅行社的都是在哪网站拿票/怎么做推广比较成功
  • 长沙门户网站建设/抖音十大搜索关键词
  • 网站cc攻击用什么来做/建站平台哪家好
  • 网站关键词做标签/广州网站seo
  • 内容营销的步骤/独立站seo建站系统