Press "Enter" to skip to content

您的数据(终于)在云中了现在,请停止对本地环境的表现

现代数据堆栈允许您以不同的方式进行操作,不仅仅是在更大的规模上。利用它的优势。

Photo by Massimo Botturi on Unsplash

想象一下,您在您的职业生涯中一直使用锤子和钉子来建造房屋,而我给了您一把螺钉枪。但是,您没有将其按压在木头上并扣动扳机,而是将其侧向旋转并像使用锤子一样击打钉子。

您可能会认为这太昂贵且不太有效,而现场检查员则会正确地将其视为安全隐患。

这是因为您正在使用现代工具,但采用传统思维和流程。尽管这个比喻并不完美地描述了一些数据团队在从本地环境迁移到现代数据堆栈后的运作方式,但相似之处很多。

团队很快就会了解到,超级弹性计算和存储服务如何使他们能够处理更多样化的数据类型,并以前所未有的速度和数量,但他们并不总是了解云对他们工作流程的影响。

所以,也许对于这些最近迁移的数据团队来说,一个更好的类比是,如果我给了您1000把螺钉枪…然后看着您把它们都侧着用来同时敲打1000个钉子。

无论如何,重要的是要理解,现代数据堆栈不仅仅允许您存储和处理更大更快的数据,而且还允许您以根本不同的方式处理数据,以实现新目标并提取不同类型的价值

这部分是由于规模和速度的增加,但也是由于更丰富的元数据和生态系统中更无缝的集成。

Image courtesy of Shane Murray and the author.

在本文中,我强调了数据团队在云中改变行为的三种常见方式,以及他们没有改变的五种方式(但应该改变)。让我们深入研究。

数据团队在云中改变的3种方式

数据团队迁移到现代数据堆栈有很多原因(而不仅仅是CFO最终释放了预算)。这些用例通常是数据团队进入云后的第一个和最简单的行为转变。它们包括:

从ETL到ELT以加快洞察力的速度

您不能只是将任何内容加载到本地数据库中-特别是如果您希望在周末之前返回查询结果。因此,这些数据团队需要仔细考虑要提取哪些数据以及如何将其转换为最终状态,通常通过在Python中硬编码的管道实现。

这就像为每个数据使用者定制特定的餐点,而不是摆放自助餐。正如每个曾经在游轮上的人都知道的那样,当您需要满足组织各个部门对数据的无止境需求时,自助餐是最好的选择。

这是AutoTrader UK技术负责人Edward Kent去年与我的团队讨论数据信任和自助分析需求时的情况。

“我们希望赋予AutoTrader及其客户通过自助平台做出基于数据的决策并实现对数据的民主化访问…当我们将可信的本地系统迁移到云上时,那些老系统的用户需要相信新的基于云的技术与他们过去使用过的老系统一样可靠,”他说。

当数据团队迁移到现代数据堆栈时,他们欣然采用自动摄取工具(如Fivetran)或转换工具(如dbt和Spark),以及更复杂的数据策略。分析自助服务打开了一个全新的问题,不清楚谁应该拥有数据建模,但总体而言,这是一种更高效的解决分析(和其他!)用例的方式。

实时数据用于操作决策

在现代数据堆栈中,数据可以移动得足够快,以至于不再需要仅用于每日度量指标的脉冲检查。数据团队可以利用Delta实时表、Snowpark、Kafka、Kinesis、微批处理等等。

并非每个团队都有实时数据使用案例,但那些有的团队通常都很清楚。这些通常是需要操作支持的物流重要公司,或者是将强大报告集成到产品中的技术公司(尽管后者中的很大一部分诞生于云端)。

当然,仍然存在一些挑战。这些挑战有时可能涉及运行并行架构(分析批处理和实时流)以及努力达到大多数人希望的质量控制水平。但大多数数据领导者很快就会理解到能够更直接地支持实时操作决策所带来的价值。

生成式人工智能和机器学习

