正文
hbase性能调优,hbase性能优化
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
hbase的主要用途
1、总的来说,hbase的主要用途是存储大量的非结构化和半结构化数据,提供高速的读写操作和数据压缩加密功能,并支持灵活的数据模型。这使得它在大数据存储和实时数据处理场景中非常有用。
2、HBase 是典型的 NoSQL 数据库,通常被描述成稀疏的、分布式的、持久化的,由行键、列键和时间戳进行索引的多维有序映射数据库,主要用来存储非结构化和半结构化的数据。
3、HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
4、数据采集和传输层:这一层主要负责从各种数据源收集数据,并将数据传输到数据中心。常用的技术包括Flume、Logstash、Sqoop等。Flume和Logstash主要用于日志数据的采集,Sqoop则用于从关系型数据库中导入导出数据。数据存储层:这一层主要负责数据的持久化存储。常用的技术包括HDFS、HBase、Cassandra等。
5、管理用户对表的增、删、改、查操作:HMaster负责处理用户对HBase表的元数据操作,提供了一些基于元数据的接口,使用户可以与HBase进行交互。管理RegionServer的负载均衡:HBase中的数据被分割成多个Region,分布在不同的RegionServer上。
淘宝为什么使用HBase及如何优化的
因为分布式系统对大量数据的存取更具优势。尽量少的有数据修改。因为hbase中的数据修改知识在后面添加一行新数据,表示覆盖前一条,大量修改浪费大量空间。
HBase在产品中还包含了Jetty,在HBase启动时采用嵌入式的方式来启动Jetty,因此可以通过web界面对HBase进行管理和查看当前运行的一些状态,非常轻巧。
优化原理:HBase分别提供了单条put以及批量put的API接口,使用批量put接口可以减少客户端到RegionServer之间的RPC连接数,提高写入性能。另外需要注意的是,批量put请求要么全部成功返回,要么抛出异常。
对象存储:HBase可以作为中等对象存储,对HDFS存储文件起到缓冲过渡的作用,减轻了NAMENODE元数据维护的压力。消息/订单存储:因为HBase提供低延时、高并发的访问能力,所以可以用于电商平台等场景的消息和订单存储。金融方面:HBase可以用于存储消费信息、贷款信息、信用卡还款信息等。
淘宝店铺在运营的过程中经常涉及到优化宝贝,如何优化宝贝将决定提升宝贝转化率的关键之一。
HBase调优:预分区与行键设计
1、一个regionserver可以管理的region数量和列族数量与每个列族缓存的大小有关,计算公式如下:我这里只分了三个region,用hbase shell命令创建表,设置预分区数量为3 下图中,可以看到,预分区以后,数据的读写访问请求数量均匀分布在3台RegionServer上,避免了热点问题。
2、必须在设计上保证RowKey的唯一性。由于在HBase中数据存储是Key-Value形式,若向HBase中同一张表插入相同RowKey的数据,则原先存在的数据会被新的数据覆盖。设计的RowKey应均匀的分布在各个HBase节点上,避免数据热点现象。rowkey:行键设计的三个原则唯一必须在设计上保证其唯一性。
3、HBase 在创建表的时候,会自动为表分配一个Region,当一个 Region 达到拆分条件时(shouldSplit 为 true),HBase 中该 Region 将会进行 split,分裂为2个 Region,以此类推。表在进行 split 的时候,会耗费很多的资源,有大量的 io 操作,频繁的分区对 HBase 的性能有很大的影响。
4、优化建议:检查RowKey设计以及预分区策略,保证写入请求均衡。 KeyValue大小对写入性能的影响巨大,一旦遇到写入性能比较差的情况,需要考虑是否由于写入KeyValue数据太大导致。KeyValue大小对写入性能影响曲线图如下: 图中横坐标是写入的一行数据(每行数据10列)大小,左纵坐标是写入吞吐量,右坐标是写入平均延迟(ms)。
5、目前我们已经确定了hbase存储,并且采用预分区的方式并且采用rowkey进行过滤查询,那么现在考虑rowkey的设计。
6、HBase性能优化-Rowkey&列族设计必须在设计上保证RowKey的唯一性。由于在HBase中数据存储是Key-Value形式,若向HBase中同一张表插入相同RowKey的数据,则原先存在的数据会被新的数据覆盖。设计的RowKey应均匀的分布在各个HBase节点上,避免数据热点现象。
hbase性能调优的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于hbase性能优化、hbase性能调优的信息别忘了在本站进行查找喔。