暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DTCC2020 陈志刚演讲 | 新一代MPP数据库CirroData金融行业落地实践

CirroData 2021-03-24
2412

文约8624字,阅读约50分钟




在12月21日第十一届中国数据库技术大会上,东方国信金融事业部技术总监陈志刚为大家带来了主题为《金融行业企业级数据架构变革规划及落地实践》的精彩演讲,分享了企业应如何基于新一代MPP数据库建立企业级数据平台,并介绍了东方国信自主研发的国产数据库CirroData在金融行业替换TeraData、Hive、Impala、Oracle和某国产数据库的案例。以下为演讲实录。




尊敬的各位来宾,大家下午好,我是东方国信金融事业部技术总监陈志刚,非常荣幸在此与大家共同探讨“金融行业企业级数据架构变革规划及落地实践”这个专题。针对这个话题,我将从四个方面和大家探讨。


先看第一部分,数据技术是企业级数据平台的基础,直接决定了企业级数据架构的设计。在讨论数据技术之前,首先说一下对企业级数据架构的理解。所谓企业级数据架构,需要立足于全企业的数据和数据需求进行规划,需要考虑企业的全部系统,全部数据。



这是一张简单的银行系统概览图,中间部分是核心的业务系统,右边是外联系统,上面是接入系统,左边是基础系统,下面是分析系统,这些系统都是进行企业级数据架构规划需要考虑的。




我们把银行系统从业务类和分析类两个角度展开,如图所示:左边的是业务类系统,依托核心系统展开,每个框代表了一类系统,这里只对部分系统做了展开;右边的是分析类系统,依托数据仓库、数据集市展开,每个框代表了一个或一组独立系统。



这个图说明了企业级数据架构包含的范畴:


业务类系统是数据的来源,需要考虑这些系统业务规则、数据规则、采集规则等;


面向分析类系统,需要考虑数据如何处理,如何使用;


需要根据数据的类型、数据量、使用方式等定义数据的存储方式和处理模式,只有这样,才能立足全企业,满足全部的数据使用需求。


这个图也说明了企业应用的特点,这与ToC场景不同,例如,在银行系统中:


需要以拉链、快照等形式保存完整数据历史,可以查询历史上任意一天的数据;


需要考虑几千个机构的多套组织关系、不同业务场景使用不同的关系,但基础数据只有一份,可以快速基于不同口径生成相关数据;


需要涉及基于科目的复杂运算、基于指标的复杂处理逻辑、基于多种规则的汇率折算处理,包括机构层面的、客户层面的、集团层面的等等不同粒度;

需要涉及轧差处理、日均处理等等,轧差会涉及多种算法,日均处理中会涉及多种逻辑,包括比较复杂的动移动日均等。


上述这些逻辑不是孤立的,是交叉组合的,还会涉及历史口径、当前口径等,能够用历史口径看历史数据,能够用当前口径看历史数据。


这些复杂处理逻辑背后是企业精细化管理的需要,比如既要分析基于实际数据的业务情况,还要分析去掉口径影响的业务情况,还能分析去掉汇率影响的业务情况等等,不同业务板块的系统,侧重点是不同的。



但作为企业级数据架构,需要综合所有的数据和所有的数据需求、业务需求,对企业内的数据进行合理的分层,并对数据需求和业务需求进行分层,将其合理分解到不同的数据层次上,在全企业层面用综合代价最小的方式实现,并具备最好的扩展性。



到目前为止,对于大部分银行都已经建立了大数据平台,建设情况如图所示:





图中列举了这些银行主要使用的产品、应用系统的类型,以及对应的功能类型。数据平台的建设过程,可以总结为两类典型的建设模式:

第一种典型模式是使用一类数据产品解决一类应用问题,多个产品并行,总体而言,主次不太明显,这种模式多以应用驱动的方式建设平台;

第二种典型模式是划分主次,即采用一个主产品解决基础储算问题,并能解决大部分应用系统的数据需求,对于个性化应用需求采用特定产品解决,主次划分很明显,平台建设的整体规划性会更强。



第二种模式明显优于第一种模式,随着建设经验的积累,第二种模式逐步成为主流模式,这种模式在开发成本、运维成本、规范性和稳定性方面都表现出了明显的优势。关于这种模式,其中最核心的是主产品即基础储算产品应该如何选型?这是建设企业级数据平台的重中之重。



对于基础储算产品有两条技术路线,即大数据技术路线和数据库技术路线。关于大数据技术路线,存在一系列的储算产品,但从数据库的角度来看,这些产品可以简单理解为不完整数据库,即把数据库的一类特性发挥到极致,而舍弃其他特性。比如HBase侧重精确查询、Hive侧重批量处理、ES和solr侧重全文检索、Redis侧重内存计算等等。实际这些大数据的储算产品更擅长基于单表的特定场景处理。

 

