HBase 1.3 发布,性能大幅提升
Posted AI前线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase 1.3 发布,性能大幅提升相关的知识,希望对你有一定的参考价值。
在一些像OpenTSDB的项目中,HBase通常被直接用作时序应用或者通过项目本身用作时序应用。在时序应用中,数据常常按照抵达时间的先后顺序队列写入存储单元,查询数据经常发生在一个有限的时间回溯窗口内,这导致最新写入数据的查询操作比旧数据更频繁。
HBase 1.3.0版本支持分层压缩的特性正好适用于一些特定的应用场景——在极少数情况下,数据被删除或更新的时候——通常要更频繁地扫描最新的数据,而旧数据则较少被扫描。
使用这种新的压缩策略可以轻松记录文件的生存时间(time-to-live,TTL);当将现有存储文件压缩到单个较大的存储文件中时,过期的记录将被删除。
根据谷歌BigTable的建模法则,HBase基于NoSQL将数据划分成不同的区域,每个区域都分别被定义为关键空间的起始和结束行。HBase设置了区域服务器来管理多个区域,当一个区域变得过大时,它会被拆分成两个并且随机迁移给其他的区域服务器管理,以便在所有分布式节点之间实现负载均衡。
默认情况下每个区域服务器上都有一个预写日志(WAL),该区域上的所有操作都要写入这个唯一的预写日志(WAL)。而改进的多预写日志(WAL)支持更高性能的写入操作,这使得复制速度更快而同步写入的延迟更低。默认情况下,多预写日志(WAL)的这一特性提供了三个区域分组策略来分配预写日(WAL)志:每个区域的预写日志(WAL)都有一个“身份”标识,轮询调度算法保证每个区域映射的预写日志(WAL)都有其“边界”,区域中不同“命名空间”的表被映射到不同的预写日志(WAL)文件中。性能测试报告显示,预写日志(WAL)在纯SATA磁盘里运行的平均延时减少了20%;在SATA-SSD磁盘里运行的延时减少了40%。
新的RPC调度器基于CoDel算法,用于阻止可用IO无法满足过高请求频率引起的长连接队列。CoDel算法以可控的延迟来管理活动队列,它根据定义好的阈值来裁决队列中的最小延迟。一旦最小延迟超过阈值,该连接便会被丢弃以便处理其他更有利的最小延迟。
其他的改进还包括一个避免大量IO峰值的磁盘刷新吞吐量控制器。这些改进还有助于提高Apache Phoenix、OpenTSDB以及其他依赖HBase引擎做数据持久化和快速查询功能的软件项目的性能。
今日荐文
TensorFlow和Caffe、CNTK、MXNet等其他7种深度学习框架的对比
以上是关于HBase 1.3 发布,性能大幅提升的主要内容,如果未能解决你的问题,请参考以下文章
阿里的 Nacos 2.0 正式发布,性能大幅提升 10 倍!