一、非功能性指标
未来数据架构的建设需要考虑系统的非功能性指标,见表3-1。
表3-1 非功能性指标
具体实现上述指标的做法可以有以下几种,如图3-7所示。
图3-7 实现指标的方法
1)统一进行数据架构规划,建立标准和规范,在统一的平台进行设计、开发、测试和部署。
2)将一些功能抽取成公共组件,形成可重用的资产。
3)使用成熟的技术提高数据加工和处理的能力,支持对关键环节的并行处理能力,扩大数据处理和对外发布的可用时间。
4)将业务逻辑尽可能迁移,减小数据库处理的压力,提高系统并发处理的能力和可扩展的能力。
二、数据架构现存问题影响及分析
问题影响及分析主要包括对现状问题的描述,并且提出对系统的改进点。举例如下所示。
问题1
系统的并行处理能力差,数据迁移期间无法对外发布服务,对外服务窗口时间缩短,资源使用不均衡,数据库服务器的压力过大。同时硬件资源使用情况不均衡,出现资源浪费的情况。
改进点
将业务处理逻辑拆分,减少数据库服务器的压力,提高应用的并行处理能力,增强对关键环节的并行处理能力,选择成熟的数据处理和加工技术,尽量做到数据采集、加工和对外服务的并行处理,减少数据处理环节间的技术依赖和约束。
问题2
没有统一的技术开发框架平台,每个模块都有自己的开发框架,代码的可重用性降低,维护难度高。
改进点
制定统一的架构原则和方法,抽取公共组件。完善设计开发规范,形成统一的、完整的技术体系框架。
问题3
未形成统一的数据采集技术支撑体系,特别是多渠道的、零散的对外采集子系统,增加了数据采集质量的管理难度。
改进点
形成统一的数据采集技术支撑体系,整合数据采集技术,实现自动化的数据采集功能,增加断点续传能力和数据传输监控能力。
问题4
对数据校验、入库、加工处理和统计分析能力的不足。
改进点
可以引入ETL技术,满足数据处理和加工的工作要求。同时引入数据仓库的技术,提高对海量数据的统计分析能力。
三、未来数据架构的参考点
对于未来数据架构,可以参考以下思想内容:
首先强调数据的存储与流转,支持层次化的处理,包括对结构化数据与非结构化数据的处理能力。例如,数据架构的层次可以包括源数据、内容管理、数据交换、数据存储区、数据加工区和应用。下面对这几个层次进行说明。
(1)源数据
源数据可以包括如来自互联网、政府部门、同业、手工录入的信息。对于数据源来说,主要定义数据采集的来源、格式和采集方法等内容。
(2)内容管理
内容管理提供对各种非结构化数据的存储、访问和管理的能力。例如,对图像、音频信息和办公文档等信息的处理能力。为半结构化和非结构化数据提供捕获、管理、存储、保护和交付等方面的功能。
(3)数据交换
数据交换包括数据的抽取、订阅,以及ETL过程等内容。为系统与外部数据交换提供支持。
(4)数据存储区
例如ODS、基础数据存储、非结构化数据存储。数据存储是保存从各个数据源采集的、贴数据源的、近期的数据和全量的基础数据,全量的基础数据将作为后续数据加工的唯一可信数据源。
(5)数据加工区
数据加工区包括数据仓库、主数据和查询库等。例如在主数据中进行身份信息整合加工。
(6)应用
应用包括查询类应用、分析类应用和管理类分析。根据参考架构进行目标架构的设计,未来数据架构是在参考架构的基础上,结合业务特点进行一系列的调整而成的。
四、对未来架构的解读
未来架构的重点在于对源数据层、内容管理、数据交换层、数据存储区、数据加工区、应用的分析和解读。
1.源数据层
数据源层需要描述采集数据的类型,例如采集的数据一般分为结构化数据和非结构化数据,其中非结构化数据可以包括各种音频、图像、视频等信息。我们从以下几个角度对数据源层进行分析:数据来源、格式特征、数据量和频率等内容。如图3-8所示。
图3-8 对源数据层进行分析
(1)数据来源
例如,从外部数据库,或以手工录入、网络爬虫等多种形式抽取数据。
(2)格式特征
判断数据的采集是以结构化数据为主还是以非结构化数据为主。
(3)频率
考虑多长时间生成数据。
(4)数据量
考虑采集的数据量是多少,是新增的数据量大还是更新的数据量大。
对源数据的采集,需要考虑对采集数据的唯一定位。举例来说,个人信息的采集需要考虑是否可以用姓名、证件类型、证件号码的方式对个人进行定位,因为同一个人的不同证件可能会定义成不同的实体。
2.内容管理
内容管理主要提供对非结构化数据的存储、访问和管理功能。例如,系统可以从其他渠道采集非结构化数据,然后再通过标注或者文本挖掘技术,建立非结构化数据的元数据,在此基础上与结构化数据整合,再存储到数据仓库中,以供分析使用,或者对非结构化数据建立单独的分析应用。
具体做法是先将非结构化数据存储在库中,然后通过建立标签和摘要等方式获取结构化的信息,再利用数据交换层加载到数据缓存区中,最后加载到数据仓库中,以供分析使用。
3.数据交换层
数据交换层承载着数据库之间的数据交换功能,交换层可以包括外部交换层和内部交换层。
一般来说,数据交换层包含ETL过程,数据的抽取、订阅,质量检查等功能,如图3-9所示。
图3-9 数据交换层的功能
(1)ETL过程
ETL过程包括数据的抽取、清洗、转换和加载。在清洗过程中还包括数据的预处理校验、入库校验、数据关联校验等内容,经过去重、合并、拆分、标准化和整合等过程,将转换后的数据加载到目标库中。
(2)数据的抽取、订阅功能
数据的抽取、订阅是为了从数据源层中获取原始数据,并且实现一源多目标的数据更新方式。如图3-10所示,抽取、订阅是可以实时或准实时、批量获取源系统的增量或全量数据,然后再根据不同的需求和业务规则将数据分发到不同的目标库中。
图3-10 数据的抽取、订阅
(3)质量检查功能
数据质量检查是数据交换层的重要工作,包括验证数据的类型、格式、长度等内容,确保经过数据质量检查后,数据能够满足业务和技术对于数据的基本质量要求。经过数据交换层的质量检查后,可以生成一系列的文件,例如清洗的结果文件、记录清洗结果的报表文件和不合格文件等。
清洗结果文件是经过数据质量检查后,符合一致性、准确性和完整性的合格的文件,可以当做后续加工处理的唯一可信的输入文件。
记录清洗结果的报表文件包含了数据最原始的信息和清洗过程中的相关信息,例如数据不合格的原因、对数据不合格的标识等内容。
不合格文件是经过数据质量检查后,不符合数据一致性、准确性和完整性要求的数据,是没有通过质量检查的数据。
数据交换层关键设计:
数据交换层,包括外部数据交换和内部数据交换,支持系统内部和系统之间的数据在各个数据库之间的流转,如图3-11所示。
(www.daowen.com)
图3-11 数据交换层
●以增量的方式捕获数据
将源系统导出为增量文件,供后续加工和并行加载,用来提升效率。增量捕获的方式包括:触发器、时间戳、全表对比和系统日志分析的方式等。
●提高数据交换的效率
通过细化作业任务,保证数据在传输过程中不执行加工操作,使传输和加工以并行的方式进行,同时分析任务之间的关联关系,确定任务的调度机制。这些方式都有效地提高了数据交换的效率。
4.数据存储区
数据存储区是对采集来的数据进行校验和存储,最后形成系统后续加工唯一可信的数据源。数据存储层包括ODS、基础数据存储和非结构化数据存储,如图3-12所示。
(1)ODS
ODS可以分成两部分内容,一个是临时缓冲区,另一个是加载区,如图3-13所示。
图3-12 数据存储区
图3-13 ODS
临时缓冲区是经过格式校验的数据缓冲区,它是贴数据源的数据存储。临时缓冲区的数据和加载区数据可以进行关联校验,如果满足逻辑校验的要求,则该新增数据直接插入到数据加载区,并且替换掉加载区上期的数据。
下面介绍一下ODS具有的特性:
首先,对于传统的ODS来说,它是面向主题的、即时的,也可以是贴数据源的,反映当前数据变化的内容。
ODS保存最近一期的数据,为了快速生成查询报告,同时校验数据和对基础数据存储进行供数,提高对海量数据的快速加载和校验能力。
其次,对于数据的校验来说,加载区保存了上期的数据,根据逻辑校验的需求,可以包含贴数据源的数据,也可以对某些指标进行累计汇总。校验规则可以有以下几种:
1)新增数据和最近上期数据的关联校验。例如,对于本月还房贷的累计次数一定大于上一期的累计次数。
2)新增数据和累计汇总指标的关联校验。例如,贷款金额-贷款余额≤累计还款金额。
但是对于漏报补报的数据,一般来说,不具备关联校验的条件。
(2)基础数据存储
基础数据存储作为系统唯一可信的数据源,存储校验通过的数据,也存储非结构化数据结构化后的信息。基础数据存储可以实时批量地导出增量文件,以供后续加工使用,如图3-14所示。
图3-14 基础数据存储
(3)非结构化数据
非结构化数据是指存储经过处理后的非结构化数据。
5.数据加工区
数据加工区的数据来源于基础数据存储,并将加工后的数据提供给应用层。数据加工区包括查询库、主数据和数据仓库,如图3-15所示。
图3-15 数据加工区
(1)查询库概述
对于查询库的产品,可以批量地将基础数据存储导出的增量文件加载到查询库中,然后再进行产品的加工。
(2)主数据概述
主数据是描述核心业务实体及其关系的数据,但是不是交易流水类的数据,主数据具备共享价值、相对静态稳定的特点。在主数据中,包括对主体的识别和归并,也就是利用规则的识别、合并和覆盖处理,实现主体的唯一性,提高主体数据的可信度,并且使用唯一主体标识进行标识。
例如,对于个人的基本信息可以使用证件类型、证件号码和姓名作为唯一标识。其他信息均反映个人的真实信息。个人信息的识别过程如图3-16所示,证件类型、证件号码和姓名可以作为客户A的唯一标识。
图3-16 主数据
主体识别的详细过程:
因为国情的不同,有些国家的身份信息整合方式是以自然人为整合对象,主要利用姓名、证件号码、地址等信息进行整合,然后采用自主研发的数据匹配和整合技术,并且通过疑似查询、模糊匹配等先进手段,对信息进行整合。而国内可以采用证件类型、证件号码和姓名进行身份识别,对于识别出来的职业、地址等信息可以按照时间排序等手段来取舍。
例如,对于一些疑似身份信息的整合过程,包括:明确身份信息整合的规则定义、疑似身份信息清单的生成、疑似身份信息的整合及归并等内容。
举例来说,身份信息的疑似规则可以包括:姓名+手机号、姓名+出生日期等。疑似身份信息整合可以将疑似清单发送给相关人员进行确认。归并过程是将疑似身份信息清单进行合并和整合,如将地址信息、联系信息合并。
数据整合技术如图3-17所示。
图3-17 数据整合技术
1)对于多条信息的识别,首先根据规则确认一条真实可信的记录,然后将缺失的数据补全。
2)保存所有的信息,根据不同维度给出不同的答案。
3)保存所有的信息,按照某种优先级展现全部数据。
(3)数据仓库概述
数据仓库主要存储全局的信息。我们可以把数据仓库分成基础数据、汇总加工和库内集市,如图3-18所示。其中基础数据和汇总加工主要为库内集市提供数据。对于简单加工和以查询为主的数据服务,尽量不使用数据仓库。对于需要大量历史数据和复杂计算的,可以使用数据仓库。
因为数据仓库通常包含历史数据,记录了各个阶段的历史信息,所以对查询的时效性要求不高。一般来说,数据仓库是不进行删除的。
图3-18 数据仓库
(1)基础数据
基础数据存储了数据仓库最具细节性的数据,它可以来源于基础数据存储、主数据中的身份信息整合和查询类相关产品的信息等内容。一般来说,基础数据按照数据仓库模型进行组织,同时作为汇总加工层的数据源。
数据仓库中的基础数据和基础数据存储是有区别的。
1)首先,它们的目的不同,基础数据存储作为系统唯一可信的数据源,而数据仓库中的基础数据是为数据仓库后续加工考虑的。
2)然后,基础数据存储是贴数据源的,支持对各种产品的加工,时效性较高,并且对数据仓库供数。而数据仓库中的基础数据一般来说是按照第三范式进行存储的,它强调对各种数据的集成,时效性较低。
3)最后,数据仓库中的基础数据除了存储基础数据存储的数据外,还存储主数据的身份整合信息和产品信息等内容,目的是支持高级的决策分析。
(2)汇总加工
汇总加工是对基础数据的明细数据进行轻度汇总,通过对常用数据的汇总,可以降低后续ETL的复杂性。
(3)库内集市
库内集市可以分成分析类集市和管理类集市。它们都是根据业务需求形成的数据集合。
分析类集市是通过数据挖掘、文本分析、预测分析等手段,帮助企业挖掘有用的信息,以提高企业决策分析的能力。
管理类集市是指为了企业管理的需求而进行的数据分析,可以包括管理驾驶舱、固定的报表、OLAP多维分析等内容。
对于数据仓库质量的管理,可以包含以下几种方式:
1)采用抽样统计分析的方法监测数据仓库的质量。
通过抽样的统计分析方法来提高数据的加载效率和快速发现数据的错误。首先判定该批次数据的质量等级,然后根据不同的质量等级,采用不同级别的校验规则。对于质量等级非常好的一批数据,可以采用较为宽松的校验规则对每条记录逐条检查。反之,则采用较为严格的校验规则逐条检查。这种方式可以大大提高数据的加载入库效率和数据质量检查效率。
换句话说,保证数据的质量检查尽量在入库前完成。如果发现入库后的数据质量有问题,那么可以采用异议处理或者其他方式进行改进。如果在入库前发现系统级别的错误,则将错误结果反馈给源系统,如图3-19所示。
图3-19 抽样统计分析的方法
2)对于数据仓库质量,可以采用格式校验、逻辑校验的方式和两端数据对比的方式进行验证。如果发现两端数据不一致,则将结果反馈给源系统进行核查,如图3-20所示。
图3-20 数据仓库质量验证
3)在数据仓库部署业务检查规则和技术检查规则,周期性地对数据仓库质量进行检查,并且将检查结果提交给质量管理平台,由质量管理平台对提交的检查结果进行识别和分析,最后再提交给源系统去治理和改进,如图3-21所示。
需要理解的是,数据仓库不仅仅是技术,它更是一个管理课题。从内部管理上来说,它可以真实地反映企业的经营状况和未来的发展趋势,为领导决策和经营管理提供准确和全面的分析。同时可以利用数据挖掘,更好地为客户服务。有关数据仓库的介绍,将在第9章详细介绍。
图3-21 数据仓库部署检查规则
6.应用
应用可以包含各种查询类应用、分析类应用和管理类应用。它们的数据源来自于数据加工区的数据,同时可以将数据查询记录返回给数据仓库作为分析数据使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。