【数据架构原则】现代数据架构的九条原则

QQ群

视频号

微信

微信公众号

知识星球

Chinese, Simplified

什么是现代数据架构

有人说,今天所有的企业都是It企业。他们只是碰巧通过销售不同的东西来赚钱。虽然这种说法可能并不普遍正确,但软件和计算机技术已成为大多数公司日常运营的核心部分。在他们软件生态系统的所有组成部分中,最重要的是他们的数据。无论是客户列表、产品目录还是生产计划,每家公司的数据都是其独特之处。它是其历史的记录,也是其未来的关键。

简单地说,数据架构就是组织数据。一般来说,公司的数据架构以三种方式描述其数据处理方法——如何存储数据、如何处理数据以及如何使用数据。该架构通过描述数据的组织方式来影响数据存储,从而使数据准确、能够高效地访问并随业务扩展。数据处理包括将数据从其源获取到数据存储系统,并在需要时进行检索。公司的数据架构管理数据的处理,以确保数据是安全的,易于被需要它的系统使用,并且足够灵活,可以处理可能输入系统的许多数据源。最后,数据架构定义了如何使用数据。它描述了系统可以用来访问数据的接口,并鼓励组织将数据视为共享资产。

每个公司都有一个数据架构。有些公司有非常明确的系统和流程来管理数据的存储、处理和使用,而另一些公司则根本没有正式的系统。在这篇文章中,我们将讨论构成每个数据架构基础的九个特征。它们共同构成了一个坚实的基础,将支持公司的数据需求,并有助于确保公司能够高效地发展以满足客户的需求。

数据存储

Data Storage

消除数据拷贝和移动

公司数据架构需要解决的最关键和最具挑战性的任务之一是数据重复的趋势。这种重复在没有适当管理和监督的系统中自然演变。当一个新的系统或应用程序被添加到企业的软件生态系统中时,它通常需要现有数据基础设施中已经存在的基本信息,例如用户信息或产品目录。软件开发团队倾向于以优化的方式为他们的特定需求建模和存储这些通用信息。最终,这种趋势可能会导致整个企业的数据一致性问题和性能下降。

当同一数据的多个副本保存在企业中时,需要其他流程和过程来同步该数据并保持其一致性。随着软件生态系统的不断发展和共享数据的新用途的需要,这些过程的维护往往具有挑战性。尽管团队尽了最大努力,但数据最终会变得不同步,代价高昂的错误变得更加可能。除了管理公共数据的多个副本的复杂性之外,所需的同步任务往往会导致性能下降。这种降级的两个常见来源是实际同步过程本身的开销,以及需要验证所使用的数据实际上是最新和正确的。

现代数据架构定义了要存储的通用企业数据的位置。这些公共数据库是这些信息的唯一真实来源,从而消除了数据复制带来的低效率。然而,这确实给集中式系统带来了负担,因为它们必须为整个组织的软件套件服务。要做到这一点,必须选择一个灵活且可扩展的存储解决方案。

扩展以满足存储需求

一个组织的数据受到广泛的性能需求的影响。一些数据,如过去的销售记录,很少被访问,而客户的购物车等信息可能会被不断访问。现代数据架构提供了标准和指导方针,以帮助量化企业所有数据所需的访问需求。它还定义了数据系统必须满足的最低性能要求。该架构还为处理随着时间的推移而增加的数据需求做出了准备。这可能是由于长期增长或一些短暂的事件,如假期。现代数据架构提供了增加带宽和存储容量以满足这些更高需求的能力,并允许数据存储系统在高需求期结束时缩减规模。从而有助于使组织的运营成本与其收入保持一致。

建立通用词汇

给事物命名是最难做到的事情之一。如果没有适当的指导,IT组织内的团队将倾向于采用类似但不完全相同的通用数据术语——系统用户的中心数据应该称为用户、帐户、客户或其他什么吗?所有这些选项可能都是有效的,但在公司的数据系统中使用它们会导致混乱和效率低下。现代数据架构为标准数据项建立了通用词汇表。这个词汇表应该存储在一个活文档中,该文档可以随着组织需求的变化而增长和发展。此外,数据架构应该为如何在需要时命名新事物建立一个模式。一些精心设计的指导方针可以大大加快开发工作,使数据更容易在公司内共享。

