据 Gartner Group 称,数据集成、迁移和商业智能项目在至少 70% 的案例中第一次尝试就失败了。商业组织产生(和要求)比以往任何时候都多的数据,但是,失败率令人震惊。在当今的任何业务中,ETL 技术都是数据分析的基础。数据仓库、数据集市和其他重要的数据存储库都加载了从事务应用程序中提取并转换为在商业智能应用程序中进行分析的数据。
DataOps 是将敏捷开发、持续集成、持续部署、持续测试和 DevOps 概念实施到面向数据的项目中。它包括任何数据集成或迁移项目,包括涉及数据湖、数据仓库、大数据、ETL、数据迁移、BI 报告和云迁移的项目。
数据在其从来源到消费的每个阶段都会根据其预期目的进行评估,包括分析、数据科学和机器学习。结果,管道变得脆弱且极其迟缓以适应变化。
DataOps ETL 有助于数据管道的开发、管理和可扩展性,以便根据需要实现可重用性、再现性和回滚。让我们深入了解如何使用 DataOps 的基础知识来实现 DataOps ETL。
目录
- 什么是DataOps?
- DataOps的好处
- 什么是 ETL?
- 为什么需要 ETL?
- DataOps ETL:自动化 ETL 测试中的 DataOps
- 构建您的 DataOps ETL 路线图
- 实施 DataOps ETL 的指南
- 最后的想法
什么是DataOps?
DataOps 的“目的”是加速从数据中提取价值的过程。它通过控制从源到值的数据流来做到这一点。可扩展、可重复和可预测的数据流是数据科学家、数据工程师和业务用户的最终结果。
人在数据操作中的作用与技术和程序一样重要。组织必须在现有环境中管理无限量的数据流。随着数据量、速度和多样性的增加,公司需要一种新的方法来处理这种复杂性。数据管理的可扩展性和可重复性对于最大限度地提高数据效率和价值开发至关重要。
鉴于这十年被称为“数据十年”,公司不可避免地会进行投资,以使数据团队能够跟上生产力、效率和创造力方面的技术进步。为了最大限度地提高数据效率和价值创造,DataOps 在这种情况下进入了画面。另一方面是组织内越来越多的数据消费者,每个人都有自己的一套能力、资源和知识。
数据的数量、速度和种类都在增加,公司需要一种新的方法来管理这种复杂性。数据团队负责人,尤其是首席数据官 (CDO),需要使用数据为公司提供价值,响应临时请求,并确保他们的团队在监督所有与数据管理相关的活动时保持高效。
DataOps的好处
专注于持续的软件交付
- 为了在 DevOps 环境中有效地管理数据和交付活动,DataOps 协调了人员、流程和技术。
- DataOps 提供了高效数据管理和交付操作所需的工具。
- 软件分发由 DataOps 自动化,从而形成标准化、可重复和可预测的过程。
提高效率
- 为了提高员工的工作效率,DataOps 自动化了面向流程的方法。
- 借助 DataOps,资源现在可以专注于战略活动,而不是将时间浪费在常规活动上。
- 通过使用 DataOps 技术,可以避免人为错误。
- DataOps 可自动执行代码检查、受控推出以及创建可重复的自动化程序。
提高员工敬业度
- 认可是预测员工敬业度的最有效因素。借助 DataOps,这将提供一个有意义的观点,帮助企业制定明智的计划并执行它们。
- DataOps通过自动化和敏捷流程开发最佳实践,以便员工可以以更多的责任交付更好的工作。
什么是 ETL?
image.png
ETL,或提取、转换、加载是数据仓库的基础。这是一个三阶段的数据集成过程,从多个源系统中提取数据,将其转换为可分析的格式,然后将其加载到数据仓库中。ETL 强制执行数据质量和一致性标准,以便您的开发人员可以构建应用程序并且业务用户可以做出决策。
为什么需要 ETL?
多年来,企业一直依靠ETL流程来获得有助于他们做出更好业务判断的数据的综合图景。这种组合来自许多系统和来源的数据的方法今天仍然是公司数据集成工具包的重要组成部分。
- 当与企业数据仓库(静态数据)结合使用时,ETL 为企业提供了丰富的历史背景。
- 由于 ETL 的统一视角,业务用户可以更轻松地评估和报告与其项目相关的数据。
- ETL 编码和重用数据移动过程,无需技术专业知识来开发代码或脚本,从而提高数据专业人员的工作效率。
- 随着时间的推移,ETL 已经发展到适应流数据等新技术的新集成需求。
- 为了合并数据、确保准确性并提供数据仓库、报告和分析通常所需的审计,组织需要 ETL 和 ETL。
DataOps ETL:自动化 ETL 测试中的 DataOps
业务是 ETL 最终支持的。当今组织的成功取决于在支持数据和分析操作的更广泛的 DataOps 和 MLOps 管道中管理 ETL 流程的效率。任何先进的 ETL 系统都应该能够清理、添加和改进所有类型的数据,以便为越来越多的复杂应用程序提供服务。根据最近参加 TDWI 民意调查的数据管理专家的说法,升级 ETL 和其他数据集成系统的主要目标是提高不同数据密集型应用程序服务于底线的效率。
DataOps 领域有一种趋势,即重点关注有助于测试自动化的技术。此外,项目质量控制和特定测试如何融入 DataOps 的产品生命周期也存在问题。团队如何才能充分理解少量增量修改可能带来的缺陷,而不会使流程陷入困境?测试人员的反应应该包括制定一个反映项目团队共享目标的测试计划。在可行的情况下,
DataOps 程序应在考虑为项目选择的 IT 解决方案的同时自动化测试。自动化测试可能是值得信赖的,但工具和测试的能力和范围将决定它们的有效性。DataOps 实践组织中的项目团队成员至少花费 20% 的时间来准备和创建测试。只要发现并修复了问题,就会引入新的测试,然后需要执行回归测试。
自动化 ETL 测试的主要好处是它很容易经常和定期进行。定期手动测试有时过于昂贵和耗时。您必须不断且频繁地验证您的数据和 ETL 逻辑以保证良好的质量。测试过程本身可能难以自动化,但它对于提高开发速度和一致性至关重要。 在准备更新其 DataOps ETL 系统时,组织应优先考虑以下业务标准:
- 合规性:组织需要 ETL 和其他 DataOps 解决方案来帮助他们遵守数据隐私和行业特定的数据使用要求,同时支持企业范围的数据治理标准。
- AGILITY : 不可预知的和平凡的在商业中并存。DataOps ETL 和其他 DataOps 操作必须支持可重复的编排和临时工作负载,才能满足所有需求,从而使企业能够对紧急需求做出反应。
- 简单性:当所有类型的消费者都可以使用数据分析时,企业的运营效率最高。这需要可见、自助、免编码和直观的 DataOps ETL 和其他 DataOps 工具。它应该使消费者更容易使用数据,并防止他们被草率、冲突和指定不当的数据所迷惑。
- 自动化:数据集成是一项艰巨的任务,但幸运的是它可以自动化。借助 DataOps ETL 系统,用户不再需要执行无意义的、手动的、耗时的数据集成任务。DataOps ETL 解决方案应适应某些 DataOps 利益相关者(例如数据工程师和数据科学家)的要求,以减少设计、实施和维护流程所需的时间和费用。
构建您的 DataOps ETL 路线图
ETL 现代化可能是一个繁琐的过程。有许多不同的技术、运营和业务挑战相互重叠或相互依赖。在业务DataOps 专家构建 ETL 路线图时,应考虑现代 DataOps ETL 管道的以下组件:
- 统一:ETL 管道应在单个 DataOps 框架中管理跨混合云、多云和其他复杂拓扑的工作负载。此外,它们应该与机器学习操作 (MLOps) 的 MLOps 管道无缝交互,以便更有效地准备数据并将 ML 模型训练到智能应用程序中。
- 灵活:ETL 管道中的灵活可扩展性应支持 DataOps 需求。计算、存储和其他云资源应根据需要进行弹性配置。他们应该有能力从有组织的、半结构化的和非结构化的来源中获取和处理信息。任何形式的 ETL 流程,包括那些需要数据清理、分析、监控、编目和准备的流程,都应该能够由使用管道的企业构建和执行。它们还应该能够同时创建、管理和编排多个 ETL 管道,以及重新安排 ETL 作业的执行顺序。
- GOVERNED:ETL 管道应支持用于摄取、准备和交付到下游应用程序数据资产的所有治理任务。它们必须与所有领域的业务词汇表、主数据管理、数据分析、数据清理、数据沿袭和主数据管理的现有基础架构集成。
- 加速:ETL 管道应设计用于连续、实时、低延迟的处理。他们应该能够在分布式、内存中、云原生架构中运行迁移的工作负载,该架构标配支持 Spark、Flink、Kafka 和其他流计算主干。
- OBSERVABLE:应该使用智能数据可观察性工具从头到尾监控 ETL 管道。这对于识别数据异常、提前预见问题、解决 ETL 管道问题以及某些工作负载的闭环处理至关重要。
- 智能:ETL 管道应动态调整以适应现代 DataOps 架构中不断变化的上下文、工作负载和需求。这需要将机器学习知识集成到每个流程和管道节点中。根据数据、时间和环境,架构应该能够适应跨管道的依赖关系。
它还应该能够自动找到需要检索到管道中的新的和更新的数据资产,并在数据被吸收到管道中时对其进行验证。此外,它应该能够根据新的来源、上下文因素和处理需求调整其逻辑,并在技术、工作量和性能问题成为严重问题之前先发制人地解决它们。最后但同样重要的是,智能 DataOps ETL 管道应自动生成即时上下文建议,帮助 DataOps 专家管理、改进和解决复杂的流程和工作流。
实施 DataOps ETL 的指南
云现代化最重要的方面之一是将传统 ETL 平台演变为智能 DataOps ETL 管道。现代 ETL 平台迁移可能是一项具有挑战性的任务。现有的 ETL 程序必须在不干扰技术或业务流程的情况下无缝转移到新平台。在这个任务中,重要的步骤包括:
- 规划:在为他们的要求选择理想的 ETL 现代化目标架构时,企业 DataOps 专家应考虑目标环境等因素——本地、公共云或混合或多云配置——目标 ETL 管道将在哪里功能。在准备迁移到目标设计时,他们应该选择最好的选项来尽可能多地自动化这些工作。一旦确定了首选解决方案并选择了迁移工具,ETL 专家应优先考虑将哪些 ETL 作业(以及以何种顺序)迁移到目标环境。
- 实施:ETL 迁移通常需要转移多个流程和相关活动。在目标平台上重建 ETL 过程时,DataOps 专家可能决定从头开始。他们可能决定将工作流以其确切形式从遗留环境转移到目标环境。作为替代,他们可以自动将当前 ETL 工作负载从传统工具转移到预期平台。DataOps 专家应确保将 ETL 工作负载移动到目标环境不会影响用户、利益相关者和下游应用程序的数据可用性。新的 DataOps ETL 环境启动后,必须对其进行广泛检查,以确保它能够满足所有当前的 ETL 作业。
- 优化:ETL 迁移并不总是必须是简单的提升和转移操作。为了从新平台的可扩展性、速度和其他优势中受益,可能而且应该创建新的 ETL 程序。至少,需要集成冗余 ETL 流程以节省带宽、存储和处理资源。
最后的想法
数据运营的主要目标是简化数据工程管道并消除数据组织孤岛。CDO、业务用户和数据管理员参与数据生成生命周期的早期阶段。这对数据开发团队,以及在生产环境中处理数据挑战的运营和业务部门都非常有利。
企业必须过渡到灵活、完全托管的云原生 DataOps 基础架构,以实现 ETL 现代化。为了能够开发、培训和部署现代业务所依赖的数据驱动的智能应用程序,理想情况下,该基础设施应与基于云的 MLOps 管道和数据湖库相结合。