查看原文
其他

基于商业版Hadoop搭建的数据仓库解决方案

胡中鹤 京东技术 2024-03-22


Tech

导读

      本方案以某金融企业大数据平台建设方案为例,面对企业内部的数据现状提出合理化建议,基于商业版Hadoop数据平台搭建数据仓库系统,实现数据资产的充分利用,结合当时现状推荐国产自主研发商业版Hadoop平台TDH做为基础平台,以下为方案概述。




01 背景目标

在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!

1.1 背景



1.1.1 数据基础

      随着公司业务的发展,公司建设的IT系统数量逐渐增多,各系统交易数据快速增长,系统间数据交互也不断增加,同时绝大部分数据分散在各自系统中,形成数据孤岛,不便于整体统计分析。

      为了整合公司各系统数据,搭建一个数据精确、性能高效、方便分析的数据仓库系统。通过该系统可对上游系统的各类数据按照主题模型、应用集市进行汇总,为下游IT系统输出标准化、模型化的数据,以满足各系统数据需求,缓解各系统交互压力,同时利用数据仓库高效的数据处理能力,缩短报表生成时间,提高数据统计效率,快速满足公司各部门数据报表需求。面对这一系列的挑战,我们认为整合内外部数据在公司的利用问题是提升公司业务能力的首要需求。

1.1.2 痛点及需提升的能力

       数据增长迅速,如果加上非结构化数据,未来几年的数据存储将猛增,如何对这些海量历史数据资产进行有效的存储、管理、整合,并在此基础上进行快速共享、计算、分析,最终达到对业务的有效指导是本系统的建设关键。在大数据应用平台项目基础软件及服务建设过程中,主要会面临以下挑战:

1. 扩展性:当数据量达到一定限度之后,无论是数据存储、分析、查询,都会受到极大的限制,系统的横向扩展性的能力将是系统建设的重要考量之一。

2. 价格: 系统的横向扩展,必然会带来软件、硬件成本的增加,以及后期升级、维护、扩展的成本的投入也是系统扩展面临的挑战。

3. 性能:数据动辄TB、甚至PB,面对如此海量的数据,若要进行高效的计算、分析,为业务提供有效的指导,必须要满足业务允许的时间要求。

1.1.3 大数据趋势

      随着移动互联网、云计算、物联网和大数据技术的广泛应用,现代社会已经迈入全新的大数据时代。掌握大数据资产,进行智能化决策,已成为企业胜出的关键。

      越来越多的企业开始重视大数据战略布局,重新定义自己的核心竞争力,从数据中揭示规律,了解过去、知悉现在、洞察未来,数据驱动企业运行与决策的科学性,构建智慧企业,打造核心竞争力。

      数据的爆炸式增长以及价值的扩大化,将对企业未来的发展产生深远的影响,数据将成为企业的核心资产。如何应对大数据,挖掘大数据的价值,让大数据为企业的发展保驾护航,将是未来信息技术发展道路上关注的重点。

图1 建设背景

1.2 目标



       通过搭建基于商业版Hadoop大数据平台的数据仓库系统实现对我司数据资产的充分利用集成企业各业务系统中的数据,为企业提供统一的高质量的业务数据视图,进一步满足提升企业的经营管理分析和决策的需要。

图2 建设目标



02   建设方案  

理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。从设计稿出发,提升页面搭建效率,亟需解决的核心问题有:

2.1 总体架构


      

图3 总体架构图

      总体架构是从数据层次划分、数据分布、数据流转、数据存储等多个角度对企业数据架构进行规划的合称。涵盖了从导入源数据,经过集中整合的数据加工和存储,最后通过数据展示层呈现给最终用户的全过程。

从总体逻辑架构中可以看出,数据架构包括内容如下:

1. 数据源层

      源数据层是指数据仓库系统的数据来源,为数据仓库提供数据。数据仓库的数据主要来自业务系统、三方系统以及部分管理系统。源数据层包含传统的结构化与非结构化数据源,对于消费金融的数据仓库系统,作为数据源的系统将包括核心信贷、财务、人力资源、移动营销、三方数据平台等。

2. 存储与管理层

       数据存储与管理层是数据架构的核心,采用Hadoop平台+FS-LDM方式构建,集中存放企业的各类数据,并提供数据支持服务。数据存储按照用途和业务目标,分为数据获取、数据整合与数据加工、数据服务访问等。

【数据仓库金融行业逻辑数据模型FS-LDM说明参考:

FS-LDM说明-参考1
https://blog.csdn.net/BabyFish13/article/details/123702243?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165579505616782246470236%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165579505616782246470236&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-123702243-null-null.142^v19^rank_v32,157^v15^new_3&utm_term=FS-LDM&spm=1018.2226.3001.4187
FS-LDM说明-参考2
https://blog.csdn.net/weixin_44441757/article/details/117962689?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165579505616781667894094%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165579505616781667894094&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v32_ecpm-21-117962689-null-null.142^v19^rank_v32,157^v15^new_3&utm_term=FS-LDM&spm=1018.2226.3001.4187