数据处理

Data Processing

确保安全和访问控制

公司的数据是公司最有价值的资产之一。不幸的是,这也意味着它成为滥用和盗窃的目标。现代数据架构建立了指导方针,允许根据每个数据项的敏感程度对其进行分类。它还定义了用于确保每个数据项得到充分保护的机制和过程。最敏感的数据通常会受到“深度防御”方法的保护,该方法保护多个安全层背后的信息,从而降低成功攻击的可能性。现代数据存储系统允许在原始数据本身上设置高级别的安全性,从而允许执行非常精细的安全规则。可以在数据访问系统以及应用程序级别中应用额外的安全层。在整个组织的数据架构中定义数据安全控制,可以降低漏洞暴露的可能性,从而使数据被滥用或损坏。

整理数据

如果一个组织的数据没有组织、准确和可靠,那么它就是无用的。数据架构定义了如何为消费准备摄入数据库中的信息。数据管理通常涉及对原始文本的处理,以将这些数据分类为已知值。当原始数据将用于填充将用于约束查询或命令的维度时,这一点尤为重要。数据管理的另一个关键方面是执行任何必要的数据转换。原始数据通常使用不同的单位(例如公里、英里等)进行收集。数据架构为如何存储数据以及如何从传入的单位系统转换为数据系统的标准制定了规则。

保持数据可访问性

组织的数据只有在可用的情况下才会增加价值。现代数据架构的一个关键原则是,需要确保业务的利益相关者能够在需要时访问他们需要的数据。现代数据体系架构利用基于云的数据库等技术,确保信息高度可用,并针对网络中断、维护任务等造成的停机时间进行加固。然而,无障碍的概念超出了这一点。组织的数据架构还必须确保可以在合理的时间内访问数据。对于地理分布的组织来说,这通常需要通用数据的区域克隆。但是,必须注意在快速访问数据的需要与创建和维护这些克隆可能导致的效率低下之间取得平衡。

数据使用情况

Data Usage

将数据作为共享资产查看

增加自定义软件价值的最常见技术之一是设计尽可能有效地重用的代码。如果编写和记录得当,代码重用可以消除重复解决同一问题的需要,从而节省开发人员的时间。共享数据为组织提供了类似的好处。当数据被视为组织范围内的资产,而不是被孤立在不同的部门内时,整个数据系统的运行会更加高效。一个成功的数据架构鼓励数据共享,并为如何存储和记录数据建立模式和期望,以便整个企业能够从其存在中受益。这方面的努力还倾向于通过培养通用词汇和减少数据重复来改善公司的整体数据系统。

灵活变通

许多公司都有大量的信息,需要使用这些信息来填充数据库。信息可以是结构化CSV文件或非结构化电子邮件的形式,甚至可以是诸如JSON文档之类的半结构化输入。数据架构提供了摄取每种类型的传入信息的机制。此外,架构必须指定如何存储这些信息。许多数据库系统可以以可查询的方式本地存储XML和JSON文档。利用这些功能可以显著降低数据导入操作的复杂性,方法是将这些文档的处理推迟到它们被消耗掉。然而,这样的决定不能轻易做出,因为从数据完整性的角度来看,未处理的文档更难验证。

为消费提供正确的接口

许多开发项目使用直接查询和命令与数据库进行交互。这会导致整个应用程序套件中的逻辑重复。现代数据架构定义了接口服务,这些接口服务提供标准化机制,以允许轻松地消费数据。这些接口可能包括支持web服务和应用程序的RESTful API、用于数据分析的SQL接口或用于商业智能的OLAP接口。通过提供底层数据源的抽象,每个专家都可以专注于解决他们所负责的业务问题,而不是浪费时间试图将数据强制转换为他们需要的形式。

每个公司都有一个数据架构,无论是正式的还是非正式的。现代数据架构考虑所有企业数据的存储、处理和使用,为其整个软件生态系统奠定基础。当考虑到上述九项原则时,数据系统将成为一个安全、高效和有组织的平台,为公司的成功奠定基础,并为未来做好准备。

本文地址
https://architect.pub/nine-principles-modern-data-architecture
SEO Title
Nine Principles of Modern Data Architecture