开创性的数据可观察性:数据、代码、基础设施和人工智能
美妆与时尚领域的革命性数据观察:数据、代码、基础设施和人工智能
当我们在2019年推出数据可观察性类别时,这个术语是我几乎无法发音的东西。
四年后,该类别已经牢固地确立为现代数据堆栈的核心层。数据可观察性是G2类别,被Gartner、Forrester等机构认可,并且最重要的是被包括一些世界上最先进的数据组织在内的数百家公司广泛采用。
事实上,一家快速增长的公司的首席技术官最近告诉我:“这是因为世界正在发生变化的长期趋势。数据可观察性迟早会发生,没有人能够阻止它。”
虽然我仍然经常无法发音(任何人吗?),但数据可观察性已经成为现代数据团队不可或缺的东西,对于这一运动的发展我感到无比自豪。
那么,数据可靠性的未来还有什么呢?要了解我们未来的方向,首先需要回顾一下我们已经取得了多大的进步。
我们的起点
在2010年代中期,数据团队开始转向云端,并采用数据存储和计算技术,如Redshift、Snowflake、Databricks、GCP等,以应对对分析的日益增长的需求。云端使得数据的处理速度更快,转换更容易,并且更容易访问。
随着数据变得越来越普遍,数据流程变得更加复杂,新的角色进入现场来管理这种混乱(你好,数据工程师),可用的用例数量激增。
好处是,更明智的决策、更多的数据用例和更智能的软件。
不足之处在于,基础知识(如数据质量)被忽视,而被追求更光鲜亮丽的现代数据堆栈的部分盖过。
在过去的生活中,我亲眼见证了糟糕数据的影响。首席财务官在早上5点时当“数据看起来不对”时给我发送的信息。股东在仪表盘未能更新时粘在我的电脑显示器上的便签。由于我们的产品受到错误数据的影响,导致困惑的客户。
数据可观察性就是从这种痛苦中诞生的,我们将其称之为数据停机时间,并提供了一种切实可行的解决方案。受应用可观察性和站点可靠性工程的启发,数据可观察性监控并预警组织在数据问题影响业务之前。数据可观察性提供了一种自动化、流程驱动的实现数据可靠性的替代方案,降低成本,推动增长,并显著减少早上5点钟的火灾演习。
历史上,最强大的数据可观察性方法包括三个主要阶段:检测、解决和预防。
- 检测:数据可观察性检测您的数据中的异常和其他问题,并在相关数据团队的适当所有者之前向其发出警报。
- 解决:同时,数据可观察性平台为团队提供解决问题的工具,包括字段级系谱、自动化的根本原因分析和影响分析,有关影响该资产的过去事件的信息,相关查询日志和dbt模型,受影响的报告等。
- 预防:最后,数据可观察性还提供了机制,以防止数据问题在第一时间发生,比如在管道中设置断路器,并为代码更改对数据产生的影响创建可见性,以及其他预防不良数据进入管道的主动措施。
起初,数据可观察性专注于通过利用元数据和数据本身来拼凑出数据健康状况的画面,检测、解决和预防数据问题。通过监控并预警数据在摄取到消费的过程中的问题,团队可以检测到未预料到的上游表格的变化,从而导致下游源数据中断或不可靠。
超越数据的检测和解决方法
然而,和任何一个行业一样,数据领域也在发展,影响着团队需要思考的事故检测和解决方法,以及更广泛的数据可观性。这种演变归因于一些令人兴奋的趋势:数据产品的崛起,以及由此引发的数据团队向工程组织更近甚至直接融合的持续迁移。
随着数据团队在组织中范围的扩大和数据用例的增多,数据团队比以往任何时候都更加对企业的底线产生影响。现在,企业中的每个人每天都在利用数据来获取见解、提供数字服务和训练机器学习模型。事实上,我们已经超越了简单将数据视为产品的阶段。在2023年,数据本身即是产品。
在包括百事、Gusto、MasterClass和Vimeo团队在内的众多客户之后,我们发现实现数据可靠性不仅需要关注数据本身。不可靠的数据不是独立存在的……它受到数据生态系统的三个组成部分的影响:数据+代码+基础设施。
这一更广泛的视野也反映了我们在软件工程领域的朋友们如何处理检测和解决方法。应用可观性从基础设施开始,但分析的范围远远超出了这个范畴,以便检测和解决软件停机问题;根本原因分析要考虑代码、基础设施、服务、网络和其他许多因素。对于软件工程师来说,可靠性并不是独立实现的,它常常受到多个因素的影响,这些因素经常同时发挥作用或相互叠加。
在数据领域,情况往往也是如此,我们应该开始以同样的方式对待。
让我们以数据领域的一个假设性例子为例。
假设你有一个显示陈旧结果的仪表板。你可能首先查看数据,比如这种情况下,从谷歌引入的一个描述广告活动的上游表。是不是有人改变了某个广告活动的名称,从而破坏了硬编码的数据管道?或者你在点击事件表中获取到的是空值而不是用户UUID?还是没有结果,下一步是什么?
你查看代码。也许你的分析工程师更改了过滤掉最新数据的SQL代码?他们本意良好,但可能产生了意想不到的后果?你看了一下你的dbt repo,没问题。
最后,你查看基础设施。你快速切换到你的Airflow用户界面——也许你正在运行一个小实例的Airflow,它耗尽了内存(不应该将那些行加载到内存中!!),导致下游的数据新鲜度问题。欧里卡——找到了!
经验告诉我们,这三个因素都对数据停机产生有意义的贡献。所以无论你首先查看哪个因素,你都需要经历一个漫长而繁琐的过程,通过逐个排除来进行有根据的猜测。哦,还提到了吗?这需要使用和精通组成数据堆栈的8种不同工具。
现在,想象一下,你能够快速地将你所看到的症状(陈旧的仪表板……)与发生在数据、代码和基础设施上的所有变化进行关联。哦,而且你不需要统计学博士学位,也不需要在公司拥有10年经验,熟知数据仓库中的每一列。这一切都在你的指尖——对数据、代码和基础设施如何协同工作导致仪表板出现故障的全面理解。想象一下,你可以节省多少时间和资源,避免利益相关者的沮丧,更不用说早上的闹钟了。
数据可观性需要对数据、代码和基础设施这三个数据环境层面有深入了解。图片由作者提供。
为了真正实现数据可观性的潜力并实现可靠的数据,团队需要采取三层方法,将数据、代码和基础设施有机地结合起来,以全面了解影响数据健康的因素。
我们还意识到,实现数据可靠性不仅仅是打开一个工具。这是团队中创建一种全新的纪律,一种操作思维方式。团队需要引入围绕监控数据系统、响应事故和持续改进的过程。
组织结构、流程和技术必须不断演变以实现这些目标。比如:定义和监控以上游表为基础的数据产品可靠性的仪表板,可以轻松共享于整个组织,以实现透明度、协作和责任。还有根据用例和所有者对数据和流程进行分割的领域,以进行有针对性的故障排除和问题解决。
可靠的数据与人工智能的未来
在目前阶段,将大型语言模型(LLMs)视为未来的[在此处插入行业]几乎成为陈词滥调,但对数据行业的影响则有所不同。
目前,数据和工程领域中的生成式人工智能应用几乎专注于提高生产力,例如GitHub Co-Pilot、Snowflake Document AI和Databricks LakehouseIQ。在很多方面,我们不知道生成式人工智能的未来会带来什么,但我们知道数据团队在其成功中将发挥重要作用。
LLMs具有帮助提高数据质量的激动人心的机会,但更强大的观点是数据质量和可靠性可以帮助LLMs。事实上,我认为用于生产用例的LLMs不能没有坚实的基础:大量高质量、可靠、可信的数据。
总的来说,如今绝大多数生成式人工智能应用都托管在云端,并通过API进行展示。为了支持它们,您需要一个稳定、基于云的数据堆栈,可靠地存储、转换、训练和提供为其提供动力的数据。
回应这种观点,在Snowflake的2023财报电话会议上,Snowflake的首席执行官Frank Slootman表示:“生成式人工智能由数据驱动。这就是模型训练并变得越来越有趣和相关的方式……你不能随便让这些[LLMs]在人们不理解其质量、定义和血统方面的数据上为所欲为。”
我们已经看到了不可靠模型训练的影响。就在去年,全球信用巨头Equifax谈到,基于错误数据进行的机器学习模型训练导致他们向数百万消费者发送了错误的信用评分。就在那之前不久,Unity Technologies报告称,由于错误广告数据为其定向算法提供动力,导致收入损失了1.1亿美元。在未来几年中,除非我们将信任置于首位,否则这势必会成为一个更大的问题。
随着企业在未来几年中极为重要的人工智能应用的兴起,数据的可观测性将成为支持LLMs和所有其他人工智能用例的关键能力。
正如Databricks的联合创始人Matei Zaharia、Patrick Wendell、Reynold Xin和Ali Ghodsi所提到的:“企业应用程序对于幻觉或不正确的响应几乎没有容忍度……在机器学习生命周期的每个阶段,数据和模型必须共同进行策划,以构建最佳应用程序。这对于生成式模型尤为重要,其中质量和安全性非常依赖于良好的训练数据。”
我非常认同。更好、更有影响的人工智能的第一步是什么?好的、可靠的数据——而且数量还要很多。
文章最初发布在此处。获得许可后重新发布。