关于数据库技术,已经发展了几十年,详细过程很复杂,不过我们结合企业近二、三十年实际应用情况来看,主要可以分为两个阶段,即SMP架构阶段和MPP架构阶段。


SMP架构下依赖单机服务器性能,后来遇到瓶颈后使用集群部署,但此架构的集群扩展能力较弱,典型的是Oracle RAC;


后来MPP架构数据库发展起来,MPP数据库也可以分为两个阶段,传统MPP和新一代MPP。


传统MPP典型的代表是TD、GP等,其最大特点是ShareNoing,所有节点参与运算,扩展需要数据均衡、停服务;

第二个阶段是新一代MPP数据库,其典型的特点是数据存储采用分布式文件系统,采用计算与存储分离、动态计算、动态存储,在并发能力、扩展能力、持续服务能力方面都克服了传统MPP的缺点。



数据技术的发展带来了数据类产品的层出不穷,在这数据技术繁华的背后已经显现出未来储算产品的趋势,包括:对sql支持、存储计算分离、租户管理、数据共享、横向扩展、支持HTAP、支持新技术接入......等等,能够支撑企业级标准数据,支持多中心架构。




当前流行的数据库产品正在越来越多的支持上述场景。这是数据技术发展的大势所趋,将成为未来储算平台的基础要求。

 

数据库技术发展了几十年,已经相当成熟,比如传统的MPP数据库,在联机计算方面已经非常优异,以TD为例,在非高并发的企业应用场景下,目前的大部分数据库性能是不如TD的;而在大数据技术中,有两个最基础的技术,一个是分布式文件系统,一个是MapReduce。其中MapReduce联机性能不佳,但分布式文件系统可以很好的解决MPP数据库扩展的问题。



新一代MPP数据库是传统MPP数据库计算引擎与大数据分布式文件系统结合的产物。其在行列混合存储、sql支持、联机处理等方面继承了传统MPP数据库的特性;在海量存储、弹性扩容缩容、租户管理等方面继承了大数据技术的特性;两者结合形成了动态计算、高并发分析等能力,最终具备支持企业级平台建设的能力。新一代MPP数据库正在成为企业级数据平台的首选

 

目前在企业应用中,多种数据储算产品并存,像传统数据库、Hive、hbase、spark、impala等。而针对这些产品的特性,新一代MPP数据库均已超越,或者在一定范围内达到这些产品的性能,如hbase,在并发1000以内的精确查询,新一代MPP数据库性能可以达到或接近HBase的性能,具备替代性。



随着新一代MPP数据库TP能力增强,内存处理能力增强,其他储算产品也将被逐步替换,包括hadoop生态中的一部分产品。



但Hadoop生态仍会保留,成为新一代MPP数据库的有力补充,即整个企业级数据平台底层基于分布式文件系统,基础储算能力基于新一代MPP数据库实现,hadoop生态解决特定场景处理,处理方式为将MPP中的数据取出,处理后,将处理结果存到MPP数据库中,供全企业使用。



随着新技术被逐步纳入MPP数据库中,开发更规范,标准更统一,平台更完善。但新的处理需求又会持续引入新的hadoop生态产品,从而形成了MPP为主+Hadoop生态为辅的良性发展态势。


我们对数据技术的发展做一个总结:




最早程序和数据是在一起的;

随着商用数据库的出现,实现了数据与程序的分离,系统表现为C/S架构;

局域网的发展,实现了批量与联机的分离,系统表现为采用B/S/S三层架构;

数据仓库的发展,实现了分析与交易的分离,开始了平台化系统建设;

随着大数据的发展,实现了数据与计算的分离,即基础储算与专业计算进行了分离,表现为云化平台建设。由原来的一个系统部署“一套数据库集群+一套应用集群”优化为全企业部署“一套储算平台+一套云计算平台”,实现计算资源的按需分配。

 

接下来我们探讨一下企业级数据架构变革规划。基于新一代MPP数据库+hadoop生态,传统的ODS、数据仓库、数据湖、数据集市、应用系统的数据架构可进行统一整合,如图所示,仍以银行为例说明:




银行的整个储算平台分为三部分:

1

首先是基础数据区,里面包含了结构化数据和非结构化数据

结构化数据中包含了临时数据区——全平台中统一的临时数据、贴源数据区——按系统保留的每日的原始数据、主题模型数据区——传统数据仓库的模型数据、汇总数据区——传统数据仓库的汇总层数据、维度宽表数据区——企业级维度模型数据。

