Hbase介绍,
目录
- 什么是Hbase
- Hbase与RDBMS的对比
- 名词解释
什么是Hbase
1.描述
HBase is the Hadoop database, a distributed, scalable, big data store.
Use Apache HBase when you need random, realtime read/write access to your Big Data.
This project's goal is the hosting of very large tables -- billions of rows X millions of columns
HBase是一种Hadoop数据库,经常被描述为一种稀疏的,分布式的,持久化的,多维有序映射,它基于行键、列键和时间戳建立索引,是一个可以随机访问的存储和检索数据的平台。HBase不限制存储的数据的种类,允许动态的、灵活的数据模型,不用SQL语言,也不强调数据之间的关系。HBase被设计成在一个服务器集群上运行,可以相应地横向扩展。
2.特点
适合稀疏矩阵的存储
列式存储
列扩展
行扩展
区别于RDBMS
Hbase与RDBMS的对比
| RDBMS | Hbase | |
|---|---|---|
| 数据布局 | 面向行、列 | 面向列族 |
| 事务 | 支持 | 仅限单行 |
| 索引 | 支持 | 仅限行健 |
| 数据量级别 | TB | PB |
| 查询语言 | SQL | get/put/scan |
| 读写吞吐量 | 每秒查询1000次 | 每秒百万级别查询 |
| 安全 | 认证(Authentication)、授权(Authorization) | 在集群、表、行以及Cell级别提供访问控制 |
| 链接(joins) | 规范化设计的表,使用链接检索数据 | 不支持显示的链接,通过行键和列族的链接查询数据 |
| 扩展 | 表可以通过对数据分区或者分片进行扩展 | 可以自动将数据分成小的片段 |
| schema | 以关系为中心(Relationship-Centeric)。确定数据的所有存储类型,确定数据元素之间的关系,创建表、列、外键维护关系 | 以数据为中心(Data-Centeric)。确定数据类型,确定数据的访问方式,创建数据布局和键 |
名词解释
| 名词 | 说明 |
|---|---|
| RowKey | 是Byte array,是表中每条记录的“主键”,方便快速查找,RowKey的设计非常重要 |
| Column Family | 列族(列簇),拥有一个名称(String),包含一个或多个相关列 |
| Column | 列,属于某一个Column Family,每条记录可以动态添加(qualifier) |
| Version Number | 类型为long,默认值是系统的时间戳,可由用户自定义 |
| Values(Cell) | Bety array,值 |
以上图为例,姓名是RowKey;基本信息、工作信息等是Column Family;年龄、性别等是Column;不同时间段的年龄会有多个值,都会被保存,默认是保存三个,就会有三个Version,默认是获取最新版本的值。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。