您好!
欢迎来到京东云开发者社区
登录
首页
博文
课程
大赛
工具
用户中心
开源
首页
博文
课程
大赛
工具
开源
更多
用户中心
开发者社区
>
博文
>
大数据平台项目解决方案
分享
打开微信扫码分享
点击前往QQ分享
点击前往微博分享
点击复制链接
大数据平台项目解决方案
自猿其说Tech
2022-09-20
IP归属:未知
497浏览
本方案以某金融企业大数据平台建设方案为例,面对企业内部的数据现状提出合理化建议,基于商业版Hadoop数据平台搭建数据仓库系统,实现数据资产的充分利用,结合当时现状推荐国产自主研发商业版Hadoop平台TDH做为基础平台,以下为方案概述。 ### 1 背景目标 #### 1.1 背景 ##### 1.1.1 数据基础 随着公司业务的发展,公司建设的IT系统数量逐渐增多,各系统交易数据快速增长,系统间数据交互也不断增加,同时绝大部分数据分散在各自系统中,形成数据孤岛,不便于整体统计分析。 为了整合公司各系统数据,搭建一个数据精确、性能高效、方便分析的数据仓库系统。通过该系统可对上游系统的各类数据按照主题模型、应用集市进行汇总,为下游IT系统输出标准化、模型化的数据,以满足各系统数据需求,缓解各系统交互压力,同时利用数据仓库高效的数据处理能力,缩短报表生成时间,提高数据统计效率,快速满足公司各部门数据报表需求。面对这一系列的挑战,我们认为整合内外部数据在公司的利用问题是提升公司业务能力的首要需求。 ##### 1.1.2 痛点及需提升的能力 数据增长迅速,如果加上非结构化数据,未来几年的数据存储将猛增,如何对这些海量历史数据资产进行有效的存储、管理、整合,并在此基础上进行快速共享、计算、分析,最终达到对业务的有效指导是本系统的建设关键。在大数据应用平台项目基础软件及服务建设过程中,主要会面临以下挑战: - **扩展性:**当数据量达到一定限度之后,无论是数据存储、分析、查询,都会受到极大的限制,系统的横向扩展性的能力将是系统建设的重要考量之一。 - **价格:** 系统的横向扩展,必然会带来软件、硬件成本的增加,以及后期升级、维护、扩展的成本的投入也是系统扩展面临的挑战。 - **性能:**数据动辄TB、甚至PB,面对如此海量的数据,若要进行高效的计算、分析,为业务提供有效的指导,必须要满足业务允许的时间要求。 ##### 1.1.3 大数据趋势 随着移动互联网、云计算、物联网和大数据技术的广泛应用,现代社会已经迈入全新的大数据时代。掌握大数据资产,进行智能化决策,已成为企业胜出的关键。 越来越多的企业开始重视大数据战略布局,重新定义自己的核心竞争力,从数据中揭示规律,了解过去、知悉现在、洞察未来,数据驱动企业运行与决策的科学性,构建智慧企业,打造核心竞争力。 数据的爆炸式增长以及价值的扩大化,将对企业未来的发展产生深远的影响,数据将成为企业的核心资产。如何应对大数据,挖掘大数据的价值,让大数据为企业的发展保驾护航,将是未来信息技术发展道路上关注的重点。 ![](//img1.jcloudcs.com/developer.jdcloud.com/00fe7ddb-dc95-4fea-bc0b-3ca120526bd720220920145741.png) #### 1.2 目标 通过搭建基于商业版Hadoop大数据平台的数据仓库系统,实现对我司数据资产的充分利用。集成企业各业务系统中的数据,为企业提供统一的高质量的业务数据视图,进一步满足提升企业的经营管理分析和决策的需要。 ![](//img1.jcloudcs.com/developer.jdcloud.com/2004b5f3-c5f0-47f6-834e-0377a95823b920220920145753.png) ### 2 建设方案 #### 2.1 总体架构 ![](//img1.jcloudcs.com/developer.jdcloud.com/b9cafd27-df45-4b94-ab5b-cc73657d49d520220920145808.png) 总体架构是从数据层次划分、数据分布、数据流转、数据存储等多个角度对企业数据架构进行规划的合称。涵盖了从导入源数据,经过集中整合的数据加工和存储,最后通过数据展示层呈现给最终用户的全过程。 从总体逻辑架构中可以看出,数据架构包括内容如下: 1. **数据源层** 源数据层是指数据仓库系统的数据来源,为数据仓库提供数据。数据仓库的数据主要来自业务系统、三方系统以及部分管理系统。源数据层包含传统的结构化与非结构化数据源,对于消费金融的数据仓库系统,作为数据源的系统将包括核心信贷、财务、人力资源、移动营销、三方数据平台等。 1. **存储与管理层** 数据存储与管理层是数据架构的核心,采用Hadoop平台+FS-LDM方式构建,集中存放企业的各类数据,并提供数据支持服务。数据存储按照用途和业务目标,分为数据获取、数据整合与数据加工、数据服务访问等。 数据仓库金融行业逻辑数据模型FS-LDM说明参考:<a href="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" target="_blank">FS-LDM说明-参考1</a>、<a href="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" target="_blank">FS-LDM说明-参考2</a> 1. **数据应用层** 专题分析、报表分析等所使用的数据,将已经统计汇总好数据对外发布,支持应用的查询与专题分析。通过接口的方式直接查询数据或共享层即可得到想要的数据。 1. **数据展示层** 数据准备好后,通过门户应用提供给用户,让数据最大化地发挥价值。应用产品可考虑使用帆软报表工具、iRecharts、Cognos等进行数据分析展示。 1. **最终用户层** 按照用户使用的方式和特点,将用户分为不同层级,如:领导层、业务操作人员、决策人员、知识工作者/业务分析人员,管理员等等,用于区分数据权限隔离,保证数据安全。 #### 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流处理引擎四个产品组件。 ![](//img1.jcloudcs.com/developer.jdcloud.com/33e44bed-b609-4764-ac73-c2943086dc3420220920150126.png) - **完整的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 方法步骤 ![](//img1.jcloudcs.com/developer.jdcloud.com/a87eeced-7b7d-4d68-aa1e-72442e6c266020220920150243.png) 模型设计方法通过如下6个步骤进行说明: 1. **前期准备**:此工作将基于数据源范围中界定的数据源,全面分析评估公司的客户信息现状、数据现状、数据质量状况,确定数据整合的优先顺序,以支持企业级数据仓库建设长远目标。收集原系统需求文档,操作左手、表结构说明书、代码值、样本数据、相关脚本等。 2. **交流研讨**:确定客户化策略,明确LDM客户阿虎的工作方式和工作目标,确定工作模板。 3. **信息调研:**包括数据表分类、字段级信息整理、问题追踪记录、调研访谈会议纪要、ID调研报告。其中数据表分类、字段级信息整理、问题追踪记录是信息调研最重要的产出物,是后续逻辑模型设计、数据映射的基础,也是后续数据仓库维护、应用集市开发所需的重要文档。 4. ** 统一业务定义**:确定概念模型的主题域及其内容,包括主题域的公共码键、主题域之间的联系以及充分代表主题的属性组。制定模型命名规范根据经验提供模型命名规范的初稿,双方讨论确定逻辑建模过程中使用的通用命名规范,制定规范文档,确定客户化范围。 5. **客户化FS-LDM**:概念模型、逻辑模型设计将基行业完整的金融业逻辑数据模型LDM产品,结合数据源分析的结果进行客户化,形成逻辑数据模型(LDM),能够满足未来基于数据仓库的各项分析型业务应用的需要。 6. **模型验证:**包括数据模型、应用模型的验证,及数据合理性及数据规范性的验证。 ##### 2.3.2 设计规范 设计规范包括模型命名规范,数据类型定义规范,布局规范,注释规范。 1. **命名规范:**包括对逻辑数据模型的命名规范和物理模型的命名规范 ✔ 采用统一的中英文词库来维护命名 ✔ 逻辑数据模型中实体和属性中文命名不超过30个汉字 ✔ 物理数据模型表名和字段名不超过30个英文字符 1. **数据类型定义规范:**仓库中的字段长度尽量满足相应源系统字段中最大长度的要求,对常用数据类型分档次进行预定义。 1. **布局规范:**选用ERwin作为模型的设计工具,对主题命名方式、子主题设计方式进行规范,布局上,对实体进行布局属性进行有序排列,选用特殊颜色对不同主题熟悉进行有效区分,为使用带来便捷。 1. **注释规范:**对实体/表进行注释规范说明,对属性/字段进行注释规范说明,对脚本注释进行规范,杜绝无注释情况发生。 ##### 2.3.3 设计原则 ![](//img1.jcloudcs.com/developer.jdcloud.com/4dbac250-71f4-45ab-afbe-b63736f4e7ec20220920150440.png) 数仓分层设计采用三层架构,基础层、汇总层、集市层,设计原则如下: **基础层:** - 中性的,共享的:不针对某个特别的应用而设计 - 灵活的,可扩展的:能以第三范式存放最详尽的业务数据 - 稳定的,经得起考验的:能够在很长时间内保持稳定性 - 规范的,易懂的:使用规范的业务语言进行模型设计 **汇总层:** - 层次分明:设计分层次,逻辑上分为预处理层和轻度汇总层 - 应用驱动:可以借鉴行业经验,但自身需求是根本 - 提炼共性:汇总层需提炼出不同应用的公共指标 - 迭代开发:汇总层建设是一个循环往复的过程,不可能一步到位 **集市层:** - 支持星型建模:集市层未来支持星型建模 - 业务驱动:需要针对每个特定业务定制建立集市层模型 - 兼顾效率与数据粒度的需要:在模型设计时需要在二者中取得平衡 ##### 2.3.4 主题划分及主题关系 采用分类设计的策略 1. **重点设计主题(客户、协议、事件、资产、财务)** 特点:是模型中的重点主题,且在源系统中有丰富的数据来源和参照。 目标:尽量保持完整性、丰富性。 策略:按照FS-LDM的框架进行设计,同时补充银行的个性数据元素。 1. **自主设计主题(营销活动、渠道、机构、产品)** 特点:非核心主题,基本没有或者仅有非常少的数据来源和参照。 目标:保证模型架构的完整性和扩充性。 策略:按照FS-LDM进行设计,将来根据实际情况调整。 1. **简化设计主题(地域)** 特点:模型的重要参考主题,一般情况下源系统有数据,但定义和使用方法与FS-LDM不匹配。 目标:暂不进行唯一地址识别,但要完整保留此类信息。 策略:暂作为PARTY等的属性信息进行设计。 **下图为划分的主题说明及物理模型前缀说明:** ![](//img1.jcloudcs.com/developer.jdcloud.com/70f00ac0-c16b-410c-8b74-ba0614f71b9f20220920150606.png) **下图为划分后主题物理模型关系说明:** ![](//img1.jcloudcs.com/developer.jdcloud.com/4f65ceb4-cf14-4253-a1e5-3db9843e20f720220920150621.png) ### 3 实施计划 #### 3.1 实施关键点 一个成功的数据类项目需要具备以下4个关键要素: 1. 专业的试试与服务团队。 2. 现金成熟的试试方法。 3. 统一规范的数据模型。 4. **最为重要的是经过验证的成功案例。** ![](//img1.jcloudcs.com/developer.jdcloud.com/cf29ace5-f984-402d-bd76-40bdc7e1a9de20220920150655.png) #### 3.2 软硬件配置建议 基于客户业务系统现状及对系统数据量计算评估,推荐以下软硬件配置信息供客户进行选择。可在合理的范围内进行利旧取舍,以做到资源的合理利用。 **下表为软件信息列表:** ![](//img1.jcloudcs.com/developer.jdcloud.com/7c135b80-f510-4b3f-a4f6-cd77ff5b6d7c20220920150711.png) ** 下表为硬件件信息列表:** ![](//img1.jcloudcs.com/developer.jdcloud.com/1d7bf99d-826e-4a1f-9581-bdd963209b9120220920150730.png) #### 3.3 文档产出 一个完整的项目交付,需定制好项目实施范围清单,包括项目管理在内的业务设计、技术设计及系统开发测试,到最终上线及知识交接转移,同时也需要交付相关使用说明书等。 **下表为项目实施范围清单及项目交付清单列表:** ![](//img1.jcloudcs.com/developer.jdcloud.com/442bddb6-994b-4ba2-9425-424ce2b92dca20220920150748.png) #### 3.4 计划排期 本项目基于客户甲方要求分为8个阶段和40个工作内容,对项目整体排期进行分步骤实施推进。在项目经理的管控下对工作进行详细拆分,在不同的阶段输出相关文档,保证项目顺利实施。 ![](//img1.jcloudcs.com/developer.jdcloud.com/ceec76b5-f338-4b9d-a6d8-57e8f28c65d820220920150804.png) ###### 自猿其说Tech-JDL京东物流技术与数据智能部 ###### 作者:胡中鹤
原创文章,需联系作者,授权转载
上一篇:京东小程序CI工具实践
下一篇:一种基于柔性事务的分布式事务解决方案设计探究
自猿其说Tech
文章数
426
阅读量
2150685
作者其他文章
01
深入JDK中的Optional
本文将从Optional所解决的问题开始,逐层解剖,由浅入深,文中会出现Optioanl方法之间的对比,实践,误用情况分析,优缺点等。与大家一起,对这项Java8中的新特性,进行理解和深入。
01
Taro小程序跨端开发入门实战
为了让小程序开发更简单,更高效,我们采用 Taro 作为首选框架,我们将使用 Taro 的实践经验整理了出来,主要内容围绕着什么是 Taro,为什么用 Taro,以及 Taro 如何使用(正确使用的姿势),还有 Taro 背后的一些设计思想来进行展开,让大家能够对 Taro 有个完整的认识。
01
Flutter For Web实践
Flutter For Web 已经发布一年多时间,它的发布意味着我们可以真正地使用一套代码、一套资源部署整个大前端系统(包括:iOS、Android、Web)。渠道研发组经过一段时间的探索,使用Flutter For Web技术开发了移动端可视化编程平台—Flutter乐高,在这里希望和大家分享下使用Flutter For Web实践过程和踩坑实践
01
配运基础数据缓存瘦身实践
在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。
自猿其说Tech
文章数
426
阅读量
2150685
作者其他文章
01
深入JDK中的Optional
01
Taro小程序跨端开发入门实战
01
Flutter For Web实践
01
配运基础数据缓存瘦身实践
添加企业微信
获取1V1专业服务
扫码关注
京东云开发者公众号