贴源数据、主题模型数据、汇总数据、维度宽表数据是全行级的公共数据;上面数据集市数据,是面向某个业务条线或业务板块公共的数据。这些构成了全行的基础数据。结构化的贴源数据对应传统的ODS,加上原始的非结构化数据对应常规概念的数据湖;主题模型数据和汇总数据对应传统的数据仓库;数据集市区对应传统的多个数据集市;维度宽表数据对应数据中台中的企业级维度模型。

2
基础数据区上面是应用数据区,里面存放应用系统专用的数据;
3
还有元数据区,存放数据平台的统一的元数据信息。

 

在技术上,结构化数据存储统一采用新一代MPP数据库存储,非结构化数据目前仍建议采用大数据技术存储,如HDFS+ES(或solr)+Hbase存储,一般大文件可直接放到HDFS上,小文件建议存到HBase中。而数据的采集、处理和特定计算可依托Hadoop生态组件实现,从而实现新一代MPP数据库和Hadoop生态的有机结合。

 

在大数据储算平台的基础上,将数据以API服务的方式对外开放,构建统一的数据服务平台,完成企业数据中台的建立。在技术实现上,数据服务平台和应用系统基于微服务架构,建立统一的数据应用平台;数据储算平台采用大数据分布式架构,基于新一代MPP数据库和Hadoop生态实现;最终完成企业级数据平台云化服务架构。而储算平台与数据服务平台构成了数据云,应用系统组合形成应用云。

 

关于金融行业企业级数据平台建设的建议如下:


首先,系统上云是大趋势,储算平台上云目前是有风险的,需慎重。因为金融行业对数据安全和系统响应要求很高,一旦出现问题,可能会造成数据不可恢复,或恢复周期过长。不建议储算平台上云只是目前不建议,待私有云技术进一步完备后再上云也不迟。决定储算平台是否上云一方面需考虑产品自身,另一方面需考虑本企业对云平台的运维管理能力。


其次,数据平台可采用多套物理部署,集群拆分考虑的因素包括:系统的级别(A\B\C类)、响应时间(实时、离线)、灾备级别(无需灾备、同城灾备、两地三中心灾备)、性价比(高配服务器、低配服务器)等划分不同集群,但不论多少个集群,部署产品一致,统一管理。


另外,单集群节点数支持应尽量大,这样可以避免数据平台因技术所限而不得不部署多个集群的情况。



下面说一下我们东方国信企业级数据平台的落地实践案例,仍以金融行业为主:

东方国信1997年成立,2011年上市,目前有员工近1万人,其中研发人员超过2000人;

东方国信是专业的大数据公司,大数据+战略落地八大行业板块;

我们东方国信自主研发了新一代MPP数据库——CirroData;

CirroData从2011年开始,历时9年,已经发布到了2.8版本;

2013年完成单机版研发后,开始并行版开发,并引入分布式文件系统;2014年落地第一个客户,替换Oracle,性能提高100倍,并在通讯行业持续推广;

2017年推广到金融、政府、工业等多个行业;

2020年12月18日,CirroData获得由信通院颁发的“分布式分析型数据库基础能力评测”证书和“分布式分析型数据库性能评测”证书;


CirroData产品定位解决如下场景问题:高性能海量数据批量加工、高性能复杂查询、高并发精准查询、低延时即席分析、复杂场景支持等;


CirroData完全自主研发,自主可控,并面向战略客户定向开源。




CirroData架构是遵循了MPP数据库架构,并做了优化,存储使用了分布式文件系统,核心功能包括:

MPP引擎,具体包括数据库引擎、分布式事务管理、分布式存储引擎;PLSQL执行器  即存储过程引擎;

MDC  支持多个CirroData集群的多中心统一管控和并协调计算;

数据联邦  提供跨库计算和异构数据源整合能力。



下面简单介绍一下CirroData数据库的技术特点:

CirroData数据库采用存储计算分离、动态计算、动态存储架构;

CirroData数据库支持多租户,并针对企业应用做了定制化开发,可支持三级租户,三级租户支持资源在线动态划配;

CirroData提供了类似plsql的开发工具,具备单步调试功能;
CirroData采用Master对等技术,可消除性能瓶颈,并提升可靠性,即每个节点都可以接收访问请求,接收请求后作为主节点将任务分配给其他节点,并负责最终返回结果;

当某个节点出现故障,只会影响该节点当前处理的任务,待任务重新提交,将分配新的节点处理;

CirroData采用行列混合形式存储,且对使用用户透明。




