浅谈大数据HBase的开发

一.HBase概述

HBase我个人理解它是一个大的分布式数据库,可以存储海量的数据。像我们平时使用的MySql可以存储的数量级为几千万条数据,Oracle数据库可以达到亿级别数据量,而HBase是分布式的,不管有多少的数据量,只要你的集群磁盘容量足够,那么它就可以存储下来。

浅谈大数据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 ——



浅谈大数据HBase的开发



国内领先的

大数据整体解决方案

为客户提供大数据分析平台端到端解决方案

Ebistrategy

亦 策 软 件

400-676-1711

长按关注

浅谈大数据HBase的开发