首页 博客
什么是数据管道?
五味子
首页 博客
什么是数据管道?

什么是数据管道?

数据管道是一系列操作,它们将来自多个源的数据组合起来进行分析或可视化。

通过 杰森•哈里斯,2020年12月3日

在当今的商业环境中,快速做出更明智的决策是一个关键的竞争优势。公司希望他们的员工做出数据驱动的决定,但从公司的数据中获取及时的见解似乎是一个令人头疼的挑战。

通过内部解决方案、SaaS应用程序、数据库和其他外部资源,数据和数据源的数量每天都在增长。如何将来自所有这些不同来源的数据整合到一起?数据管道。

什么是数据管道?

简言之,数据管道是一组将原始数据从源路由到目的地的操作和技术.数据管道有时被称为数据连接器。

数据管道由以下组件组成:源、数据转换步骤和目标。

一个数据源可能包括内部数据库,如由MongoDB或PostgreSQL支持的生产事务数据库;云平台,如Salesforce、Shopify或MailChimp;或外部数据源,如尼尔森或Qualtrics

数据转换可以使用工具执行,如dbt三面体,或者可以使用Python、Apache风流和类似工具等技术的混合手工构建。这些工具主要用于使来自外部源的数据与每个独特的业务用例相关。

目的地数据提取后存储在其中的存储库,如数据仓库或数据湖。

让我们看一个应用示例。数据管道使数据可以从不同的应用程序和平台(如Facebook Ads、谷歌Analytics和Shopify)流动。如果客户体验分析师试图理解这些数据点,以了解广告的有效性,他们需要一个数据管道来管理从这些不同来源的数据到数据仓库(如Snowflake)的传输和规范化。

简单地说,任何时候在两点之间处理数据,都会涉及到一条数据管道。

此外,数据管道还可以将数据从数据仓库或数据湖输入操作系统,如客户体验处理系统Qualtrics(尽管这超出了我们在这里讨论的范围)。

总之,数据管道使您能够将来自不同来源的数据集中到一个地方进行分析。您可以获得客户更健壮的视图,创建统一的财务仪表板等等。数据管道还带来了确保一致的数据质量的优势,这对可靠的业务智能至关重要。数据工程师可以通过编写代码和手动与源应用程序和数据库交互来自己构建管道。或者,他们可以停止重复工作,转而使用自动化数据管道工具。

数据管道体系结构

许多公司正在通过采用一套名为“现代数据栈”的云本地工具来使其数据基础设施现代化。自动化数据管道是现代数据堆栈的一个关键组件,它使企业能够接受新的数据源并改进业务智能。

现代数据堆栈包括:

  1. 自动化数据管道工具,如Fivetran

  2. 云数据目的地,例如雪花大查询AWS红移

  3. 加载后转换工具,例如dbt(Fishtown Analytics也称为数据构建工具)

  4. 商业智能引擎,如旁观者Chartio

数据管道可以将数据从源平台转移到目的地,分析师和数据科学家可以在目的地消费数据,并将其转化为有价值的业务洞察力。

为了理解数据管道是如何工作的,让我们分析一下从源到目标的数据提取和放置。

考虑跑鞋制造商ASIC的情况。公司需要集成来自NetSuite和Salesforce营销云的数据进入雪花,以获得360°的客户视角。

为了做到这一点,ASICS数据团队研究了它的核心应用程序数据——在这种情况下,来自一直流行的过程-并将忠诚计划的注册数据与其他归因渠道的数据相结合。通过数据管道,ASICS能够轻松扩展其数据集成。

根据业务用例和选择的目的地,上面的工作流有许多变体。

数据传输的基本步骤包括:

1:阅读

源可以包括生产数据库,例如MySQLMongoDBPostgresSQL,以及web应用程序,如SalesforceMailChimp的。数据管道按预定的时间间隔从API端点读取数据。

2:定义目的地

目的地可能包括云数据仓库(雪花大查询红移)、数据湖或商业智能/仪表板引擎。

3.转换数据

数据专业人员需要结构化和可访问的数据,这些数据可以被解释,以便对他们的业务伙伴有意义。数据转换使执行者能够更改数据和格式,使其与他们特定的业务用例相关并有意义。

数据转换可以采用多种形式,如:

  • 建设性:添加、复制或复制数据

  • 破坏性:删除字段、记录或列

  • 美学:标准化称呼、街道名称等(又名数据清理)

转换使数据具有良好的格式和良好的组织—便于人类和应用程序解释。数据分析师可以使用像dbt这样的工具来标准化、分类、验证和验证从管道输入的数据。

数据管道可靠性

就像技术世界里的任何事情一样,事情会发生变化,包括数据流。当您的数据分析和业务智能操作依赖于从各种来源提取的数据时,您希望您的数据管道快速,更重要的是,高度可靠。但是数据管道与链上的进程具有父子关系。当您接收外部源(如Stripe、Salesforce或Shopify)时,API更改可能会导致删除字段,从而破坏数据流。