这些是CirroData的典型客户,我们目前已拥有一百多个客户,涉及通信、金融、政府等行业。下面介绍一下相关案例。


在某金融客户案例中,采用CirroData替换了TD,表中所示是迁移完成后的实际性能对比。可以看出,在上亿的表加工处理上,CirroData性能比TD快若干倍,数据量越大,优势明显。另外,TD耗时最长的的15个任务,CirroData性能均优于TD。CirroData每日批量总体完成时间比TD提前1-2小时;



在某金融客户案例中,基于实际运行程序和实际数据,测试CirroData和GP的性能:CirroData用10个节点,对比GP24个节点,性能提升12倍,并在并发、缩容扩容等方面优于GP;

 

在某金融客户案例中,将原基于Hive的系统迁移到CirroData上,迁移后基于实际数据的性能对比,如图中所示,综合下来,性能提升在100倍左右;

 

在某金融客户案例中,CirroData和Impala的对比测试。场景为针对单表几千万行数据,上千列的表的并发精确查询。Impala服务器CPU是CirroData服务器CPU2倍,而CirroData性能远高于Impala,同时CirroData在安全性、稳定性、开发便捷性方面优于Impala;

 

在某金融客户案例中,进行CirroData替换Oracle的技术验证测试,使用实际程序和实际数据进行对比测试。选择当时较慢的5个存储过程进行验证,这些存储过程平均在千行以上,代码改写率为2.6%,主要是hint、类型转换等改写。在没有优化的情况下,性能提升10倍。

 

在某通讯行业客户案例中,使用CirroData替换某国产数据库,本次测试主要测试并发能力的横向扩展。每个用户都跑250个固定sql请求,使用8个节点,50个用户并发执行;再使用16个节点,100个用户并发执行,总时间相近,完全按线性扩展。这个特性在多个金融客户的实际场景中也得到了验证。

 

在某机构客户的MDC验证,即实现多个中心的CirroData物理集群基于MDC能力统一管理,对外相当于一个数据库。




东方国信目前基于CirroData已经提供了完整的系统迁移方案,支持数据仓库、ods、数据集市、分析类应用系统的平滑迁移。该方案支持多种数据库的整体迁移。



迁移工作可分为数据迁移、程序迁移和作业迁移三部分,并形成了完整的迁移流程。在迁移方案中包含了多个迁移工具:

数据迁移工具可实现多种数据库到CirroData的快速迁移;

数据核对工具可保证新老数据库中的数据严格一致;

程序迁移工具可实现程序的快速迁移,即将原数据库的程序包括存储过程、perl脚本、等批量转换为CirroData的存储过程、perl脚本,然后进行人工调试,快速实现迁移;

调度迁移工具可实现原任务调度逻辑的平滑迁移到新系统。

 

东方国信建立了面向企业的研发体系:




即:研发中心完成面向各行业的通用产品研发和底层的行业定向研发;产品研发支撑中心完成行业内通用的定向研发;事业部或子公司完成面向具体客户的定向研发。研发能力从研发中心到研发支撑中心再到事业部或子公司,而对行业理解、业务理解则从事业部贯穿到研发支撑中心再到研发中心。上下打通,实现最优的行业理解、客户理解,形成最佳的面向客户的定向研发能力。也正是这个原因,在上述测试案例中,当使用实际程序和实际数据对比测试时,CirroData表现更为突出。



下面,我们一起展望一下企业级数据架构的未来。




在金融行业的数据仓库建设中,模型层中包含大量的整合工作,这是因为某些信息存在于多个业务系统中,需要在数仓中对这些来自多个系统的信息进行整合加工,而这些重复信息也给业务系统带来了很多麻烦。因此,目前的业务系统已经逐步倾向于中心化建设模式,即从全行角度先规划数据模型,再规划业务,即以数据模型驱动业务系统建设。



举例来说,应首先进行数据规划,比如规划客户的数据模型,然后基于这个模型建设客户中心化的业务系统。其他系统维护、使用客户信息,只能调用客户中心系统的服务来实现。



这就实现了全行只有一套数据,只需维护一个系统,而这样的数据在进入数据平台时就已经是规范化的了,无需再进行整合。这样的结果是企业级数据架构将逐步简化,简化的内容包括主题模型的淡化、汇总数据的简化和维度宽表的简化、以及数据集市处理的简化,而贴源层会更重要。不过,业务系统的中心化趋势并不能完全取代汇总数据和维度宽表数据、集市数据,这涉及到不同维度、不同业务的数据加工处理、整合汇总,而这在中心化的业务系统中是很难完成的。

 