3. 数据应用层

      专题分析、报表分析等所使用的数据,将已经统计汇总好数据对外发布,支持应用的查询与专题分析。通过接口的方式直接查询数据或共享层即可得到想要的数据。

4. 数据展示层

      数据准备好后,通过门户应用提供给用户,让数据最大化地发挥价值。应用产品可考虑使用帆软报表工具、iRecharts、Cognos等进行数据分析展示。

5. 最终用户层

       按照用户使用的方式和特点,将用户分为不同层级,如:领导层、业务操作人员、决策人员、知识工作者/业务分析人员,管理员等等,用于区分数据权限隔离,保证数据安全。

2.2 产品推荐(TDH)


       

2.2.1 产品优势

       大数据平台Transwarp Data Hub基于Spark&Hadoop2.7.2,拥有众多自主研发的核心技术,无论相比较于开源的Hadoop平台,还是国内、国外的商业厂商大数据软件,都具备较大的技术优势。

2.2.2 技术优势

      Transwarp Data Hub(简称TDH)是国内首个全面支持Spark的Hadoop发行版,也是国内落地案例最多的商业版本,它是国内外领先的高性能平台,比开源Hadoop2版本快10x~100x倍。TDH应用范围覆盖各种规模和不同数据量的企业,通过内存计算、高效索引、执行优化和高度容错的技术,使得一个平台能够处理10GB到100PB的数据,并且在每个数量级上,都能比现有技术提供更快的性能;企业客户不再需要混合架构,TDH可以伴随企业客户的数据增长,动态不停机扩容,避免MPP或混合架构数据迁移的棘手问题。

       Transwarp的大数据综合平台(Transwarp Data Hub, 简称TDH)包含四个组成部分: Transwarp Hadoop基础平台,Transwarp Inceptor分布式内存分析引擎,Transwarp Hyperbase分布式实时在线数据处理引擎和Transwarp Stream流处理引擎。大数据平台项目基础软件及服务数据处理平台需要Transwarp Hadoop基础平台,Transwarp Inceptor分布式内存分析引擎,Transwarp Hyperbase分布式实时在线数据处理引擎,Transwarp Stream流处理引擎四个产品组件。

图4 TDH技术架构图

  • 完整的SQL支持

      通过TPC-DS99个标准测试集,99%的SQL 2003支持,唯一支持PL/SQL的引擎(98%),唯一支持ACID分布式事务的SQL引擎;定位数据仓库和数据集市市场,可用于补充或替代Oracle、DB2等分析用数据库。(*注:当时现状)

  • 高效内存/SSD计算

      支持SSD的基于Hadoop的高效计算引擎,可比硬盘快一个数量级;可用于建立各种数据集市,对接多种主流报表工具,支持高并发查询。

  • 完整的分布式机器学习算法库

      支持(超过50余种)的分布式统计算法和机器学习算法,同时整合超过5000个R语言算法包。适合金融业风险控制、反欺诈、文本分析、精准营销等应用。

2.3 模型设计



想大做小,逐渐丰富

1. 本期建设,可以只实现十大主题域中的几个或某些主题域的关键实体,在后续阶段慢慢丰富需要的主题域实体。

2. 根据调研及在金融行业的实施经验,本期实现当事人、产品、协议、事件等关键主题,在逐渐假设次要主题,如地址、营销等。

基础模型保持稳定

1. 结合FS-LDM模型在金融行业有大量实施案例,事实证明FS-LDM模型适应各种类型的金融企业,支持全面的金融业务。

2. 虽然每家金融公司的元数据和业务差异较大,但均能使用同样的FS-LDM架构。

2.3.1 方法步骤

图5 模型设计方法步骤

模型设计方法通过如下6个步骤进行说明:

1. 前期准备:此工作将基于数据源范围中界定的数据源,全面分析评估公司的客户信息现状、数据现状、数据质量状况,确定数据整合的优先顺序,以支持企业级数据仓库建设长远目标。收集原系统需求文档,操作左手、表结构说明书、代码值、样本数据、相关脚本等。

2. 交流研讨确定客户化策略,明确LDM客户阿虎的工作方式和工作目标,确定工作模板。

3. 信息调研:包括数据表分类、字段级信息整理、问题追踪记录、调研访谈会议纪要、ID调研报告。其中数据表分类、字段级信息整理、问题追踪记录是信息调研最重要的产出物,是后续逻辑模型设计、数据映射的基础,也是后续数据仓库维护、应用集市开发所需的重要文档。

4. 统一业务定义:确定概念模型的主题域及其内容,包括主题域的公共码键、主题域之间的联系以及充分代表主题的属性组。制定模型命名规范根据经验提供模型命名规范的初稿,双方讨论确定逻辑建模过程中使用的通用命名规范,制定规范文档,确定客户化范围。

5. 客户化FS-LDM:概念模型、逻辑模型设计将基行业完整的金融业逻辑数据模型LDM产品,结合数据源分析的结果进行客户化,形成逻辑数据模型(LDM),能够满足未来基于数据仓库的各项分析型业务应用的需要。

