淘宝HBASE应用实践与优化

需积分: 9 1 下载量 10 浏览量 更新于2024-07-23 收藏 376KB PDF 举报
HBase在淘宝的使用 HBase是基于分布式文件系统HDFS的NoSQL数据库,具有高可用性、高性能、列存储、多版本等特点。淘宝选择HBase的原因是由于它具有和Hadoop一样的海量数据处理能力、易于横向扩展、随机读写的高性能、高可靠性和稳定性等特点。 HBase在淘宝的应用场景 HBase在淘宝中的应用场景非常广泛,主要包括淘宝实时传输平台、淘宝指数、交易历史记录查询系统等。淘宝实时传输平台使用HBase来存储每天TB级的数据,旧的存储模型是内存+硬盘,使用发布和订阅的使用场景。淘宝指数使用HBase来存储倒排索引的属性查询,具有实时和高性能的特点,客户端Join高冗余,每行百兆级的数据应用。交易历史记录查询系统使用HBase来存储百亿行数据表,千亿级二级索引表,每天千万行更新,查询场景简单,检索条件较少,基于userId+time+idrowkey设计,成本考虑。 HBase在淘宝的规模 HBase在淘宝中的规模非常庞大,于2011年上半年开始使用,版本基于HBase0.90.3+Patch,拥有10个集群,300台RegionServer,每个RegionServer配置为16core,24G/48G,SATA1T*12/SAS300G*12,读写性能达到了200kops/sec,70%write,30%read,应用于多个Online和Offline系统。 HBase在淘宝的优化 HBase在淘宝中的优化主要体现在RegionServer的配置上,包括缓存的大小和命中率、HDFS规模和读写效率、安全级别的配置、RegionSplit和Compact设置、RowKey的设置等。 RegionServer的配置对HBase的性能有很大的影响,淘宝的经验是RegionServer的配置应该根据实际情况进行调整。 HBase在淘宝中的问题 HBase在淘宝中的问题主要包括随着region数目的增多写性能下降、RegionServerOOM、MasterOOM等。随着region数目的增多,写性能下降是由于RegionServer遍历onlineregions所致,解决方法是调整RegionServer的配置。RegionServerOOM是由于行的版本过多、RowKey设计错误等原因,解决方法是调整RegionServer的配置和RowKey的设计。MasterOOM是由于N个RegionServer的原因,解决方法是调整Master的配置和RegionServer的数量。 HBase在淘宝中的应用前景 HBase在淘宝中的应用前景非常广泛,包括淘宝实时传输平台、淘宝指数、交易历史记录查询系统等。HBase的高可用性、高性能、列存储、多版本等特点使其在淘宝中的应用前景非常广泛。