第二点,对于信息化程度高的企业将完成企业数字化转型的双引擎架构,即业务核心和数据核心。




随着业务系统的中心化建设将建立相互独立的业务中心组件,这些业务中心组件又依据重要性由核心向外围展开,每个业务中心组件有明确的价值体现,这些业务中心组件构成了企业业务核心。



随着数据平台的持续建设,将形成独立的数据服务中心组件,而这些数据服务中心组件同样依据重要性由核心向外围展开,每个数据服务中心组件有明确的价值体现,这些数据服务中心组件构成了企业的数据核心。



业务核心支撑了企业全部业务应用系统;数据核心支撑了企业全部数据应用系统,并覆盖到业应用务系统。业务核心底层依赖分布式交易数据库集群,数据核心依赖大数据分布式集群,包括新一代MPP数据库和hadoop生态产品。



再上升一个高度来看,业务类系统产生数据,数据类系统基于数据产生决策,影响和优化业务系统,从而进一步完善业务数据,提升数据质量,进而产生更精确的决策...........最终形成良性的企业信息循环,实现企业的智能化管理。



可以看出,未来企业信息化是企业发展的基础,而数据平台是企业信息化的基础。数据平台将逐步从后台走到前台,由辅助决策走向智能决策,成为企业发展的“指挥中枢”,成为企业发展的“超级大脑”。


鉴于立足全企业的进行平台化建设的复杂性,企业级数据平台的咨询规划能力将成为公司的核心竞争力。咨询规划的内容包括但不限于:台整体规划,包括规范、模型、流程、制度的规划和设计;数据服务模型的规划和设计;基于业务支持的服务能力;专业技能培训能力;基于全行数据的支持服务能力等等。



同样鉴于立足全企业的进行平台化建设的复杂性,相对于传统技术,大数据平台的技术范围更广、更新更快、复杂度更高、问题解决难度更大,而且一个平台上运行着若干系统,一旦出现问题,影响面可能会大的多,因此对于企业级数据平台的运维与传统运维有所不同,专业运维能力在未来将非常重要。



最后谈一下新一代MPP数据库的HTAP特性:HTAP是指数据库同时具备OLAP和OLTP能力,即只存储一份数据,需要同时提供AP和TP的能力,批量处理性能很好,增删改的TPS性能也要很好。



就当前的技术而言,实现难度要求是很高的,即使说某个产品具备了HTAP功能,一般来讲其TP能力可能不如专业的TP数据库,其AP能力可能不如专业的AP数据库。也就是说HTAP还在路上,就企业应用而言,远水不解近渴。



换个角度看,HTAP场景确实越来越多,不过相比之下,单纯的TP场景和单纯的AP场景更多一些,以金融行业为例,AP和TP的场景差别还是比较大的,AP与TP共存且都看重的场景并没有想象的那么多。因此,在目前没有真正的HTAP数据库的情况下,对AP和TP问题可以考虑分别解决,这样会更容易一些。



从目前情况看,HTAP很有可能会形成“TP为主、AP为辅”或“AP为主、TP为辅”两个方向,即分别解决现有TP系统中的AP问题、或AP系统中的TP问题。短期内,把TP和AP都做好有难度,但以一个为主一个为辅要容易的多,这也是目前很多数据库的做法。所以真正的HTAP实现还需要一定的时间。正是这个原因,未来HTAP可能会出现组合,即某个AP和某个TP组合使用,这进一步可能会推动研发团队的整合,包括收购或战略联盟。



关于企业级数据架构的未来展望我们就先讨论这么多。我今天的分享到此结束,感谢大家的聆听。


陈志刚
东方国信金融事业部
技术总监


拥有20多年金融行业数据平台建设经验,先后为多家银行在数据仓库、大数据平台、数据挖掘平台、分析平台、全行指标体建设等方面提供专家服务,主要为大型银行、股份制银行、国有银行、大中型城商行提供服务,在大型企业数据架构规划方面拥有丰富的经验。



CirroData是北京东方国信科技股份有限公司自主研发的一款面向海量数据分析型应用领域的分布式云化数据库。采用了先进的计算和存储分离的技术架构,融合了分布式存储和MPP并行计算的各自优势,不但可以轻松实现云平台上的伸缩扩展能力,而且可以提供随需部署的能力,是新一代云数据仓库的典型代表。


CirroData能满足PB级海量数据的存储和分析,这些数据可以分布在数百台通用服务器上,能够被数千并发用户高速访问,可以满足数据密集型行业日益增大的海量数据存储、高性能加工,在线分析、即席查询和高并发访问的需求。


最后修改时间:2021-03-24 15:41:06
文章转载自CirroData,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论