传统上,数据管道过程包括在将数据加载到目的地(也称为ETL)之前提取和转换数据。在过去,当公司必须在本地硬件的约束下工作时,这种顺序是有意义的。其目标是在加载前通过转换保持数据较小和概括,以节省宝贵的数据仓库资源。但是提取-转换-加载序列引入了一系列您希望避免的缺点和约束。

首先,这个过程本质上是不灵活的——在将数据加载到输出目的地之前进行数据转换,迫使分析师在创建报告之前预测数据的每次使用。每个更改都是昂贵的,并可能影响初始提取的下游数据和代码。

而且,对数据进行的每一次转换都掩盖了一些底层信息。这是有风险的,任何熟悉垃圾箱或辛普森悖论概念的人都知道——从未经适当切割的数据中得出结论是危险的。

此外,构建数据管道往往超出了分析师的技术能力(或愿望)。它通常需要It和工程人才的密切参与,以及定制的代码来提取和转换每个数据源。ETL方法曾经是必要的,因为内部计算和存储的成本很高。随着基于云计算的选项的快速增长和基于云计算和存储的成本直线下降,没有什么理由继续这种做法。如今,可以在云中以低成本维护大量数据,并使用SaaS数据管道工具来改进和简化数据分析。

数据管道:构建还是购买?

我们已经知道了数据管道对公司的分析工作有多重要。你如何决定是自己开发还是购买第三方产品更有意义?

数据工程师稀缺且昂贵——这对他们的组织来说是难以置信的宝贵。在许多公司,工程师负责建立和维护数据管道,以提取、转换和加载数据。即使是专用的ETL工具也需要高价值的团队来维护和配置。

根据定义,工具应该“帮助完成任务”。然而,通常情况下,经典的数据管道(ETL)工具会消耗数据工程师的时间和热情。它们要求维护和关注,而不是让数据工程师茁壮成长,这种方式类似于泄漏的管道——企业投入资金的管道——却没有什么回报。

考虑成本构建自己的数据管道连接器。成本因地区和薪资等级而异,但您可以快速计算用于构建和维护连接器的工程时间以及组织的总体拥有成本。货币成本将是巨大的,更不用说停机带来的成本了。

数据管道让工程师专注于重要的事情

数据工程师更愿意关注更高层次的项目,而不是将数据从A点移动到B点。老实说,数据工程师提供了数据和业务之间的桥梁,这是其他团队无法提供的。通过处理数据传输(或数据管道),数据工程师可以自由地为内部利益相关者编目数据,并成为分析和数据科学之间的桥梁。

正如Stitch Fix数据平台副总裁杰夫·马格努森(Jeff Magnusson)所言:

“数据领域的工程师普遍担心的是,不管你的职位描述或招聘宣传,你都在秘密地寻找ETL工程师。您可能没有意识到,没有人喜欢编写和维护数据管道或ETL。这是该行业的终极烫手山芋。因此,ETL的工程角色是平庸的原型温床,这一点也不奇怪。”

自动化数据管道的主要原因

数据管道工具监控数据源的任何类型的更改,并可以自动调整数据集成过程,而无需开发人员参与。从本质上说,这意味着数据管道自动化是减少程序员负担、支持数据分析师和数据科学家的最有效方法,任何云现代化战略都必须包含数据管道自动化计划。

在考虑数据管道产品时,请寻找结合以下管道编排和自动化最佳实践的工具:

  • 它评估数据源结构以发现源模式。

  • 它提供了一个健康的预配置连接器清单,这些连接器可以从各种文件、数据库、事件流、云本地服务和应用程序中获取数据。

  • 它维护已发现模式的清单,并可以自动检测数据源中的模式更改。

  • 它完全包含了提取/加载/转换(英语教学)数据集成与转换方法。

  • 它完全管理数据规范化,以自动化数据管道的生成,并生成可供分析的数据资产。

  • 它可以监视数据源的更改,以识别更新和模式修改,并自动调整以适应这些更改。

  • 同时,它可以利用弹性云计算资源来维持大规模的集成。

  • 在提供故障自动恢复方面,它是健壮的和容错的。

  • 它满足数据保护需求,并提供端到端加密,以防止未经授权的使用。

为什么Fivetran

Fivetran automated data connectors是预构建和预配置的,支持150多个数据源,包括数据库、云服务和应用程序。随着供应商通过添加或删除列、更改数据元素的类型或添加新表对架构进行更改,Fivetran连接器会自动进行调整。最后,我们的管道管理规范化,并为您的企业创建可随时查询的数据资产,这些资产具有容错性,并在发生故障时自动恢复。

在几分钟内开始分析数据,而不是几个月

立即启动任何Fivetran连接器。