译者|陈军审稿人|孙淑娟不知道大家有没有注意到,现代企业数据架构的概念设计对于企业的数据控制和“变现”能力起到了至关重要的作用。这里的现代企业架构主要包括:微服务、云原生应用、事件驱动方案、数据密集型方案。我们需要确定基础架构的安全性和性能要求,以实现处理各种工作负载的可扩展性和敏捷性。为此,您需要了解基本数据模型、如何处理数据隐私安全、合规性、数据量和用户需求等,影响数据架构的设计决策。图1:数据架构是企业架构的基本支柱如图1所示,数据驱动的企业往往会设计开发一套完整的数据处理架构。下面,我将与大家探讨适合开发满足高效运行、精准可用、海量查询需求的企业数据架构的各种基本要素。1.多语言持久化和数据库即服务最近一项基于多个案例研究的数据架构趋势调查表明,现代企业需要使用多语言持久化技术来集成支持不同类型数据的现有架构。存储技术,进而提供跨不同类型数据处理的高性能服务。在云服务技术普及的今天,这种集成往往需要数据库即服务(DBaaS)的支持,并且可以受益于以下优势:基于云的数据库管理系统(如:AmazonAurora、AzureCosmosDB和GoogleSpanner)具有高度可扩展性和快速配置。云架构中增强的安全性适合大型企业设计共享基础设施。可以使用各种监视和性能调整工具。可以看出,这种基于多语言持久化的微服务架构不仅有利于开发弹性、健壮和高性能的系统,而且可以提供支持不同微服务的不同类型的数据服务(见图2)。图2:使用多语言持久性的示例架构如图2所示,企业可以利用微服务在多语言持久性模型中创建经济高效且敏捷的架构。由于每个微服务都可以处理不同体量和性能需求的数据,因此可以根据这些数据的访问需求,选择合适的数据库来满足性能、可扩展性和适合系统存储的优秀数据模型。2.现代数据架构中的数据建模在传统的架构开发中,数据建模并不是一项简单的工作。它需要从需求中导出数据特征元素,通过实体关系(ER)图描述实体之间的关系,并围绕数据元素定义数据类型、约束和检查参数。因此,数据建模常常根据各种需求被定义为数据定义语言(DataDefinitionLanguage,DDL)脚本。在传统架构中,它是作为一个单步活动完成的。图3:现代企业数据的各个建模阶段如图3所示,在现代企业的数据架构中,数据建模通常分为概念建模、逻辑建模和物理建模等多阶段活动。在那些数据密集度很高的数据驱动架构中,数据建模往往是最基础、最关键的一步,当然也是最耗时的环节。在这种类型的架构开发中,数据建模可以创新地分为三种不同的类型:概念数据模型(CDM)——源自业务需求,用于定义数据流中要处理的“内容”。通常,CDM由业务利益相关者(例如顾问、业务所有者、应用程序分析师)和数据架构师共同定义。逻辑数据模型(LDM)–源自CDM,可用于深入挖掘实体之间的逻辑关系并指定实体的数据类型。由业务顾问和数据架构师/工程师来定义数据在数据流中的处理方式。PhysicalDataModel(PDM)-基于LDM,通过定义数据蓝图,将其转换为数据脚本,在实时环境中执行。这是数据结构性能、事务处理机制和数据模型调优的关键阶段,通常由数据库管理员或数据工程师执行。3.数据智能数据智能和数据分析是现代企业数据架构中的常用技术,可用于NoSQL数据库中处理大数据和数据密集型应用架构。它往往涉及各种流行的技术方案。例如:利用云平台解决敏捷性和可扩展性的需求;利用先进算法的AI/ML构建智能数据处理,利用大数据平台处理数据存储和分析。数据智能使用预测智能来集中数据进行可视化分析。例如:在企业股票的趋势分析场景中,AI/ML和深度学习模型从各种来源读取历史数据,涉及到数据反馈,图像、视频流和音频的提取和解释,以及数据处理结果的准备,最后分析和预测股票的走势。可以说,数据智能的使用有助于将数据更直观地解读和呈现给包括业务和技术在内的不同利益相关者角色。当然,企业在开发数据智能解决方案时,往往会要求自己的数据库系统具备自我管理的功能,让数据库能够自行处理数据混乱等情况。业界称之为“自治数据库”。它也是未来数据持久化系统的重要组成部分。4、自治数据库作为IT应用的“大脑”,往往在应用数据处理和引用中起到中央存储的作用。数据库管理员(DBA)需要持续执行数据库的调优、灾难备份和恢复、健康检查以及管理和监控等维护工作。当企业使用云平台开发应用程序和数据库时,上述活动的安全性、性能和成本效率就显得更加重要。为了减少重复性工作量,更主动地实施各种维护操作,甲骨文创造了所谓“自治数据库”的概念。它使DBA能够在管理数据库平台时以最少的人工干预执行各种自动化任务。5.数据网格过去,我们倾向于将所有可能的数据放入一个庞大的逻辑数据存储中。今天,我们需要通过有效的数据切分和相应的解决方案来构建数据仓库或数据湖。数据湖虽然可以实现高效的数据管理和分析,迎合敏捷数据架构的需求,但缺乏联合或自治的数据访问能力。图4:数据网格架构如图4所示,一个统一的数据解决方案需要一个用于数据存储的微服务模型。正如服务网格为服务之间的接口创建代理一样,数据网格通过为数据应用程序分析、仪表板配置和数据查询等用例创建数据抽象和接口代理来遵循这一概念。数据网格架构帮助企业开发多维度的数据解决方案,从而实现在统一架构中同时处理操作数据平面(OperationalDataPlane)和分析数据平面(AnalyticalDataPlane),而无需开发两套不同的数据解决方案。6、使用数据湖数据库架构进行异构数据管理随着数据湖解决方案的广泛应用,数据湖仓库解决方案近年来也被引入到数据分析和智能数据管理场景中。通常,我们认为它是:数据仓库处理关系数据(即原始数据反馈)以及处理后的数据(即数据提取后)。这些数据在存储之前以模式结构组织。也就是说,这种类型的数据分析主要适用于已经组织好的数据。正是因为数据仓库是基于模式结构来处理数据,才能够满足我们上面提到的各种数据智能、批处理、实时数据可视化的需求。然而,虽然它在查询处理方面速度更快,但它本身就是一种昂贵的存储和构建形式。另一方面,数据湖架构是一种混合方法。它可以使用以下方法来处理和管理异构数据:数据湖数据仓库专用存储用于更好的中间数据处理,数据处理策略数据治理机制数据完整性服务由于数据湖数据库架构它克服了数据湖的缺点和数据仓库解决方案,因此在现代企业的数据处理环节中越来越受欢迎。例如:企业可以使用来自各种数据源的反馈来寻找潜在客户和市场机会。同时,数据湖架构还可以处理由内而外的数据移动。也就是说,它可以从存储在数据湖中的数据中提取出一组数据,用于特定存储意图的分析或查询活动;也可以按照数据由内向外的方向移动,从数据仓库移动到数据湖,对完整的数据集进行分析。通过数据湖数据库架构,我们还可以对数据进行海量并行处理(MassivelyParallelProcessing,MPP),例如:各种数据仓库和数据湖的融合应用,高速数据查询。7.小结现代企业的海量数据需要存储在灵活、敏捷、可扩展的架构中。为了让企业数据具有更高效的性能、卓越的运营、高可用性,并满足安全和合规要求,这样的架构往往离不开多语言持久化、现代数据分级建模、数据构建和集成等技术和框架。湖泊图书馆和数据网格。原文链接:https://dzone.com/articles/modern-enterprise-data-architecture译者介绍JulianChen(朱利安陈),社区编辑,拥有十余年IT项目实施经验,擅长内部和外部资源与风险实施管控,重点传播网络与信息安全知识和经验。
