“LINE”运行云数据库HBase内情透视

2013年1月21日,在日本东京国际展览中心(Tokyo Big Sight),召开第四届日本Hadoop用户大会“Hadoop Conference Japan 2013 Winter” 。运营社交通信应用LINE(连我)的NHN Japan的中村俊介介绍作为LINE的存储器利用开源数据库HBase的情况。

会议第一部分播放了Hadoop之父Apache软件基金会主席Doug Cutting的录像,他对今后Hadoop开发方针进行说明。

Hadoop是在2000年谷歌公司发表的分布式文件系统“Google File System”和并列编程模型“MapReduce”基础上开发的项目。基于Hadoop的分布式面向列开源数据库HBase也受到谷歌论文“BigTable”的启发,此外,Doug Cutting所属的美国Cloudera公司目前开发的“Impala”,其模型也是谷歌公司公开的论文“Dremel/F1”。

2012年,谷歌公司也公开论文“Spanner”,它是一个可扩展的、多版本、全球分布式、同步复制数据库。Doug Cutting说:“谷歌是Hadoop的指路人”。

LINE的HBase集群日处理100亿record

接着进行基调演讲的是NHN Japan的中村俊介,社交通讯类应用LINE就是由HN Japan开发,LINE在日本的人气度仅次于Twitter ,其全世界用户突破1亿,公司计划2013年用户达到3亿。目前,LINE使用的就是HBase,负责HBase的工程师中村介绍了公司运行HBase的经验。

据中村说,LINE的HBase集群每天保存100亿record的数据,同时,保持写入1毫秒读取1~10毫秒。而且,通过复制HBase集群,也实现了高可用性。公司选择HBase的原因是,可实现大容量和高速性以及高可用性。

中村在演讲中介绍了运行支撑LINE存储器的三个插曲。一个是,在不中断LINE服务的条件下转移运行HBase集群的数据中心。

由于LINE服务发展迅猛,PC服务器的台数达到数百台,急需转移数据中心。当时,公司使用独自开发技术进行数据复制,而不是使用HBase原有的复制数据中心之间数据的功能。中村说:“通过开发Poll方式的复制功能,而不是使用HBase原来具备的Push方式,达到了控制复制吞吐量(Throughput)等目的。”

复制结构实现单纯化

第二个是控制HBase集群名称节点(NameNode)的高可用性对策。由于负责分配工作的NameNode,通常集群只有一台,而它一旦出现故障会导致集群中断运行。因此公司使用“DRBD(Distributed Replicated Block Device)”和“Pacemaker”以及虚拟IP(Internet Protocl)地址,对名称节点进行了复制。

这个结构通过使用DRBD,同步实现冷备份( cold standby) 和热备份(hot standby),而Pacemaker则监控冷备份和热备份。此外,一旦冷备份出现故障,热备份会继续使用虚拟IP地址,无停止而实现冷备份和热备份相互切换。

但是,2012年10月发生故障时,监控服务器运行情况的网络出现分断(Decoupling)问题。由此,发生冷备份未中断但热备份却自动转变为冷备份的情况,造成名称节点无法正常运行。中村说:“Pacemaker用的吞吐量变得非常复杂,致使运行陷入困境。目前,不再使用Linux-HA而是使用更为简单的方法复制名称节点。”

目前,使用rsync( remote synchronize)同步实现数据的冷备份和热备份,当冷备份出现故障时,集群内的各节点在连接处将冷备份转换为热备份。这种结构虽然中断时间更长一些但运行变得更为容易。

第三个是实现HBase集群稳定运行的经验。例如,HBase有一个问题就是,一旦日志文件( Log File)出现堆积过量的情况,会加大整理日志的负担而导致降低集群的性能。中村的工作小组通过调整集群内分配数据库单位“region”的尺寸等办法解决了这一问题。

世界首个“多租户(Multi-Tenant)型基于Hadoop的云数据库”

其他进行基调演讲的还有,提供基于Hadoop的云数据库(DWH)服务“Treasure Data Cloud Data Warehouse Service”的美国treasure data公司的CTO太田一树。

太田一树于2011年在美国加利福尼亚创立treasure data公司,他是发起日本Hadoop用户大会的成员。太田说:“在参与很多应用Hadoop项目的过程中,发现很多用户企业会由于运行Hadoop非常困难而选择数据库产品的情况。因此,决定开发一种使用简便的用户界面即可使用Hadoop的工具,以便可以让用户犹如劈柴刀干净利索地处理大数据。”

据太田说:“Treasure Data是世界上首个使用多租户方式提供基于Hadoop的云计算服务。”目前,每个月会增加1000亿件record,每个月处理200万件工作。70%的公司用户只用于单纯地收集数据并制作报告,少数用户则用于存储大量的数据并进行高度分析。

因此,Treasure Data公司决定将业务放在收集数据并制作报告上(太田氏)。公司特别重视数据收集,因为大数据的项目方面,有关收集数据的作业要占全部作业时间的60%(太田氏)。

目前, Treasure Data公司使用公司古桥贞之开发的收集日志工具“Fluentd(属于开源代码软件)”可将数据储存在数据库中。由于Fluentd系统能够将不同形式的数据转变为JSON(JavaScript Object Notation,是一种轻量级的数据交换格式)形式后再进行收集,因此,可以省去进行数据收集和分析前的准备工作。

1月21日, Treasure Data透露美国雅虎的创始人杨致远是公司的投资人。太田在演讲中介绍说:“目前,在美国云计算业界中流行着这样一句话--沉睡的越久产生的价值也就越多。”无疑,无需运行应用软件和中间件的云计算服务,其市场价值和重要性正在日益提高。

(日)日经计算机 中田 敦