浅谈大数据HBase的开发
Posted 亦策大数据分析
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈大数据HBase的开发相关的知识,希望对你有一定的参考价值。
一.HBase概述
HBase我个人理解它是一个大的分布式数据库,可以存储海量的数据。像我们平时使用的mysql可以存储的数量级为几千万条数据,Oracle数据库可以达到亿级别数据量,而HBase是分布式的,不管有多少的数据量,只要你的集群磁盘容量足够,那么它就可以存储下来。
二.HBase的rowKey的设计
通常我们在使用HBase的时候,若想达到秒级别的查询,rowKey的设计就至关重要。因为HBase中有一个特性,通过rowKey查询可以最大程度的使用HBase的性能。rowKey的设计有几个原则:第一是长度原则,建议最好不要超过16个字节,因为字节太长需要更多的空间去存储它,占用过多的资源;第二是散列原则,HBase有很多的regionServer,不同的服务分布到不同的机器上,假如rowKey都比较集中的话很容易导致热点问题的产生,热点问题会给集群产生很大的压力。像我们平时常用的rowKey是由uid和时间进行组合。
三.HBase的读写流程
读过程是根据表名和rowKey找到对应的region,zookeeper存储了meta表的region信息,从meta表中获取相应的region的信息,然后找到对应的regionserver,最后找到ui应的region。写过程与读过程基本一致。
四.HBase的优化
优化可以从GC的处理,内存的管理,日志管理等方面进行,比如我们需要数据能够快速的写入HBase中,那么我们在写入的时候不能立刻更新数据库,而是需要建立一个缓存空间,等到写入的数据量达到缓存大小的时候再刷新数据库,这会在相同的时间内插入更多的数据量。同时我们可以关闭服务端的写WLAG日志,这样也会在性能上起到很大的作用。
—— END ——
国内领先的大数据整体解决方案
为客户提供大数据分析平台端到端解决方案
Ebistrategy
亦 策 软 件
400-676-1711
以上是关于浅谈大数据HBase的开发的主要内容,如果未能解决你的问题,请参考以下文章