曙光海量数据处理解决方案
任新勃 发表于:12年10月10日 14:31 [来稿] 存储在线
二、解决方案
2.1.基于大数据平台的大型门户网站
基础设施面临的问题
在互联网大行其道的今天,内容和用户是互联网公司关注的焦点。成功的企业无一不是拥有大量稳定的用户,并以此建立自己的商业模式。而拥有内容,特别是大量原创、优势内容的企业或组织具备了赢得大量、忠实用户的先决条件。
但内容和用户的增多给企业带来了高效基础设施和巨大访问能力的挑战。为了支撑未来不断扩大的业务,基础设施必须预先筹划,充分考虑到扩展性。一方面要求系统保存内容要具备横向扩展的能力,适应不断增多的系统规模和更大的访问量。另一方面,系统中相互关联的业务模块也要求基础设施提供统一、共享的服务能力。从Google、Amazon、淘宝等成功互联网企业披露的事实看,基础设施成为决定互联网企业能否做大做强的重要因素。
典型的大型门户网站的业务类型复杂多样,新闻、图片、论坛、社区、博客,以及音视频分享等都是有相当成熟度的业务。有效支撑这种大型门户网站的基础设施需要解决三方面的问题:数据存储、在线服务和数据分析。具体看来,它符合大数据的V4的标准。但是单一的大数据平台只能解决某一方面的问题,必须综合使用多种技术才能高效实现统一的大数据平台,支撑门户网站的发展要求。举例来看,图片是MB级的文件,Facebook和淘宝的私有系统采用不同的技术手段实现了图片文件的高效存取,但不加修改的HDFS则很难有效管理巨量的小文件。
大数据平台架构
下图给出了支撑大型门户网站的大数据平台架构。它从逻辑上分为硬件层、存储层和计算层,对上支持各种业务模型。
硬件平台统一为整合计算和存储能力的存储服务器,服务器之间通过以太网络互相连接。这种不再需要门类繁多的存储设备和服务器类型的设计可以大大简化管理和建设的复杂程度。
存储层解决各种类型数据的存储问题。上层业务的数据可以分解为:结构化数据、文本(包括网页)、图片、音频、视频、以及索引文件等。结构化程度高、事务性强、需要反复操作的数据仍然保存在关系数据库里,网页信息等可以Key-Value的形式保存在NoSQL存储系统中。大量小图片、音频文件等可以保存在分布式存储系统中。为了提高检索效率,各种索引以特有的格式分散保存。
计算层负责将存储层中管理的数据转化成上层应用所需要的数据集。这些转化包括基本的数据存取,如基于唯一性的关键字获取属性值或内容;通过关键字快速检索某一应用的数据,或者整合多个系统的检索结果呈现给用户;使用Map-Reduce和并行查询分别快速从大规模的文件数据或数据库中分析出感兴趣的信息。
从技术选择上来看,数据库存储可以选择横向扩展、支持复杂并行处理模式的MPP数据库系统,NoSQL key-Value存储可以选择Hadoop-HBase系统,分布式存储可以选择业界优秀的集群存储系统,选择支持可以插件形式扩展各种应用的检索系统。
业务实现
大数据平台提供的存储和计算资源都可以实现资源池,以多租户的形式提供给上层应用使用。
以新闻为代表的网页需要将各种文字、图片等信息组织起来呈现给浏览者。Web Server可以快速地以URL为关键字,从HBase中取出对象的内容。进一步将内容标识的图片从分布式文件系统中提取出来。当用户点击音视频时,再从分布式存储中将这些信息提取出来,传给用户。社区、博客、论坛的页面展示都可以采用这种方式生成。
相对于一般的页面、论坛、博客信息更新,或者用户评论、互动更加活跃。例如评论会以较短的文本形式来体现。采用HBase的Key-Value来存取就特别合适。
只要提供类似Key-Value方式的创建索引和检索算法,每个子系统都可以向公共的大数据平台申请专有的检索服务。例如图片可以根据标签进行检索,而文本则根据内容进行模糊检索。系统同时提供跨应用的全局检索,它将关键字按规则转化成各应用的搜索请求,并合并中间结果。
大数据平台还提供通过分析,不断改进业务水平的能力。通过用户行为分析,可以得到用户的使用喜好,向某些人群推送特定内容,提高用户粘性。另外对系统负载、不同国家和区域的特征分析,都可以改进服务质量,也可以对系统的升级、维护提出预警。这些分析一般是通过记录用户访问的日志,以及系统运行、维护过程中产生的日志。可以采用MPP数据库的方式,也可以采用Hadoop-Hive,结合Mahout的分析功能实现信息的抽取。