论文部分内容阅读
随着互联网技术的广泛应用,电信、交通、金融等各传统行及新兴的互联网行业出现了数据的爆炸性增长,大规模数据处理技术首先在互联网行业诞生并迅速应用于各种大规模数据处理场景中。其中以Google提出的MapReduce编程框架应用最为广泛,并得到了工业界的广泛支持。各种基于MapReduce的离线数据处理工具应运而生,类似于Hive、 Pig、Cascading的离线数据处理工具很好地解决了大规模数据离线批量处理的问题。但是由于MapReduce编程框架处理数据延时较高,同时数据存储缺乏适当的管理结构使得许多基于传统LAMP结构的实时数据处理应用的需求不能得到满足。 由于支撑传统web应用的LAMP结构其底层基于关系型数据库,通常情况下扩展性较差,当数据规模扩大时存储层性能成为系统的瓶颈。所以许多支持大规模数据存储查询分析的系统如雨后春笋般层出不穷,DOT系统就是其中的典型,本文主要研究了DOT表上如何通过调整数据分布、构建索引、添加统计计算功能来满足大数据上在线应用的实时统计查询需求。 针对DOT表不支持多维区间查询的问题,本文实现了互补聚簇索引方法(Complemental Clustering Index简称CCIndex),把数据副本组织成为多份互为补充和校验的聚簇索引,利用高效的连续扫描代替随机读,从而大幅提高多维区间查询性能;针对DOT表不支持数据统计计算功能的问题,本文研究并构建了DOT上的在线计算框架,利用服务端系统资源进行数据本地计算,减少数据迁移来提高统计速度;针对DOT表数据膨胀率高的问题,我们设计实现了基于硬件压缩卡的HDFS上透明压缩技术,数据的压缩借助特殊硬件压缩卡完成,减少了压缩过程消耗的系统资源,由于压缩卡压缩数据通量大于磁盘通量,数据写入延迟小。相关实验证明数据压缩比约为1∶4,相当于将磁盘的通量提高了4到5倍。压缩技术基于HDFS实现对于上层应用透明,所以基于HDFS的数据分析系统都可以方便地使用数据压缩。 实验证明CCIndex的查询速度为二级索引的11倍,为MySQL Cluster的2倍。DOT上的在线计算框架数据处理速度最高达单服务器45万行每秒,为HBase上Hive统计速度的7倍左右。使用HDFS上的硬件透明压缩技术后,HBase写入速度提高3倍,数据压缩到原表的1/4,同时在线计算框架的统计速度也提高到原来的3倍左右。本文研究的索引及在线计算框架等相关技术还被应用于国内某电子商务网站的数据分析应用中,改造后的系统可查询的数据量为原系统的12倍左右,复杂查询的响应时间为原系统一半。目前改造后的系统在线上已经稳定运行一年,为30万注册用户提供查询服务。