1. HBase简介
- 官方网站
- 官方文档
- 高可靠, 高性能, 面向列,可伸缩,实时读写的分布式数据库
- 利用HDFS作为其文件存储系统, 支持MapReduce程序读取数据
- 支持非结构化数据和半结构化数据, 当然也支持结构化数据
- 用作业务数据
- 常用关键字说明:
- RowKey: 数据唯一标识, 按字典排序
- Column Family: 列族, 多个列的集合, 最多不超过3个
- Timestamp: 时间戳, 支持多版本数据同时存在
- 应用场景及特点
- 海量数据单表可以有百亿行, 百万列, mysql的列不超过30个
- 准实时查询
- 应用场景: 交通, 金融, 电商, 电信
- 特点:
- 面向列: HBase是面向列的存储和权限控制, 可以动态增加列, 并支持独立检索.列式存储, 其数据在表中是按照某列存储的, 这样在查询只需要少数几个字段的时候, 能大大减少读取的数据量.
- 多版本:Hbase每一个列的数据存储有多个version
- 稀疏性: 为空的列并不占用存储空间,表可以设计的非常稀疏
- 高扩展性: 底层依赖于HDFS, 动态添加DataNode即可
- 高可靠性: 底层依赖于HDFS, 备份策略比较完善.
- 高性能: 底层的LSM数据结构和Rowkey有序排列等架构上的独特设计, 使得HBase具有非常高的写入性能. region切片, 主键索引和缓存机制,使得HBase在海量数据下具备一定的随机读取性能, 该性能针对Rowkey的查询能够到达毫秒级别.
2. HBase的安装
- 待补充