@
目录
- 概述
- 概述
- 逻辑结构
- 物理存储结构
- 数据模型
- 定义
- 特点
- 数据模型
- 应用场景
- 基础架构
- 安装
- 前置条件
- 部署
- 启动服务
- 高可用
- Shell操作
- 基础操作
- 命令空间
- DDL
- DML
HBase 官网地址 https://hbase.apache.org/HBase支持对大数据进行随机、实时的读写访问 , 可以在商用硬件集群上托管非常大的表——数十亿行X数百万列 。Apache HBase是一个开源的、分布式的、版本化的、非关系数据库,模仿了谷歌开发的Bigtable结构化数据的分布式存储系统,与Bigtable利用了谷歌文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS的基础上提供了类似Bigtable的功能 。
HBase 官网文档 https://hbase.apache.org/book.html
HBase GitHub源码地址 https://github.com/apache/hbase
Apache HBase是以HDFS为数据存储分布式的、可伸缩的Hadoop NoSQL数据库 。最新版本为2.5.0
特点
- 可扩展性 。
- 读写严格一致 。
- 自动和可配置的表分片 。
- regionserver之间的自动故障转移支持 。
- 使用Apache HBase表支持Hadoop MapReduce作业 。
- 易于使用Java API进行客户端访问 。
- 块缓存和Bloom过滤器用于实时查询 。
- 通过服务器端过滤器下推查询谓词 。
- Thrift网关和一个支持XML、Protobuf和二进制数据编码选项的rest Web服务 。
- 可扩展的基于jruby (JIRB)的shell 。
- 支持通过Hadoop指标子模块导出指标 。
- HBase的设计理念依据Coogle 的BigTable论文,论文中说到Bigtable 是一个稀疏的 , 分布式的 , 持久的多维排序map 。
- 映射由行键,列键和时间戳索引;映射中的每一个值都是一个未解释的字节数组 。
- HBase数据模型和BigTable的对应关系如下
- HBase 使用于 BigTable非常相似的数据模型 , 用户将数据行存储在带标签的表中 , 数据行具有可排序的键和任意数量的列 。
- 该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列
逻辑结构HBase 可以用于存储多种结构的数据,以 JSON 为例:
{ "row_key1":{"personal_info":{"name":"zhangsan","city":"北京","phone":"131********"},"office_info":{"tel":"010-1111111","address":"atguigu"} }, "row_key11":{"personal_info":{"city":"上海","phone":"132********"},"office_info":{"tel":"010-1111111"} }, "row_key2":{ ......}逻辑结构存储数据稀疏,数据存储多维,不同的行具有不同的列 。数据存储整体有序 , 按照RowKey的字典序排列 , RowKey为Byte数组,示例如下:
文章插图
物理存储结构物理存储结构即为数据映射关系,而在概念视图的空单元格,底层实际根本不储存 。
文章插图
数据模型
- Name Space:命名空间,类似于关系型数据库的 database 概念,每个命名空间下有多个表 。HBase 两个自带的命名空间,分别是 hbase 和default,hbase 中存放的是 HBase 内置的表,default表是用户默认使用的命名空间 。
- Table:类似于关系型数据库的表概念 。不同的是,HBase 定义表时只需要声明列族即可,不需要声明具体的列 。因为数据存储时稀疏的,所有往 HBase 写入数据时,字段可以动态、按需指定 。因此和关系型数据库相比,HBase 能够轻松应对字段变更的场景 。
- 真我GT Neo2和大师探索版哪个好_怎么选择
- 这些不知道,别说你熟悉 Spring
- 07 ClickHouseClickHouse数据库引擎解析
- Java核心技术阅读笔记 java中的自动拆装箱与缓存
- 一文讲清楚 JVM Safe Point
- 使用EF Core更新与修改生产数据库
- Jupyter,Matplotlib,Pandas 【机器学习】利用 Python 进行数据分析的环境配置 Windows
- 咸鱼之王大乱斗怎么玩
- 原神大未来星地点位置在哪
- levis、lee、wrangler 世界三大牛仔品牌,李维斯是牛仔裤鼻祖