6. 模型验证:包括数据模型、应用模型的验证,及数据合理性及数据规范性的验证。

2.3.2 设计规范

       设计规范包括模型命名规范,数据类型定义规范,布局规范,注释规范。

1. 命名规范:包括对逻辑数据模型的命名规范和物理模型的命名规范

✔ 采用统一的中英文词库来维护命名

✔ 逻辑数据模型中实体和属性中文命名不超过30个汉字

✔ 物理数据模型表名和字段名不超过30个英文字符

2. 数据类型定义规范:仓库中的字段长度尽量满足相应源系统字段中最大长度的要求,对常用数据类型分档次进行预定义。

3. 布局规范选用ERwin作为模型的设计工具,对主题命名方式、子主题设计方式进行规范,布局上,对实体进行布局属性进行有序排列,选用特殊颜色对不同主题熟悉进行有效区分,为使用带来便捷。

4. 注释规范:对实体/表进行注释规范说明,对属性/字段进行注释规范说明,对脚本注释进行规范,杜绝无注释情况发生。

2.3.3 设计原则

图6 模型设计原则

数仓分层设计采用三层架构,基础层、汇总层、集市层,设计原则如下:

基础层:

中性的,共享的不针对某个特别的应用而设计

灵活的,可扩展的能以第三范式存放最详尽的业务数据

稳定的,经得起考验的能够在很长时间内保持稳定性

规范的,易懂的使用规范的业务语言进行模型设计

汇总层:

层次分明设计分层次,逻辑上分为预处理层和轻度汇总层

应用驱动可以借鉴行业经验,但自身需求是根本

提炼共性汇总层需提炼出不同应用的公共指标

迭代开发汇总层建设是一个循环往复的过程,不可能一步到位

集市层:

支持星型建模集市层未来支持星型建模

业务驱动需要针对每个特定业务定制建立集市层模型

兼顾效率与数据粒度的需要在模型设计时需要在二者中取得平衡

2.3.4 主题划分及主题关系

采用分类设计的策略

1. 重点设计主题(客户、协议、事件、资产、财务)

特点:是模型中的重点主题,且在源系统中有丰富的数据来源和参照。

目标:尽量保持完整性、丰富性。

策略:按照FS-LDM的框架进行设计,同时补充银行的个性数据元素。

2. 自主设计主题(营销活动、渠道、机构、产品)

特点:非核心主题,基本没有或者仅有非常少的数据来源和参照。

目标:保证模型架构的完整性和扩充性。

策略:按照FS-LDM进行设计,将来根据实际情况调整。

3. 简化设计主题(地域)

特点:模型的重要参考主题,一般情况下源系统有数据,但定义和使用方法与FS-LDM不匹配。

目标:暂不进行唯一地址识别,但要完整保留此类信息。

策略:暂作为PARTY等的属性信息进行设计。

下图为划分的主题说明及物理模型前缀说明:

图7 主题划分及物理模型对应图

图8 主题物理模型关系图


03   实施计划 

理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。从设计稿出发,提升页面搭建效率,亟需解决的核心问题有:    

3.1 实施关键点




一个成功的数据类项目需要具备以下4个关键要素:

1. 专业的实施与服务团队。

2. 先进成熟的实施方法。

3. 统一规范的数据模型。

4. 最为重要的是经过验证的成功案例。

图9 实施关键点图

    3.2 软硬件配置建议



           基于客户业务系统现状及对系统数据量计算评估,推荐以下软硬件配置信息供客户进行选择。可在合理的范围内进行利旧取舍,以做到资源的合理利用。

    下表为软件信息列表:

    表1 软件配置信息表

    下表为硬件件信息列表:

    表2 硬件配置信息表

    3.3 文档产出


       

          一个完整的项目交付,需定制好项目实施范围清单,包括项目管理在内的业务设计、技术设计及系统开发测试,到最终上线及知识交接转移,同时也需要交付相关使用说明书等。

    下表为项目实施范围清单及项目交付清单列表:

       表3 项目实施范围列表 (左)  

      4 项目交付清单表 (右 

    3.4 计划排期



          本项目基于客户甲方要求分为8个阶段和40个工作内容,对项目整体排期进行分步骤实施推进。在项目经理的管控下对工作进行详细拆分,在不同的阶段输出相关文档,保证项目顺利实施。 

    图10 项目管理阶段图


    04   总结   

    理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。

          建立企业大数据平台,实现数据资源(结构化、半结构化和非结构化数据)的归集、整理、加工和分析,并利用大数据相关技术及数据分析挖掘方法,建立数据应用模型,为企业提供决策支持、产品创新、交叉营销、流程优化、服务支撑以及风险管控等服务,有效地挖掘数据的价值,实现数据资源的“共享、共用、共赢”。



    推荐阅读高复用性自动化脚本设计实践
    交易履约之结算平台实践
    KVC原理与数据筛选
    测试角色在项目各阶段的项目管理tips

    求分享

    求点赞

    求在看

    继续滑动看下一个
    向上滑动看下一个

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存