数据团队对GenAI浪潮有着敏锐的认识,许多行业观察家认为这种新兴技术正在推动基础设施现代化和利用率的巨大浪潮。

但在ChatGPT生成第一篇文章之前,机器学习应用已经从尖端技术逐渐发展成为一些数据密集型行业的标准最佳实践,包括媒体、电子商务和广告。

如今,许多数据团队一旦拥有可扩展的存储和计算能力,就会立即开始研究这些用例(尽管一些团队从构建更好的基础开始会更有益)。

如果你最近刚刚转移到云端,并且还没有问过业务部门如何更好地支持这些用例,请在日程表上安排一下。就在本周。或者今天。你以后会感谢我的。

数据团队仍然像本地团队一样行事的5种方式

现在,让我们来看一些以前在本地的数据团队可能较慢利用的未实现机会。

附注:我想明确一点,虽然我之前的比喻有点幽默,但我并不是在嘲笑仍然在本地操作或使用以下流程在云端操作的团队。改变是困难的。当你面对不断积压和需求不断增加时,这更加困难。

数据测试

在本地的数据团队没有规模,也没有来自中央查询日志或现代表格格式的丰富元数据,无法轻松运行基于机器学习的异常检测(换句话说,数据可观测性)。

相反,他们与领域团队合作,了解数据质量要求,并将其转化为SQL规则或数据测试。例如,customer_id永远不应为空,currency_conversion永远不应为负值。有基于本地的工具旨在帮助加速和管理这个过程。

当这些数据团队转移到云端时,他们首先想到的并不是以不同的方式处理数据质量,而是以云端规模执行数据测试。这是他们所熟悉的。

我曾看过一些读起来像恐怖故事的案例研究(不,我不会点名),其中一个数据工程团队正在跨数千个DAG运行数百万个任务,监控数百个数据流水线的数据质量。可怕!

当你运行了50万个数据测试时会发生什么?我告诉你。即使绝大多数通过了,仍然会有成千上万个失败的测试。而且它们明天还会失败,因为没有上下文来加速根本原因分析,甚至开始进行分析和找出从哪里开始的位置。

你的团队不仅会被预警疲劳,而且还没有达到所需的覆盖水平。更不用说广泛的数据测试既是时间成本高昂的,也是资金成本高昂的。

图片由作者提供。来源。

相反,数据团队应该利用能够检测、分类和帮助RCA潜在问题的技术,同时将数据测试(或自定义监视器)保留给最常用表中最重要值的最清晰阈值。

数据建模与数据血统

支持中央数据模型有许多合理的理由,你可能已经在Chad Sanderson的一篇精彩文章中读到了这些理由。

但是,偶尔我会遇到云上的数据团队,他们花费大量时间和资源来维护数据模型,唯一的原因就是为了维护和理解数据血缘关系。当你在本地部署时,这基本上是你最好的选择,除非你想阅读冗长的SQL代码,并创建一块布满闪卡和纱线的软木板,以至于你的另一半开始问你是否还好。

Jason Goodman在Unsplash上的照片

(“不,Lior!我不好,我正在努力理解这个WHERE子句如何改变这个JOIN中的列!”)

现代数据堆栈中的多个工具,包括数据目录、数据可观察性平台和数据存储库,都可以利用元数据创建自动化的数据血缘关系。只是选择一种口味的问题。

客户分割

在旧世界中,对客户的视图是平面的,而我们知道它实际上应该是一个全球的360度视图。

这种有限的客户视图是预建模数据(ETL),实验限制以及本地数据库计算更复杂查询(唯一计数,不同值)所需的时间长度导致的。

不幸的是,一旦云上消除了这些限制,数据团队并不总是能够从他们的客户视角中摆脱束缚。通常有几个原因,但远远最大的罪魁祸首是老式的数据孤岛。

市场营销团队使用的客户数据平台仍然活跃。该团队可以从仓库/湖库中存储的其他领域的数据中丰富他们对潜在客户和客户的视图,但多年的活动管理所建立的习惯和所有权感很难打破。

