中国邮政大数据平台建设
中国邮政做为世界500强公司之一,拥有丰富的数据资源,海量的数据积累。在大数据时代,需要充分挖掘数据价值,跟上时代的步伐,急需利用大数据技术建立大数据平台,实现邮政数据资源的集中及整合,构建中国邮政统一的数据模型,提高企业数据的处理效率与共享程度,实现对邮政企业内部数据和外部数据的分析挖掘,对内对外提供数据服务。为全网提供决策支持、产品创新、交叉营销、服务支撑、风险管控以及流程优化等支撑服务。原有建设的数仓应用在长期使用的过程中,能力已捉襟见肘,需要使用基于新的Hadoop架构替代原有的数仓架构和应用,实现数仓应用功能。
本文从中国邮政大数据平台系统建设需要出发,在进行数仓应用系统迁移改造的实际实践过程中,总结和提出使用Hadoop技术构建传统企业级数仓应用的思路和方法。并从模型和SQL支持、海量数据的存储和高效计算以及高并发查询等关键问题提出相应的技术
一、中国邮政大数据平台系统建设研究背景与意义
根据中国邮政集团信息化规划,遵循“互联网+”的理念,建设中国邮政大数据平台。实现邮政数据资源的集中及整合,构建中国邮政统一的数据模型,提高企业数据的处理效率与共享程度,实现对邮政企业内部数据和外部数据的分析挖掘,对内对外提供数据服务。为全网提供决策支持、产品创新、交叉营销、服务支撑、风险管控以及流程优化等支撑服务,建设“国内领导、世界一流”的大数据平台。
邮政大数据平台在Hadoop技术基础上,对现有量收系统的历史数据、数据模型、报表应用等进行移植,实现原量收系统的数仓相关功能。量收系统是邮政数据仓库系统,是经营管理信息系统的重要组成部分,同时又是重要的收入稽核管理系统。量收系统利用邮政内部信息资源,自动采集各业务系统中已有的量收信息,提供查询分析、固定报表分析、绩效分析、多维分析、自定义分析、预警稽核、历史数据分析、统计报表管理八大功能,为各级管理层对量收信息多角度的分析、监控和稽核提供了及时、准确和可靠的工作平台。量收系统为企业的经营管理起到了很重要的作用,但随着管理要求的不断提高,量收系统的能力已捉襟见肘,邮政大数据平台需要梳理量收系统实现的功能,并逐步替代量收系统,实现原量收系统全部功能。
二、邮政大数据平台系统项目主要研究内容
本文从中国邮政大数据平台系统建设需要出发,在进行量收系统迁移改造的实际实践过程中,总结和提出使用Hadoop技术构建传统企业级数仓应用的思路和方法。
大数据平台的量收系统迁移工作包含如下内容:
1、架构迁移,使用Hadoop架构替换原有的Teradata和Oracle数据库架构。
2、数据迁移,将原系统数据迁移到Hadoop平台上。
3、报表和应用迁移,实现原系统的全部报表功能和全部应用。
4、ETL迁移,实现原系统的全部ETL功能。
5、测试和验证,验证数据和应用迁移的准确性和一致性。
本文通过对中国邮政大数据平台建设过程中量收系统迁移这个具体实例的开发,研究应用Hadoop技术实现企业级数据仓库的思路和过程。
三、邮政大数据平台系统项目中的关键问题及技术解决方案
基于企业级传统数据仓库应用的特点和要求,以及Hadoop技术的原理和特点,在使用Hadoop大数据平台实现传统数仓应用的过程中,需要关注和解决的关键问题有很多,本文主要列举在以下几个核心问题和解决思路:模型和SQL支持、海量数据的存储和高效计算、高并发查询、事务支持。
1、模型和SQL支持
模型方面,原量收系统模型设计原则是基于中国邮政整体企业管理和业务管理的规则和流程,同时考虑到系统的扩展。为了便于理解,整个模型先按照数据仓库典型方式划分为接口贴源层、逻辑层和汇总层。接口贴源层按照接口来源各个系统进行划分,系统模型和源系统模型基本保持一致;逻辑层和汇总层则按照主题域进行划分。接口层模型与源业务系统基本一致,结构简单,关联度相对较低,大部分源业务系统使用Oracle数据库。基础层模型结构相对复杂,关联度相对较高,系统使用Teradata数据库,汇总层模型结构相对简单,关联度低,系统使用Teradata数据库。
中国邮政大数据平台选用的底层产品全面支持Oracle数据表模型,支持大部分的Teradata模型。但在实践过程中,从Teradata数据库向Hadoop平台进行模型迁移时,还是有许多特殊语法需要进行修订,下图为Teradata语法与Hadoop平台语法的对比和转换关系举例:
表3-1 Teradata语法与Hadoop平台语法的对比和转换关系举例
SQL方面,系统的报表查询和ETL加工采用了大量的复杂SQL。
中国邮政大数据平台选用的底层产品支持99%的ANSI SQL2003语法,也支持Oracle PL/SQL,包括完整的数据类型、流程控制、Package、游标、异常处理以及动态SQL执行,可以支持迁移大部分的语法和脚本。但在实践过程中,从Teradata数据库向Hadoop平台进行SQL迁移时,还是有许多特殊语法需要进行针对性改进,下表为Hadoop平台不支持的语法和问题举例:
表3-2 Hadoop平台不支持的语法和问题举例
上述问题需要在开发过程中进行针对性的产品更新或代码更新
2、海量数据的存储和高效计算
中国邮政大数据平台汇集了中国邮政各大业务系统的历史业务数据,需要经过T+1的数据处理得到分析和计算结果进行展示。因此需要对海量数据进行存储,并提供高效的数据计算。
中国邮政大数据平台的底层数据产品通过内存计算技术、高效索引、执行计划优化和高度容错的技术,能够处理从TB的数据,并且在数据量级上都能提供比现有技术更快的性能。
底层平台基于Spark的分析引擎,从下往上包含三层架构,底层是分布式内存列式存储,可建在内存或者SSD上,中间层是Spark计算引擎层,最上层包括一个完整的SQL99和PL/SQL编译器、统计算法库和机器学习算法库。因此可以分析存储在HDFS,HBase或者Holodesk分布式缓存中的数据,可以处理的数据量从GB到数十TB,即使数据源或者中间结果的大小远大于内存,也可高效处理。
同时,采用跨内存/闪存等介质的分布式混合列式存储,可用于缓存数据供Spark高速访问。小内存+SSD+磁盘的新方案可以提供跟大内存+磁盘的传统方案性能接近的交互式SQL分析能力。由于内存的价格是SSD的10倍,因此可以采用SSD来替代内存作为缓存,一方面可以增大分布式内存数据库Holodesk存储容量,另一方面可以降低成本,同时性能没有明显损失。
同时解决开源Spark在稳定性、可管理性和功能不够丰富上的问题。平台对Spark进行了大量的改进,极大提高了Spark功能和性能的稳定性。能稳定的运行7*24小时,并能在TB级规模数据上高效进行各种稳定的统计分析。
3、高并发查询
中国邮政大数据平台经过数据处理和汇总,为中国邮政各大业务板块各及机构提供数据报表和数据查询,用户数超过5万,并发数超过2千。因此需要解决高并查询的性能和效率问题。
中国邮政大数据平台的底层数据产品支持使用大表交互等一系列复杂的SQL分析语法操作。同时支持多种索引,包括全局索引(Global Index)、局部索引(Local Index)、高维索引(High-dimensionalIndex)以及全文索引(Full-textIndex)等;支持通过SQL进行复杂条件毫秒级高并发查询。
主要通过使用索引来加快数据的查询速度。包括三种索引:本地索引、全局索引、全文索引,支持索引的自动创建(在创建表时指定索引),也支持对已有表创建索引。索引的基本设计思想是对表中的需要经常作为查询条件的列建立一个映射到主数据的索引。查询时可以利用索引特性进行快速定位并返回查询结果。实验证明,通过使用索引,用户查询的响应速度可以达到原来的20~100倍。同时支持全局、局部、高维索引和高级过滤器,,满足在线存储和在线业务分析系统(OLAP)的低延时需求,实现高并发低延时的OLAP查询。
关于IDEADATA
IDEADATA专注于从数据到信息的有效管理与应用,是领先的商业信息服务技术提供商,是数据仓库及大数据技术和应用的先行实践者。
公司官网:www.ideadata.com.cn
新浪微博:iDEADATA大数据视界
微信关注
长按指纹或扫描下面的二维码可以直接添加: