HBase 1.3 发布,性能大幅提升

Posted AI前线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase 1.3 发布,性能大幅提升相关的知识,希望对你有一定的参考价值。

翻译|魏星
审校|刘志勇
Apache HBase 1.3.0版在2017年1月中旬正式发布了,新版本支持分层数据的压缩和多个方面的性能提升,像预写日志(WAL)、一个新的RPC机制,等等。HBase 1.3.0一共修复了1,700多个问题。

在一些像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 发布,性能大幅提升的主要内容,如果未能解决你的问题,请参考以下文章

安卓12预览版发布!性能大幅提升,想尝鲜的人已经按捺不住

Oracle:大幅提升查询性能

阿里的 Nacos 2.0 正式发布,性能大幅提升 10 倍!

Egret Engine5.0发布,率先支持WebAssembly性能大幅提升

Redis大幅性能提升之Batch批量读写

Vue 3.2 刚刚发布!新的单文件组件,响应式性能大幅提升