数据架构就像常规架构一样。在这两个领域,都应该遵守良好架构的基本原则。当然,有些设计适用于广泛的应用程序和其他更小众的设计,但无论结构的确切性质如何,你可以打赌,如果它是成功的,建筑师会厌烦牢记要点。
什么是数据架构?
数据架构可能会变得复杂。但是没有必要马上把这个复杂化。大多数架构方法都是从基础开始的,这就是我们要在这里阐述的内容。数据架构可以描述为实体如何组织其数据。
这包括三个方面:
- 数据是如何存储的?
- 数据是如何处理的?
- 数据如何使用?
我们将看到这些问题出现在数据架构问题中,有时会同时出现两个或所有三个问题。但是,为了依次处理每一个问题,存储包括准确性、访问、控制和可扩展性等因素。这是原始数据的“数据湖”。处理包括安全性、与外围资源之间的数据传输以及灵活性。处理后的数据形成“数据仓库”。
用途包括接口、数据共享和应用程序。有些公司对数据架构的这三个方面有非常正式的方法,有些则更少。但是所有公司都应该以某种方式覆盖它们。这样,他们可以确保数据管理得到应有的优先级。
这就是对数据粗心大意的处罚(2021 年,因数据泄露而被判有罪的美国公司的平均罚款为 424 万美元),这是组织对自己、客户和任何联系人的责任数据。数据是宝贵的,因此企业需要将其视为资本,如果不是更高的话。我们将首先转向这种对数据的必要尊重。
1. 数据文化
对于任何范式转变,如果您想要进行重大变革,那么孤立地关注公司的一个方面是没有好处的。例如,工作场所的性别歧视正在受到挑战(尽管速度很慢),但并非只专注于招聘或任何其他单一领域。为了确保所需的根本和分支变化,有必要解决工作场所的整个环境和心理问题。换句话说,它的文化。
与数据完全相同。必须优先考虑数据问题,这是通过让每个人都遵守数据信条来赋予的。数据不再只是数据科学家的专利。
这是描述这一点的一种方式:
公司犯的最大错误之一是招募数据员工团队,给他们一个配备所有最新设备的高档办公室,然后坐下来,认为数据工作已经完成。问题是,您的新部门正在为您处理的数据将被许多其他人访问,包括内部团队和公司以外的人。如果其他人不那么注意数据问题,您可能会遇到麻烦。
这些其他人最终可能会将数据传播给无权访问它的人。我们已经提到了数据安全和访问治理价值的重要性。几乎同样糟糕的是,他们可能不会将它提供给需要它的人,并且工作流程可能会受到影响。
所有员工都有责任确保数据绝对到达需要它的每个人,绝对没有其他人。您的工作是将这一点灌输给他们,以便他们开始看到有价值商品的数据,而不仅仅是可能会或可能不会被谁知道谁抢夺的东西。分享的需要引导我们得出下一个原则。
2. 整理数据
因此,员工应该在任务需要的地方相互提供数据。但它比这更进一步。应该注意让数据以同样的方式为每个人服务。其中一个非常突出的方面是指标。特定指标在营销中的含义应与对销售团队的含义相同。必须有一个共同的词汇,没有晦涩的办公室方言。
假设业务的两个部分使用相似的数据,但一个只处理月度数据,而另一个只处理周度数据。如果可能的话,应该努力统一他们的数据,以便更容易和更快地进行有意义的比较和关系评估。跨部门对特定数据代表什么以及它引导组织的方向达成的共识越多,您的企业就越能从联合部门的联合思维中受益。
首先,在分享方面,您优秀的数据专家可能需要一点鼓励。通常情况下,数据工作人员可以将自己视为监护人,而他们应该真正将自己视为促进者。这种便利的一部分归结为减少行话。在这方面,从真正意义上讲,应该努力让每个人都说一种共同的语言。
最后一点:确保您公司的数据的组织方式能够保护其可访问性。例如,尝试使其免受断电的影响,以便优化正常运行时间并保护客户使用您的服务的能力。
3. 避免供应商锁定
供应商锁定是当您获得一项技术时发生的情况,由于它不容易从您的架构中换出,您最终会被卡住。例如,当一家公司从一系列托管 PBX 提供商中进行选择时,它应该寻找一条简单的退出路线,就像一个诱人的入口一样。否则,它的通信可能由未来发展可能被证明不适合的服务运行。
因此,任何技术采购都需要着眼于未来。您需要考虑的不仅仅是这项技术在成为您业务的一部分时可以做出什么贡献。您需要考虑如何通过轻松抛弃它来做出贡献。
4. 安全
您如何将确保合法访问的需求与阻止未经授权的访问的需求结合起来?数据架构通过根据数据项对其进行分类来确保这一点。敏感度以及谁可以访问它们。以托管联络中心软件为例,将制定一项规定,以确保只有那些有明确和允许使用该信息的目的的人才能访问客户详细信息。
例如,医疗保健数据架构将确保仅用于宏观分析的任何数据都将被匿名化。数据架构将列出隐私控制保证机密性的方法。可以在数据架构中构建多层安全性,以确保数据在任何阶段都不会受到攻击,无论是在存储、处理还是应用程序中。
这是一个来自传统建筑领域的有趣统计数据,发现一半的受访建筑师因担心数据安全而不愿使用他们的 BIM(建筑信息模型)团队软件。因此,很多有价值的合作并没有发生,因为参与其中的员工感觉环境不够安全。您需要提供这种安全性。
5. 成为更出色的数据策展人
现在到处都有更多的数据。有时我们几乎沉浸在其中。当它处于原始和/或杂乱无章的状态时,数据的有用性可能会受到损害。在达到其功效潜力之前,需要进行一定的梳理。
例如,我们拥有的电视比我们知道的要多得多。有时,刚开始决定当晚要看什么可能会令人困惑。这就是为什么电视服务通常具有策展人模式的原因,根据之前的观看和其他数据,某些电影或连续剧被突出显示为观众可能更可能感兴趣。
观众可能会或可能不会根据其建议接受服务。如果他们决定不这样做,他们几乎肯定会通过查看各种节目分组来寻找其他材料——戏剧、惊悚片、科幻片等。这是另一层策展,称为分类法。
对于工作场所的数据,同样的原则也适用。为确保为您的员工提供最适合其任务的材料,数据架构必须使信息以易于理解和易于访问的模式显示。精选数据必须对业务用户有所帮助,因此应定期进行质量检查。出于这个原因,数据架构应该包括测试自动化的最佳实践。
6. 灵活
商业中有一个不变的东西:变化。您对它的期望越高,甚至接受它,您的业务就会表现得越好。考虑到这一点,您实施的任何数据架构都应该具有轻松发展的潜力。例如,模块化就受到高度重视,它使组织有机会更新系统而无需大规模更换系统。
另一个灵活性领域在于员工访问数据的方式。将您的数据架构设计为允许多种格式的访问请求是有意义的。这样,您的系统将能够处理例如非结构化的电子邮件以及结构化的 CSV 文件。这种应对非技术人员投入的能力将消除对可能耗时且昂贵的培训的需求。
7. 减少数据副本
您的数据架构应以减少不断复制数据的需要的方式安排。生产无休止的数据副本在处理空间和财务方面都是浪费的。这本身也是一种安全风险。数据虚拟化可以消除传输和复制数据的需要。使用 Azure Synapse Analytics 等工具,无需传输即可对所有数据运行查询。
8. 反向 ETL
您可能已经知道 ETL 是什么。以防万一,ETL(或提取、转换、加载)是创建企业数据仓库的常用方法。它是一种将来自多个来源的数据组合成一个连贯整体的方法。
因此,反向 ETL 是一种从数据仓库中获取数据并更改其格式的方法。为了使数据与来自 Salesforce、Hubspot 或 Marketo 等第三方来源的应用程序兼容,需要将其从存储位置取出并转换为更合适的形状。
因此,您的数据架构必须允许这样做。有一些反向 ETL 工具已预先安装了 API 集成,从而简化了使用和维护。但是,即使您不使用实际的反向 ETL,您也必须意识到需要一个流程,通过该流程可以访问数据以供各种应用程序使用。应根据业务的性质和所存储的数据实现标准化接口,例如 SQL、RESTful API 或 OLAP。这种标准化将确保检索到的数据以可预测并因此立即可用的格式到达。
9. 摄取问题
您的摄取工具是将数据从摄取堆栈加载到数据仓库的方法。这些数据将以多种形式来自大量来源,因此您的数据架构需要一个可以处理尽可能多的摄取工具。
与许多单一来源的摄取工具相比,拥有一些通用的摄取工具更好。必须在工具之间进行交换会浪费时间,并且会影响您的数据性能。因此,您需要做的是确定您需要支持哪些摄取形式,例如 FTP、Batch、CDC、API),并确保您的数据架构是围绕可以处理它们的摄取工具构建的。
10. 数据发现
您的数据架构中应该包含自动数据发现会话的规定。这可以揭示有趣且有价值的数据模式,并突出显示应用程序可以在哪些方面进行更新。例如,云电话系统应执行定期数据发现扫描,以检查过时或冲突的个人信息。
结论
因此,数据架构主要是关于确保您已经考虑过您的信息持有结构。它是否具有符合要求的输入方式?输出格式是否符合您的业务需求?任何系统规划方法都必须包括这些问题的答案。
回到我们最初的存储、处理和使用模式,很明显,您的数据架构的大多数部分影响的不仅仅是这些领域中的一个。在这方面,良好的数据架构通常与良好的操作系统设计有很多共同之处。虽然通过分解事物进行分析通常很好,但有时必须有一个整体的观点才能看到结构是如何工作的。这种观点将对数据架构带来好处。