云数据库HBase版的write写入优化-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

云数据库HBase版的write写入优化

云栖大讲堂 2017-11-02 17:12:13 1469
HBase基于LSM模式,写是写HLOG及Memory的,也就是基本没有随机的IO,所以在写链路上性能高校还比较平稳。很多时候,写都是用可靠性来换取性能。

客户端优化



批量写


也是为了减少rpc的次数 HTable.put(List<Put>)


Auto Flush


autoflush=false可以提升几倍的写性能,但是还是要注意,直到数据超过2M(hbase.client.write.buffer决定)或用户执行了hbase.flushcommits()时才向regionserver提交请求。需要注意并不是写到了远端。
HTable.setWriteBufferSize(writeBufferSize) 可以设置buffer的大小

服务端优化



WAL Flag


不写WAL可以成倍提升性能,因为不需要写HLog,减少3次IO,写MemStore是内存操作
是以数据可靠性为代价的,在数据导入时,可以关闭WAL

增大memstore的内存


当前可以调高Memstore 的数值,降低 BlockCache 的数,跟读优化的思路正好相反

大量的HFile产生


如果写很快,很容易带来大量的HFile,因为此时Hfile合并的速度还没有写入的速度快
需要在业务低峰期做majorcompaction,充分利用系统资源;如果Hfile降低不下来,则需要添加节点
分布式数据库 数据库 Hbase
分享到
取消 提交回答
全部回答(0)
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程