因此,与其基于最高预估终身价值来定位潜在客户,不如以每个潜在客户成本或每次点击成本为目标。这对于数据团队来说是一个错失的机会,不能直接且高度可见地为组织做出贡献。

导出外部数据共享

复制和导出数据是最糟糕的。它需要时间,增加了成本,创建了版本控制问题,并且几乎不可能进行访问控制。

与其利用现代数据堆栈来创建一个快速导出数据的流水线,更多的云上数据团队应该利用零拷贝数据共享。就像管理云文件的权限在很大程度上取代了电子邮件附件一样,零拷贝数据共享允许访问数据而无需将其移动到主机环境中。

Snowflake和Databricks都宣布并广泛展示了他们的数据共享技术在他们每年的峰会上,更多的数据团队需要开始利用。

优化成本和性能

在许多本地部署系统中,数据库管理员负责监视可能影响整体性能的所有变量,并根据需要进行调节。

然而,在现代数据堆栈中,你经常会看到两个极端之一。

在一些情况下,DBA的角色仍然存在,或者被分配给一个中央数据平台团队,如果管理不当,这可能会导致瓶颈。然而更常见的是,成本或性能优化变成了一个无序状态,直到CFO的桌子上出现了一张特别令人眼花缭乱的账单。

这常常发生在数据团队没有适当的成本监控工具的情况下,并且出现了一个特别激进的异常事件(比如糟糕的代码或爆炸性的JOIN操作)。

此外,一些数据团队没有充分利用“按使用量付费”的模式,而是选择承诺预定的信用额度(通常以折扣方式提供)…然后超出了这个额度。虽然信用承诺合同本身没有什么问题,但是如果你不小心,这种余地可能会养成一些不良习惯。

云使得DevOps/DataOps的持续、协作和集成方法变得更加容易和鼓励,当涉及到FinOps时也是如此。在现代数据堆栈中,我看到的在成本优化方面最成功的团队,是那些将其作为日常工作流程的一部分,并激励那些最接近成本的人。

“消费基础定价的崛起使得这一点变得更加关键,因为发布新功能可能会导致成本呈指数级增长,”Tenable的Tom Milner说。“作为团队的经理,我每天都会检查我们的Snowflake成本,并将任何突增作为我们的待办事项的优先事项。”

这创造了反馈循环、共享学习以及成千上万个小型、快速修复,推动了巨大的结果。

“我们设置了警报,当有人查询任何会给我们带来超过1美元成本的内容时,警报就会触发。这个阈值相当低,但我们发现并不需要超过这个阈值。我们发现这是一个很好的反馈循环。[当警报触发时]通常是因为有人忘记在分区或者聚类列上设置过滤器,他们可以快速学习,”Aiven的Stijn Zanders说道。

最后,在团队之间部署回收成本模型,在云前不可想象的时代,这是一个复杂但最终值得努力的事情,我希望看到更多的数据团队进行评估。

做一个全面学习者

微软首席执行官萨提亚·纳德拉曾谈到如何有意识地将公司的组织文化从“知道一切”转变为“全面学习者”。这将是我给数据领导者的最好建议,无论您是刚刚迁移还是多年来一直处于数据现代化的前沿。

我理解这可能是多么令人不知所措。新技术如雨后春笋般涌现,供应商们也不断推销它们。最终,问题不在于在您所在行业拥有“最现代化”的数据堆栈,而是在现代工具、顶级人才和最佳实践之间建立起协调。

为了做到这一点,您应时刻准备好了解同行们是如何解决您面临的许多挑战的。参与社交媒体互动,阅读VoAGI,关注分析师,参加会议。我会在那里见到你们!

云上无法再支持的其他本地数据工程活动是什么?请通过LinkedIn联系Barr,留下您的评论或问题。

Leave a Reply

Your email address will not be published. Required fields are marked *