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

【HBase 原理部署安装 01】

一、HBase依赖和整合的框架

依赖框架:Hadoop、Zookeeper

整合框架:Phoenix、Hive

二、HBase概念

1、定义:是以hdfs为数据存储的,一种分布式、可扩展的非关系型(NoSQL)数据库,和clickhouse一样同样以列式存储,存储的方式是以(K,V)的方式存储,最大的特点就是:大,可存储十亿行,百万列

2、数据模型

HBase的设计理念依据Google的BigTbable论文。HBase数据模型的关键在于稀疏的分布式的持久的多维 排序 map。其中映射map指代非关系型数据库的key-Value结构。

这几个关键词如何理解:

  • 稀疏的:对比关系型数据库(如mysql)的存储方式:表格存储,在底层存储的要求是比较高的,存储时对于表格的每一行每一列都需要留出一定的存储空间,留位置就会造成存储空间的浪费,如果存储百万列数据并且有一些空的列那么关系型数据库就会很浪费空间,如果用HBase这样的非关系型数据库,因为它是稀疏的所以空的列就可以不存,极大的节省了存储空间,这也反向论证了HBase存储大的特点
  • 分布式:存储海量的数据,必然是分布式存储
  • 持久的:存储数据时必然是持久的,如果单纯的存储在内存中那就和数据库的设计理念背道而驰
  • 多维:如果想hashmap这样的单维的kv形式存储,那对于数据库就过于单一了,多维的目的就是可以存储各种类型的数据
  • 排序:无序的数据查找时就会全表遍历,为了高效的所以是以有序的方式进行存储
  • map:映射,该映射由行键、列键和时间戳索引(即:key),映射中的每个值都是一个未解释(经过序列化)的字节数据(即:value)

最终HBase关于数据模型和BigTbale的对应关系如下:

  HBase使用与BigTbale非常相似的数据模型。用户将数据行存储在带标签的表中。数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列

3、Hbase逻辑结构

HBase可以用于存储多种结构的数据。

以JSON为例理解HBase的逻辑结构

{"row_key1": {"personal_info": {"name": "zhangsan","city": "北京","phone": "131********"},"office_info": {"tel": "010-1111551","address": "atguigu"}},"row_key11": {"personal_info": {"city": "上海","phone": "156********"},"office_info": {"tel": "010-1115561"}},"row_key2": { ......}
}

 存储数据稀疏,数据存储多维,不同的行具有不同的列。数据存储整体有序、按照RowKey的字典序排列,RowKey为Byte数组

 

http://www.hskmm.com/?act=detail&tid=14495

相关文章:

  • 打破数据壁垒,DMS Data Agent 开启智能分析之旅
  • Ruby IPAddr正则表达式拒绝服务漏洞分析与修复
  • 模型驱动的 AI Agent架构:亚马逊云科技的Strands框架技术深度解析
  • cache支持的软件操作
  • PHP 静态分析工具实战 PHPStan 和 Psalm 完全指南
  • tests-stats/regression.sh
  • 光隔离探头技术解析:高电压测量的安全革命​​
  • freertos.c解析 - 教程
  • 从缺陷管理到质量协作:现代Bug工具的范式升级
  • 【html组件】简易漫画阅读器
  • ubuntu安装mysql2
  • 高并发系统核心指标
  • 工程化知识管理新范式:DevOps驱动下的智能文档体系建设实践
  • 从零开始学Flink:数据转换的艺术
  • java创建线程池去实现某个任务(多线程)
  • 20250827_黔西南网信杯_丢失的数据
  • 敏捷已死?2025年项目管理软件支持的混合管理模式正成为新主流!
  • 螺旋矩阵-leetcode
  • 【第十一章】Python 调用 MySQL 全面指南:从基础到实践​ - 实践
  • 开源中国社区:AI驱动下的开发者生态革命
  • 日志清理脚本模板 - 一叶舟
  • 11.备库出现gap处理方法
  • [原创]《C#高级GDI+实战:从零开发一个流程图》第10章:鼠标拖动完成连线、拖动时实时显示半透明虚线连线效果、自定义连接点样式
  • 修改Abp中Auto API Controllers中 默认生成的 Put、Delete请求
  • 电阻-温度数据拟合工具(最小二乘法)
  • delphi clientdataset 中文过滤问题
  • 基于 systemd 的 Go 应用自动化部署完整指南
  • 马来西亚股票数据API对接文档
  • [OpenGL]相机环境
  • 指令流水线的影响因素