yinren 2020-02-24
在大数据和数据科学的新时代,对企业而言,一定要有与业务流程保持一致的中心化数据架构,该架构能随业务增长而扩展,并随技术进步而发展。
一个成功的数据架构可以使数据的各个方面清晰明了,从而使数据科学家能够高效地处理可信的数据并解决复杂的业务问题。
架构还能帮助组织做好必要的准备,以利用新兴技术迅速抓住新的商机,并通过管理整个企业中的复杂数据和信息交付来提高运营效率。
与信息架构、系统架构和软件架构相比,数据架构相对较新。数据架构师的角色也很模糊,落在了高级业务分析师,ETL开发人员和数据科学家的肩膀上。尽管如此,在本文中,作者将用“数据架构师”(Data Architect)来指代那些为组织设计数据架构的专业数据管理人员。
说到架构,我们经常会想到与建筑架构做类比。传统的建筑架构师会规划、设计和审查建筑物的建造。设计过程包括与客户充分沟通收集需求,了解当地的法律和环境限制,并与工程师、测量师及其他专家合作,以确保设计在预算之内可行。
这项工作的复杂性实际上与数据架构师的角色非常相似。但是,两个架构师角色之间存在一些基本差异:
虽然存在这些差异,但数据架构师仍然可以向建筑架构师学习,尤其是采用自上而下的方法来改进数据架构设计方面。很多机构都缺乏系统、集中的端到端的数据架构设计。下面列出了一些主要原因:
由于存在这些不足,所以我们经常会看到一家公司的数据系统脱节,并且团队和部门之间存在差距。这些差异导致系统性能低下,需要进行大量交接工作,在生产数据出现问题时要花很长时间才能排除故障,缺乏在整个系统中找到正确解决方案的责任感,并且缺乏评估产品变化影响的能力。
最后,在迁移脱节的系统或重新设计下一代平台时,可能要花费大量精力进行分析和研究。
考虑到所有这些因素,一个成功的企业需要具有以业务流程和运营设计为基础的自上而下一致的数据架构。特别是,就像建筑架构师所做的那样,企业数据架构师需要先在概念级和逻辑级构建蓝图,然后再将技术应用于详细的应用程序设计和实现。
在现代IT中,业务流程是由数据实体,数据流和应用于数据的业务规则共同支持和驱动的。因此,数据架构师需要具有深入的业务知识,其中包括财务、市场营销、产品以及业务流程(例如健康、保险、制造商和零售商)等特定行业的专业知识。
然后,他才能够通过设计代表每个业务域的数据实体和分类法以及业务流程下的数据流,从而构建正确的企业级数据蓝图。在此概念阶段尤其需要考虑和计划以下几个方面:
设计的概念级别由支持每个业务功能的基础数据实体组成。蓝图对于成功设计和实施企业和系统架构及其未来的扩展或升级至关重要。
在很多机构中,这种概念设计通常被嵌入到由单个项目驱动的业务分析当中,而没有从企业端到端解决方案和标准的角度进行指导的方法。
由于要考虑使用哪种类型的数据库或数据格式,这种设计有时称为数据建模。它将业务需求与基础技术平台和系统联系到一起。但是,考虑到数据建模者的角色,大多数机构仅在特定数据库或系统中设计数据建模。
通过考虑适用于每个数据库或系统的标准以及这些数据系统之间的数据流,应采用集成方法开发成功的数据体系结构。特别是,以下五个领域需要以协同方式进行设计:
(1)命名约定和数据完整性
数据实体和元素的命名约定应一致地应用于所有数据库。同样,如果相同数据须驻留在多个数据库中,则应加强数据源及其引用之间的完整性。最终,这些数据元素应属于数据架构中概念设计中的数据实体,然后可以根据业务需求协同准确地对其进行更新或修改。
(2)数据归档/保留策略
如果在生产的最后阶段才经常考虑或建立数据归档和保留策略的话,将会导致资源浪费,不同数据库之间的数据状态不一致,以及数据查询和更新的表现不佳。为了加强数据完整性,数据架构师在以操作标准为基础的数据架构中定义数据归档和保留策略。
(3)隐私和安全信息
隐私性和安全性成为了逻辑数据库设计的重要考虑因素。虽然概念设计已经定义了哪个数据成分属于敏感信息,但逻辑设计应在具有受限访问权限、受限数据复制、特定数据类型和安全数据流的数据库中保护机密信息,以保护信息安全。
(4)资料复制
数据复制是要顾及三个目标的关键因素:
1)高可用性。
2)避免通过网络传输数据的性能。
3)低耦合性以最小化下游影响。
但是,过多的数据复制会导致混乱、数据质量差和性能下降的结果。任何数据复制都应由数据架构师检查,并应遵循一定原则和纪律。
(5)数据流和管道
在此级别上,应明确定义数据在不同数据库系统和应用程序之间的流动方式。同样,此流程与业务流程和数据架构师概念级别中提到的流程一致。此外,应在逻辑设计的集成视图中考虑数据摄取的频率、流水线中的数据转换以及针对输出数据的数据访问模式。例如,如果上游数据源是实时的,而下游系统主要被用于具有重索引的聚合信息的数据访问(例如,对于频繁更新和插入来说成本很高),则需要在两者之间设计数据管道,以优化性能。
由于数据架构反映并支持着业务流程,因此当业务流程发生更改时,数据架构就可能会发生改变。随着基础数据库系统的更改,数据架构也需要进行调整。因此,数据架构不是静态的,而是需要进行连续管理、增强和审核的。因此,应采用数据治理来确保在启动每个新项目时正确设计和实现企业数据架构。
在成功的数据架构中,以业务流程为基础的概念设计是最关键的要素,其次是逻辑设计,该逻辑设计强调所有数据库和数据管道之间的一致性、完整性和效率。在建立起数据架构后,机构可以查看哪些数据驻留在何处,并确保数据的安全、有效存储和正确处理。