大数据案例分析:电信业Hadoop应用分析
中关村在线 12年07月02日 17:16 【转载】 作者:zol 责任编辑:王振
海量数据的应对之策
对于以上这些问题该如何应对呢?联通研究院处长王志军分析处理问题的难点:上网记录数据是海量数据,经过我们的系统可以分析到,用户每个用上网记录基本几万到几十万,有的用户五六十万,我们现在采用的方案是在网关所有用户流量必经地方采集,分析流量数据,然后上成上网记录话单,话单量非常大。
联通研究院处长王志军表示,例如用移动手机访问新浪网首页,对流量采集设备基本能生成20条左右上网记录话单,如果点iPad新闻链接,恐怕会产生 180条上网记录,如果访问淘宝网首页,会产生60条请求和回应,在手机上网记录当中有大量DNS查询和推送服务。以中国联通某一个中等省份公司为例,日均上网记录达到10亿条,每个月的数据接近9T,整个移动互联网也在快速发展。
根据中国联通统计,每隔6个月中国联通用户整体上网流量会翻一番,去年平均3G每用户的流量一年之内翻一番,整个流量增长非常迅速,也带来了上网记录的量非常非常大。
传统IOE方式,IBM小型机,思科数据库存储,EMC存储,思科数据库存储这么大上网记录时候已经不可能了,所以,联想采用开源的Hadoop解决,Hadoop本身是系统架构,也是开源项目,由Apache基金会开发,Hadoop本身最底层是分布式文件系统,这个分布式文件系统叫HDFL,在它之上有分布式处理框架,基于Hadoop整个开源项目,上面构建了结构化的访问数据库,在这之上又提供了类似的数据挖掘工具,另外也提供了一些分布式同步,以及远程调用和序列化工具。
Hadoop+HBase+ MapReduce
对于Hadoop分布式文件系统本身来说,重要的出发点在于硬件故障是常态,不是非异常的状态,我们可以摒弃采用IBM小型机方案,Hadoop中数据可以自动复制,一份数据可以复制成三份,第一份在一台服务器上,第二份数据在另外一台机架的另外一台服务器上,第三份数据可能在另外一台机架的另外一台服务器上,作为分布式文件系统,每次请求写入的磁盘和服务器物理地点可能不一样,可以带来高并发的读写请求。
MapReduce框架分成很多数据级,最后再合并处理。HBase分布式数据库是分布式存储系统,主要特点在正它是四维存储系统,传统的数据库是二维表的结构,有行、有列,对它来说,除了有行之外,有列的概念,在列和行之间又可以存放多个版本,在这种情况下相当于四维表结构,好处在于可以灵活的表格结构,每个列组里面的列后来都可以随机应变,我们的采集系统现在在采集一些字段,未来的发展过程中,为了数据挖掘的需要,会采集更多的字段,方便我们在一个结构之下进行更多信息的存储以及后续的处理工作。
HBase本身利用自动复制机制保证Hbase本身存储的高可靠性。我们会做一些数据挖掘工作,除了采用MapReduce技术之外,还采用数据仓库技术,针对海量数据进行高性能查询和分析工作。中国联通已经构建了一个全国集中的一级架构海量数据存储和查询系统,第一,是一级架构,全国所有用户所有上网记录数据都放北京数据中心里,在国内电信行业当中也是首创的方式。
另外一个方式,首先将开源Hadoop、Hbase技术应用商用电信服务系统中来,开源的软件架构基本上没有商用系统的,但是这次是商用系统,系统的构成,包括数据采集、数据入库、数据存储、数据查询和数据分析技术,基本技术采用Hadoop,目前上网记录数据存储一般不小于30分钟,30分钟之前的上网记录现在可以通过我们系统查询到。
在实际使用过程中,联通发现约10分钟的记录可以查到,用HBase处理这么海量的数据时候,入库速度非常非常迅速,另外查询速度也非常非常迅速。另外系统的存储不少于6个月原始上网记录能力,中间的统计报表会保存不少于5年,现在的数据查询速度,查询一个用户上网记录,比如有几万条记录,在几千亿条记录当中检索的时间小于一秒钟,当然,这个时间不包括查询页面的时间。
这是上网记录详单内容,存储了很多用户上网记录信息,随着系统的发展,为了数据挖掘的需要,联通会进一步提取更多信息存到上网记录系统当中来。