Real Time Data Warehouse Updates Through Extraction-Transformation-Loading Process Using Change Data Capture Method
DOI
关键词: CDC(变更数据捕获) ETL(提取、转换和加载) 增量负载 近实时数据仓库 (NRTDWH) 数据集成
数据存储和处理与组织实现了新的维度,为管理提供了高度依赖客户信息的服务。应用程序依赖于对大数据的分析,从而帮助面向最终用户的日常数据服务。另一方面,维护和处理数据库的费用仍然更加严格。为了克服这个问题,已经开发了具有大规模可扩展性的数据库。
ETL 工具用于将数据存储到数据仓库中。通过 ETL 工具集成数据分为三个阶段:提取,应用于异构数据类型的源,转换,提供高质量的数据,最后将数据加载到仓库存储库。任何数据仓库的开发过程都是被授予的,工作流程不应影响正在使用的操作/企业/事务数据源的性能。
与传统数据仓库相比,今天的数据无法更新,因为它通常是从操作系统加载的。建立在任何过时数据上的战术决策都会产生不正确的结果。可以用来解决这个问题的方法是变更数据捕获。变更数据捕获(CDC)仍然是数据集成框架中的一个战术组件,它可以大幅提高效率,减少批处理窗口加载的请求,处理不断增加的数据维度,近乎实时地交付信息,并降低成本。Attunity Stream提供了企业级CDC解决方案,可以轻松地与现有的ETL、数据集成和事件处理技术进行平衡和工作。
跨国公司和大型企业预期的主要障碍之一将是从各种源系统获取和分析大量数据。介绍了主要关注数据仓库模型的各种体系结构。通过转换和映射到标准化形式的方式将原始数据从源传输到目标是ETL过程的基础。提取是从源系统中挖掘数据以便以后在数据仓库环境中使用它的过程。
每当一家公司收购另一家公司时,它的信息系统就会被收购,这表明技术数据集成的压力以及构建数据仓库的极其昂贵的组件。很多时候,数据仓库帮助历史信息和评估,无法获得最新数据。
实时数据仓库已准备好在 CDC 方法上显示指定时间相对于 ERP 系统时间的 ETL 最新结果。通常,数据仓库更新通过 ETL(提取、转换和加载)过程进行处理。为了实现近乎实时的数据,ETL 将因此应用于数据的变化并在行为中捕获它们。 CDC 用于掌握源系统中发生的任何数据修改,然后获取要在目标数据库系统中交付的数据。降低与更新公司数据仓库相关的速率和资产是行业或 IT 的困境。我们的工具提供了新的更改以传输到数据仓库,这将降低成本以及与更新公司数据库相关的资源。加载在数据仓库中经常更改的增量数据所遵循的过程是通过与考虑到先前加载的数据源中发生的更改同步。增量重新加载比完全重新加载更快更成功,因为只加载数据中的更改。
在前面的研究中,CDC的不同技术被有效地发挥作用来建立一个RTDW系统。这些技术的测试涉及基于记录、基于触发器、基于日志、数据库快照和刷新表,这会导致各种系统的性能差异。
经过大量的实验分析,结果将建议基于日志的结果,因为它支持实时捕获,这类研究利用连接、函数和聚集使用查询对CDC通过预计算数据。为了更有效地处理大量数据,使用了不同的生成技术。
在其他方法中,触发器被用作 CDC 并生成该触发器,算法是基于精确表创建的,并且从其他实验研究中,触发器方法使算法被考虑用于增量的 CDC 的利用选择大维度数据仓库的加载过程。
其他研究方法是 ETL 转换,其中包括不同类型的映射,如一对一、多对多、多对一。这些映射非常复杂,因此使用 ETL 操作是因为它的责任,这进一步有助于理解存储在数据库中的数据,从而导致不适当的结果和分析。因此,检查存储的数据是否被正确提取并生成到数据仓库中是一项关键的测试。
在另一项研究中,选择了针对两家不同公司的商业模式的供应链管理,以分析基础设施、实施策略、运营效率和成本等问题。这些结果解释了供应链设计和管理所面临的挑战。
时间戳和复制相结合,最后至少使用增量视图进行日常更新,是利用每种方法的优势进行战略使用以产生更好的 CDC 结果的方法。
时间戳将应用于记录,以记录记录在插入或更新时被修改的时间。只有当有一个明确定义的列会考虑操作时,才可能捕获带有时间戳的已删除记录,例如插入 (I)、删除 (D)、更新 (U),并且通过这些值进行过滤可以帮助了解为什么这些记录会通过操作。时间戳需要相当短的时间来设置,并且 DBMS 负责维护时间戳。图 1 显示了 CDC 的时间戳方法。
CDC Timestamp:更改的数据将加盖时间戳。 CDC 工具轮询并提取自上一个快照以来已修改的记录。
在这项研究中,使用的更改数据捕获方法是通过新记录上的时间戳记,这些记录自先前确定的值以来已更改其值,以及两个不同环境之间的复制。
通过 ETL 过程的数据仓库 (DW)
使用 CDC 的常见情况涉及将信息移动到数据仓库中的做法。传统上,数据仓库中的更新操作是通过使用 ETL 工具来执行的。 ETL 是一个从各种来源挖掘信息的过程。转换将在将信息加载到数据仓库之前执行信息清理。这些方法的目的是使 ERP 系统在特定的时间间隔内处于离线状态。指定的时间间隔也称为“批处理窗口”,通常会考虑每日和每小时的负载。同时,系统将充满活动操作,这些操作会移动数据并且无法执行关键业务目标。 “批量”加载过程的主要缺点是需要更多的处理时间和更多的资源,并且由于许多 IT 公司和制造工厂每天或每周加载数据,这为获取最新信息造成了障碍。 ETL 工具有时被认为是为了实现相同的目标。然而,CDC 产生了一种新的替代方法,将相关数据移动到通过 ETL 工具和复制工具完美运行的数据仓库。
图 2 显示了关于数据仓库的高级功能以及如何将使用 CDC 方法的 ETL 过程用于特定场景。操作/ERP/事务系统将成为数据的主要来源之一,使用旨在每隔几秒在两个数据库之间同步更改的 attunity 工具进行复制,并且它会考虑时间戳来确定开始和结束时间复制。这将由 Informatica 电源中心使用,该中心是使用工作流、映射和会话的数据集成工具,其设计时牢记需要集成到 IT 中的业务目标。这允许业务与 IT 保持一致,并且通过商业智能报告,公司能够做出更好的决策。
以下方法组合用于增强对数据仓库的近实时更新。
各种事务系统在每一行收集元数据路径,包括创建者姓名、ID、版本以及最近的修改是由谁完成的,以及它是在什么时间生成和修改的。 CDC 方法巧妙地能够回溯已发生的任何修改并运行与 Modified_date 列对比的查询过滤器,以获取从先前提取过程时修改的所有明确更改数据捕获行.
系统进程如下:
完整的变量也被声明,StartDTime 包含 last_run_time 值加上 RunDate 包含执行时间和日期。从源数据库中删除保存已删除数据的删除。完成向数据库插入新数据。更新相对于先前修改时间已更改的记录。还会通过执行时间和日期更新 last_run_time 中存在的值。
该技术将保证数据库之间数据的一致性,从而提高数据的可靠性、容错性和可用性。该技术通常对不同的数据库有用,自然地通过夹在原始源和副本之间的主从相关性。应定期维护数据源/数据库与 ETL 数据库之间的同步,以实现更好的数据可用性,从而为最终用户提供更好的报告,并让他们做出战略决策,以改善当前和未来的业务。
下面是一个在 Microsoft SQL Server DBMS 中创建复制的案例:
为数据值的每日快照设置共享文件。设计主从数据流。目录配置用于复制、发布以及设计和收集对象。备份主实例的数据库以及恢复从属实例以供将来检索数据并最终配置从源到阶段区域的复制。
一旦应该从源系统更改几条记录,除了数据仓库的维度表之外,还使用数据来更新事实。事实表也是从增量加载/增量加载方式中获益最多的表,因为它们自然包含大量记录,因此对事实表最有利可图。或者,维度表保持相对较小,并且通过 truncatereload 样式完成更新。尽管如此,现在的情况也表明存在巨大的维度表,它们与记录的数量以及与记录相关的数量属性相互关联。这些尺寸被称为“怪物尺寸”,“其尺寸超过1亿行”。
通常,这些仍然是大型组织的客户或客户维度。这些单独的维度可能会产生大量的加载时间,因为记录数和属性量都很大,需要更长的计算时间。对这些巨大维度的信心将通过构建一个“增量视图”——一个将候选键保存为必须通过 ETL 过程报告的记录的视图。尽管事实模式,增量视图将被推断为源表,然后再次从将由 ETL 过程的维度使用的各种附加表中推断出来。任何关系表的实际修改都可能影响维度的许多内容。
Attunity Replication 使组织能够通过广泛的异构数据库、数据仓库和大数据平台加快数据复制、摄取和流式传输。
这是为数据仓库设计的雪花模式,图 3 显示了事实表传送的模式图和元数据,如下所述。销售不同产品的制造公司可能有直接或间接客户。直接客户是那些会在电子商务或零售店购买少量产品的人,而间接客户是那些通过分销商或批发商店每周/每月/每年购买大量产品的人。该图描述了这些维度 (DIM) 表之间的关系以及事实表值如何通过膨胀受到影响。
研究的初步阶段是设计不同的模型,以适应 CDC 方法,用于插入、更新等操作,以及是否有并行或串行插入,更新是在虚拟数据上执行测试。数据将包括预订、积压、发货和计费,作为产品公司销售和制造产品的主要模块。在模块上执行各种类别的数据源,如平面文件、CSV 文件、关系数据库(Oracle 和 Microsoft SQL Server)。调查包括对每种方法进行测试的许多步骤。通常,使用 informatica 工作流执行查询将是首要步骤。下一步将包括将已修改的数据插入 ETL 方法的暂存区。最后阶段将是对维度表和事实表进行 ETL 处理,以便按照插入-更新-删除的顺序进行操作。对每个模块逐级进行测试,并在数分钟内产生对账结果,对数据库执行时间进行计算,并通过 Informatica 电源中心集成工具进行 ETL 处理。在某些情况下,测试的方法使用增量加载过程或完全重新加载。这些方法对表行和文件使用时间戳。目标系统是oracle PL/SQL 数据库。只有在修改日期之后发生更改的更改才会被存储到目标系统的数据库中。工业过程验证数据并产生对账结果是一种用于管理数据和科学方法的技能,以通过修改维度自动确保对账和数据验证。数据核对是旨在测量作为随机误差/测量噪声原因的误差并纠正这些误差的过程。测量中的误差可能会降低协调结果的强度。为了满足系统约束,需要最小化整体误差数据。
图 4、图 5 显示了通过 ETL 过程对变更数据捕获方法进行测试的协调图结果。图 4 显示了产品公司所有主要创收模块的来源和目标中产品的价格和数量。所有模块都将直接充当决策者,因为这些是公司的销售和供需组成部分 [3]。一般基础是源和目标之间的计数应该是相同的值以保持一致性,但仅在特殊情况下才会变化。
图4 显示使用 CDC 集成的不同模块的协调结果:
图 5. 显示过渡系统 (BAAN) 和通过 CDC 的 ETL 系统进程之间的运行时间窗口的性能图
所提议的论文解释了使用变更数据捕获的 ETL 过程,该过程基于监视源数据库中的任何数据修改并结合不同的 ETL 方法来优化数据集成过程以及解耦过渡系统负载和资源锁。 Attunity 工具在高性能网络上同步数据库。现在可以通过 CDC 和 ETL 处理大数据,因为数据量将大幅增长。所提议的论文的设计具有可靠性、完整性、可预测性和安全性的品质,以便企业在任何具有近实时数据的重要情况下做出坚定的决定。未来的工作将包括通过针对特定模型的高性能连接或子查询进一步优化查询,以减少延迟和/或回溯不使用最终用户常见的任何额外查询,从而减少表/视图的数量和/或将来使用非常大的数据集时迁移到 HP Superdome 服务器。