ArchSummit深圳站7折本周截止,点击立减2640元>> 了解详情
写点什么

HBase 1.3 发布,性能大幅提升

  • 2017 年 2 月 09 日
  • 本文字数:1091 字

    阅读完需:约 4 分钟

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 引擎做数据持久化和快速查询功能的软件项目的性能。

查看英文原文: Apache HBase 1.3 Ships with Multiple Performance Improvements


感谢刘志勇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017 年 2 月 09 日 18:005648
用户头像

发布了 62 篇内容, 共 18.4 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营 1 期第 10 周:模块分解 - 作业

灵霄

极客大学架构师训练营

智慧公安情报研判大数据系统分析平台搭建

t13823115967

智慧公安

即构低延迟直播产品L3,打造更优质的实时互动体验

ZEGO即构

工具词典:Inner Peace

lidaobing

随机漫步的傻瓜 28天写作

架构师训练营第五周”技术选型一“总结

随秋

极客大学架构师训练营

架构师训练营 1 期第 9 周:性能优化(三)

灵霄

极客大学架构师训练营

重磅盘点!2020年区块链行业十件大事

CECBC

区块链

如何给团队制定合理的季度绩效?

Alan

团队管理 绩效 七日更 28天写作

架构师训练营 1 期第 8 周:性能优化(二)- 作业

灵霄

极客大学架构师训练营

【Java并发编程】阿里最喜欢问的几道线程池的面试题?

java金融

Java 面试 线程池

架构师训练营 1 期第 11 周:安全稳定 - 作业

灵霄

极客大学架构师训练营

京东将上线社区团购“京喜拼拼”:社区团购是否是一次泡沫大战

石头IT视角

博睿数据支持腾讯云函数监控,Serverless时代已来临

博睿数据

Serverless APM 监控

像用户一样测试:不妨犯傻

QualityFocus

软件测试 体验 可用性 用户体验

架构师训练营 1 期第 13 周:数据应用(二) - 作业

灵霄

极客大学架构师训练营

面试官:我问的是Java内存模型,你回答堆栈方法区干嘛?

Java鱼仔

Java 程序员 JMM 多线程 并发

架构师训练营 1 期第 12 周:数据应用(一) - 作业

灵霄

极客大学架构师训练营

IDEA插件:多线程文件下载插件开发

Silently9527

Java 多线程 idea插件 文件传输

智慧警务平台搭建,大数据时代下的警务模式

t13823115967

大数据

AI技术在音视频领域的发展

anyRTC开发者

人工智能 ios android AI WebRTC

推陈出新,一步到位,智慧水务这么用效率翻倍

一只数据鲸鱼

物联网 数据采集 智慧城市 组态软件 智慧水务

【Java并发编程】面试必备之线程池

java金融

线程池

也谈“中年焦虑”

程序员架构进阶

方法论 职业规划 中年危机

简明设计模式—创建型

2970

设计模式 Go 语言

一代版本一代神:利用Docker在Win10系统极速体验Django3.1真实异步(Async)任务

刘悦的技术博客

django python3.x 异步 异步任务

Devil Fruit恶魔果实APP系统软件开发

系统开发

架构师训练营第六周总结

Geek_xq

太平金科助力“开局之战”顺利启动,博睿数据“A+N”一体化解决方案全力护航

博睿数据

APM npm AIOPS

网易有道 iOS二面经验分享

iOSer

ios 面试 网易

生产环境全链路压测建设历程 22:FAQ 1&2

数列科技杨德华

全链路压测 七日更

架构师训练营第六周作业

Geek_xq

头号云话题:进击的开源操作系统

头号云话题:进击的开源操作系统

HBase 1.3 发布,性能大幅提升_大数据_Alexandre Rodrigues_InfoQ精选文章