Hadoop(四)C版本有哪些具体应用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1265个文字,预计阅读时间需要6分钟。
HBase是一种NoSQL数据库,采用列式存储。其优势包括:仅查涉及列,列可作索引,高效;对某一列的聚合及便利;同一列的数据类型统一。
HbaseHbase是一种NoSql模式的数据库,采用了列式存储。而采用了列存储天然具备以下优势:
- 可只查涉及的列,且列可作为索引,相对高效
- 针对某一列的聚合及其方便
- 同一列的数据类型一致,方便压缩
同时由于列式存储将不同列分开存储,也造成了读取多列效率不高的问题
LSM Tree说到HBase,我们不得不说其采用的LSM Tree。我们都知道关系数据库中常用的B+Tree,叶子节点有序,但写入时可能存在大量随机写入,因此形成了其读快写慢的特点。
而HBase采用了LSM Tree,在读写之间寻找了平衡,损失了部分读取的性能,实现了快速的写入。LSM具体实现如下:
- 写入WAL日志中(防止数据丢失),同时数据写入内存中,内存中构建一个有顺序的树,HBase采用跳表结构。
- 随着内存中数据逐渐增大,内存中flush到磁盘,形成一个个小树。
- 磁盘中的小树存在数据冗余,且查询时遍历多个小树效率低,LSM定期合并,实现数据合并,而合并的时候,会对数据重新排序,优化读取性能。
本文共计1265个文字,预计阅读时间需要6分钟。
HBase是一种NoSQL数据库,采用列式存储。其优势包括:仅查涉及列,列可作索引,高效;对某一列的聚合及便利;同一列的数据类型统一。
HbaseHbase是一种NoSql模式的数据库,采用了列式存储。而采用了列存储天然具备以下优势:
- 可只查涉及的列,且列可作为索引,相对高效
- 针对某一列的聚合及其方便
- 同一列的数据类型一致,方便压缩
同时由于列式存储将不同列分开存储,也造成了读取多列效率不高的问题
LSM Tree说到HBase,我们不得不说其采用的LSM Tree。我们都知道关系数据库中常用的B+Tree,叶子节点有序,但写入时可能存在大量随机写入,因此形成了其读快写慢的特点。
而HBase采用了LSM Tree,在读写之间寻找了平衡,损失了部分读取的性能,实现了快速的写入。LSM具体实现如下:
- 写入WAL日志中(防止数据丢失),同时数据写入内存中,内存中构建一个有顺序的树,HBase采用跳表结构。
- 随着内存中数据逐渐增大,内存中flush到磁盘,形成一个个小树。
- 磁盘中的小树存在数据冗余,且查询时遍历多个小树效率低,LSM定期合并,实现数据合并,而合并的时候,会对数据重新排序,优化读取性能。

