多年来,人们创造了无数种不同的方法来移动和合并支持业务流程和决策的数据。每种方法都有其独特的功能和优势。了解这些功能以及它们与数据策略的预期结果之间的关系对于设计最佳系统至关重要。
在制定策略以保持所有数据优化、可访问和集成时,必须考虑多种变量和要求,其中包括:
批处理以固定间隔或批量传输数据。这些模式包括提取转换加载 (ETL)、提取加载转换 (ELT)、反向 ETL、镜像或复制以及写回工具。
ETL 是移动数据的传统方法。数据从数据源中提取,根据业务规则进行转换,然后加载到目标数据库中。这种方法非常安全,但也不够灵活。这种僵化要求数据集非常结构化和文档化,这使得复杂的转换更容易。由于遗留系统数据库通常非常结构化和僵化,因此 ETL 非常适合这些系统。要构建这些流程,开发人员必须对数据结构和编程语言有深入的了解。
ELT 与 ETL 类似,但转换是在将其加载到目标数据库后进行的。这种更现代的方法可以提供更大的灵活性,因为原始数据在转换后仍保留在目标数据库中。因此,转换可以迭代或追溯运行,而无需从原始数据源提取数据,从而减少提取新数据集所需的资源。ELT 更适合更广泛、结构化程度更低的数据集,其中数据整理和转换可以在更靠近最终用户的地方运行。
反向 ETL 是另一种批处理过程,但数据流向与 ETL 管道相反。数据从第三方运营应用程序中提取并加载到中央数据库中。这种方法使组织能够在中央仓库中整合一个版本的数据集,并使运营应用程序能够使用其他应用程序或分析可能正在使用的相同数据。反向 ETL 为组织提供“单一事实来源”。
挑战在于反向 ETL 是批量操作的。在数据不断变化的动态组织中,由于更新计划不同,不同的组可能会使用同一数据的不同版本。反向 ETL 同步策略还可能使操作系统不堪重负,因为大量数据从多个来源加载到操作系统中。这可能导致冲突和同一数据的数据版本。
镜像和复制将数据保存到单独的数据库中而无需进行任何转换,通常用于在数据丢失时备份数据集。它们在优化数据管理和在数据移动时创建持久数据集方面也非常有用。镜像不仅复制数据,还复制整个数据库结构和管理系统。
复制与镜像略有不同,因为它不复制数据库管理系统,只复制数据。使用复制可以更轻松地从各种系统访问数据,因为数据库管理系统不会对其进行定义。
镜像是实现负载平衡的更好选择。源数据库和复制数据库完全相同,因此可以轻松从任一源访问数据。灾难恢复和优化资源使用是镜像的常见用例。它也适用于捕获动态数据的快照。例如,经常使用的虚拟化数据可以镜像到持久数据存储中。
实时集成和管理数据会带来很多复杂性,尤其是在合并不同的数据集时。由于不同的数据集不断变化,源数据和合并数据之间总是存在差异。实时数据更适用于跟踪传感器或财务数据的操作系统。
CDC 是一种基于事件的模式,当定义的事件发生时,一个数据库中的更改会自动反映在另一个数据库中。此模式支持双向数据流,因此源数据库和目标数据库可以交换数据以确保同步。CDC 是一种比 ETL 更高效的数据移动方式,因为只有更改的数据才会传输到目标数据库,而不是整个数据集。
CDC 非常适合无法集成的数据库或应用程序。CDC 流程可以将数据暂存到单独的数据库中,然后将更改从暂存数据共享到目标数据库。此方法需要维护单独的动态数据源,从而产生过多的复杂性并导致更大的错误可能性。
流数据涉及不断提取、处理和将数据移动到其目的地。通常,这意味着金融服务数据的传感器数据。在许多情况下,流式传输在传输到其目标数据库的过程中进行转换。
虽然流数据速度很快,但也存在一些缺点。流数据在互联网上不断移动并采用不同的路径,因此无法保证以正确的顺序处理数据。一些数据可能会在较新的数据之后到达进行处理,从而导致对最准确数据的混淆。需要实施适当的编排以确保以适当的顺序处理数据。
流数据还会将数据源的数据模型暴露给下游用户。当下游应用程序直接连接到源数据模型时,对该模型的更改会给下游带来严重破坏。
如果流数据被封装在数据产品中,内部源数据模型可以映射到数据产品的数据模型。这种结构使得数据更容易与外部团体共享。
前端 BI 工具的写回功能是更改源数据库的另一种方法。这种新兴模式允许使用 BI 工具的分析师直接从 BI 工具将更改纳入源数据库。这些更改会立即反映在数据源和分析师的工作中。这使得最了解数据的分析师可以调整或更正原始数据源。
写回功能还减少了数据分析师对 Excel 电子表格的依赖,因为他们现在可以使用 Excel 尽快更新数据库。
SaaS 应用程序通常通过 REST API 共享数据。这些是从应用程序数据库中提取数据的简单过程。API 本身无法转换数据,但如果通过 iPaaS 平台运行,则可以在将数据发送到目标应用程序之前对数据执行自动转换过程。
REST API 非常适合一两个应用程序之间的简单数据交换,但这种方法的扩展性较差。如果某个应用程序更改其 API,下游应用程序可能会中断。
数据虚拟化是一种运行代码的做法,该代码会创建一个新的虚拟化数据集,其中包含从连接的数据库中提取的数据。每次运行代码时都会创建这个新数据集,但数据只会在需要时才保留。这是Avrio平台用于生成数据集进行分析的模式。使用此技术进行数据集成有几个好处:
首先,数据虚拟化将底层数据库和结构与数据本身分离。这使得数据虚拟化更具可扩展性和灵活性。
其次,数据虚拟化不会创建数据库的持久副本。由于每次都会创建一个新的数据集,因此运行代码并从源数据库中提取最新的数据。这种方法避免了同一数据的多个版本之间的冲突。存储成本也可以最小化。
第三,复杂的连接器、联合查询引擎和虚拟化可以同时查询、转换和合并来自多个数据库的数据。通过整合的元数据存储和顶层的统一数据模型,这种方法允许数据分析师从各种数据存储中提取数据,就像它们是单个数据库一样。
最后,数据虚拟化可以更好地控制数据。由于数据通过此虚拟化层移动,因此可以运行数据质量检查,并可以实施细粒度的访问控制。
每种集成和同步方法都有其优点和缺点。无论采用哪种方法,关注数据治理、安全性和质量对于健康的数据架构至关重要。在整合平台中结合使用合适的方法可以产生强大而灵活的解决方案。
Avrio 的核心功能是数据虚拟化,它用于集成数据进行分析,以便在每次执行代码时创建新的数据集。当需要持久数据但经常发生变化时,Avrio 还具有 CDC 功能,该功能只会将源数据库中的更改镜像到镜像环境中。
此外,Avrio 还具有镜像功能,可以从虚拟化数据集创建持久数据集。当数据不经常更改但经常使用时,镜像可以减少带宽资源的使用
Avrio 平台允许第三方通过 API 访问数据产品。Avrio 的前端层还具有写回功能,可将 BI 工具中所做的更改与连接到 Avrio 平台的后端数据库结合起来。
结合多种集成和同步模式来实现业务成果具有战略意义。每种情况都不同,需要独特的功能。Avrio 平台结合了正确的技术和模式,使数据可以在多个数据孤岛之间访问,并且具有内置治理和安全性的自助数据产品,专为 AI 时代、快速分析和更好的决策而设计。
Avrio 还非常适合您现有的集成工具和基础架构。如果您正在将数据传输到数据湖,Avrio 可以创建一个数据产品来捕获流数据的快照以供分析。如果您已经构建了完善且变化不大的 ETL 管道,Avrio 可以将这些数据合并到数据产品中,使其更易于访问并集成来自其他系统的数据集。