自从我们在 2020 年底发布了一套参考架构以来,数据基础设施行业的增长势头有增无减。在过去的一年里,几乎所有的关键行业指标都创下了历史新高,新的产品类别出现的速度超过了大多数数据团队可以合理跟踪的速度。甚至连基准战争和广告牌之争也卷土重来。
为了帮助数据团队紧跟行业内发生的变化,我们在这篇文章中发布了一套最新的数据基础设施。它们展示了当前分析和运营系统的最佳栈,这是我们在过去一年中从众多运营商那里收集的。每个架构蓝图都包括自上一版本以来的变化摘要。
我们也会尝试解释为什么会发生这些变化。我们认为,核心数据处理系统在过去一年中保持了相对稳定,而支持工具和应用程序则迅速激增。我们探讨的假设是,平台开始在数据生态系统中显现,这有助于解释我们在数据栈的演变中看到的特殊模式。
更新的参考架构
在我们深入了解细节之前,先看看下面的最新架构图。这些图是在领先的数据从业者的帮助下绘制的,基于他们在内部运行的内容和他们对新部署提出的建议。
第一个视图展示了所有数据基础设施用例的统一概述:
注:不包括 OLTP、日志分析和 SaaS 分析应用程序。
第二个视图放大了机器学习,它是一个复杂的、越来越独立的工具链。
在本文的其余部分中,我们将讨论自数据栈第一版以来发生了哪些变化,并探讨潜在的根本原因。
改 变
未改变的是:核心的稳定
尽管在过去的一年里,数据基础设施的活动非常狂热,但令人惊讶的是——在某些方面——变化如此之小。
在我们的第一篇文章中,我们区分了支持数据驱动决策的分析系统和支持数据驱动产品的运营系统。然后,我们将这些类别映射到三种模式或蓝图,通常由领先的数据团队实施。
其中一个关键问题是这些架构模式是否会趋同。但一年过去了,似乎并没有发生这种情况。
特别是,分析和运营生态系统都继续蓬勃发展。像 Snowflake 这样的云数据仓库发展迅速,主要集中在 SQL 用户和商业智能用例。但其他技术的采用也在加速,例如,像 Databricks 这样的数据仓库,正在比以往更快地增加客户。我们采访的许多数据团队证实,异构性很可能在数据栈中继续存在。
其他核心数据系统——即摄取和转换——已被证明是类似的持久性。这在现代商业智能模式中尤其明显,其中 Fivetran 和 DBT(或类似技术)的结合已经变得几乎无处不在。但这在某种程度上,运营系统也是如此,在那里出现了 Databricks/Spark、Confluent/Kafka 和 Astronomer/Airflow 等事实标准。
新的内容:寒武纪大爆发
在过去一年里,围绕着稳定的核心,数据栈得到了迅速的发展。概括地说,我们在两个领域看到了最多的活动:
旨在支持关键数据流程和工作流的新工具,如数据发现、可观察性或机器学习模型审计。
新的应用程序,允许数据团队和业务用户以新的、更强大的方式从数据中产生价值,如数据工作区、反向 ETL 和机器学习应用框架。
我们还看到了一些新技术的引入,这些技术旨在增强核心数据处理系统。值得注意的是,围绕分析生态系统中的度量层和操作系统的湖仓一体(Lakehouse)模式,人们一直在进行激烈的争论,这两者都在向有用的定义和体系结构靠拢。
更新的蓝图
蓝图 1:现代商业智能
适用于各种规模公司的云原生商业智能
注:自 2020 年架构的第一版以来,深色框表示新的或者有意义的改变;浅色框表示基本上保持不变。灰色框被认为与这个蓝图不太相关。
未改变的是:
数据复制(如 Fivetran)、云数据仓库(如 Snowflake)和基于 SQL 的数据建模(使用 dbt)的组合继续构成这种模式的核心。对这些技术的采用已经有了显著的增长,促进了新竞争对手(如 Airbyte 和 Firebolt)的融资和早期成长。
仪表板仍然是输出层中最常用的应用程序,包括 Looker、 Tableau、 PowerBI 和 Superset 等新进入者。
新的内容:
度量层(一个在数据仓库之上提供标准定义集的系统)引起了人们的极大兴趣。这已经引起了激烈的争论,包括它应该具有什么功能,哪些供应商应该拥有它,以及它应该遵循什么规范。到目前为止,我们已经看到了几个可靠的纯产品(如 Transform 和 Supergram),并通过 dbt 扩展到这一类别。
反向 ETL 供应商的增长意义重大,特别是 Hightouch 和 Census。这些产品的目的是更新运营系统,如客户关系管理(CRM)或企业资源规划(ERP),使用从数据仓库中获得的输出和见解。
数据团队对新的应用程序表现出更强的兴趣,以增强他们的标准仪表板,特别是数据工作区(如 Hex)。广义而言,新的应用程序可能是云数据仓库日益标准化的结果——一旦数据结构清晰且易于访问,数据团队自然希望利用它做更多的事情。
数据发现和可观测性公司激增并筹集了大量资金(特别是 Monte Carlo 和 Bigeye)。虽然这些产品的好处是显而易见的——即更可靠的数据管道和更好的协作——但由于客户发现了相关的用例和预算,采用这些产品仍然相对较早。(技术说明:虽然在数据发现方面有几家可靠的新供应商——例如 Select Star、 Metaphor、 Stemma、 Secoda 和 Castor ——但我们一般都将处于种子阶段的公司排除在图表之外。)
蓝图 2:多模态数据处理
不断发展的数据湖支持分析和操作用例,也称为 Hadoop 难民的现代基础设施
注 :自 2020 年架构的第一版以来,深色框表示新的或者有意义的改变;浅色框表示基本上保持不变。灰色框被认为与这个蓝图不太相关。
未改变的是:
数据处理(如 Databricks、Starburst 和 Dremio)、传输(如 Confluent 和 Airflow)和存储(AWS)方面的核心系统继续快速增长,并构成了该蓝图的主干。
多模态数据处理在设计上仍保持多样性,允许公司在分析和运营数据应用程序中采用最适合其特定需求的系统。
新的内容:
人们对湖仓一体架构的认识越来越清晰。我们已经看到这种方法得到了众多供应商(包括 AWS、Databricks、谷歌云、Starburst 和 Dremio)和数据仓库先驱者的支持。湖仓一体的基本价值是将健壮的存储层与一系列健壮的数据处理引擎(如 Spark、Presto、Druid/Clickhouse、Python 库等)配对。
存储层本身正在得到升级。虽然像 Delta、Iceberg 和 Hudi 这样的技术并不新鲜,但它们正被加速采用,并被构建到商业产品中。其中一些技术(特别是 Iceberg)也与云数据仓库(如 Snowflake)进行了互操作。如果异构性继续存在,这可能会成为多模态数据栈的一个关键部分。
在流处理(即实时分析数据处理)的采用可能会增加。虽然像 Flink 这样的第一代技术仍未成为主流,但具有更简单编程模型的新加入者(如 Materialize 和 Upsolver)正在获得早期采用,而且,据说现有的 Databricks 和 Confluent 公司的流处理产品的使用也开始加速。
蓝图 3:人工智能和机器学习
用于机器学习开发、测试、模型运行的堆栈
注:自 2020 年架构的第一版以来,深色框表示新的或者有意义的改变;浅色框表示基本上保持不变。灰色框被认为与这个蓝图不太相关。
未改变的是:
与 2020 年相比,今天的模型开发工具大体相似,包括主要的云供应商(如 Databricks 和 AWS),机器学习框架(如 XGBoost 和 PyTorch),以及实验管理工具(如 Weights & Biases 和 Comet)。
实验管理已经有效地将模型可视化和调整作为独立的类别。
建立和操作一个机器学习栈是复杂的,需要专门的知识。这个蓝图不适合胆小的人——而且对于许多数据团队来说,人工智能的生产仍然具有挑战性。
新的是什么:
机器学习行业正在以数据为中心的方法进行整合,强调复杂的数据管理而不是增量的建模改进。这有几个方面的影响:
数据标签的快速增长(如 Scale 和 Labelbox)和对闭环数据引擎的兴趣不断增加,这在很大程度上是模仿特斯拉的 Autopilot 数据管道。
对于批处理和实时用例,更多地采用特性存储(例如 Tecton),作为以协作方式开发生产级机器学习数据的一种手段。
低代码机器学习解决方案(如 Continual 和 MindsDB)重新引起了人们的兴趣,这些解决方案至少部分地自动化了机器学习建模过程。这些新的解决方案侧重于将新用户(即分析师和软件开发人员)引入机器学习市场。
使用预训练模型正在成为默认,特别是在自然语言处理中,并为 OpenAI 和 Hugging Face 等公司提供了支持。这里仍有围绕微调、成本和扩展的有意义的问题需要解决。
机器学习的运营工具(有时被称为 MLops)正变得越来越成熟,围绕机器学习监控构建,成为最需要的用例和即时预算。与此同时,一系列新的运营工具正在出现,其中尤其包括验证和审计,最终市场仍有待确定。
人们越来越关注开发者如何将机器学习模型无缝集成到应用程序中,包括通过预构建的 API(如 OpenAI)、矢量数据库(如 Pinecone)和更多的意见框架。
数据平台假说
总结一下:在过去的一年中,数据基础设施栈在核心系统中表现出了极大的稳定性,并且支持工具和应用程序的快速增长。为了帮助解释为什么会发生这种情况,我们在这里介绍数据平台的概念。
什么是平台?
“平台”这个词在数据生态系统中被过度使用,通常被内部团队用来描述他们的整个技术栈,或者被供应商用来销售松散连接的产品套件。
在更广泛的软件领域,平台是其他开发者可以在上面构建的东西。平台本身提供的价值通常是有限的——例如,大多数用户对访问 Windows 或 iOS 的内部结构没有兴趣。但它们提供了一系列的好处,如通用的编程接口和庞大的安装基础,使开发者能够构建和发布用户最终关心的应用程序。
从行业的角度来看,平台的决定性特征是有影响力的平台供应商和大量第三方开发者之间在技术上和经济上的相互依赖。
什么是数据平台?
从历史上看,数据堆栈显然不适合平台的定义。例如,ETL、数据仓库和报告供应商之间存在着相互依赖,但集成模型倾向于一对一,而不是一对多,并且得到专业服务的大量补充。
根据我们采访的一些数据专家的说法,这种情况可能会开始改变。
平台假说认为,数据堆栈的“后端”——大致定义为数据摄取、存储、处理和转换——已经开始围绕一组相对较小的基于云的供应商进行整合。因此,客户数据被收集在一套标准的系统中,而且供应商正在大力投资,使这些数据容易被其他开发者访问——作为 Databricks 等系统的基本设计原则,以及通过 SQL 标准和 Snowflake 等系统的定制计算 API。
反过来,“前端”开发人员已经利用这种单点集成的优势,构建了一系列新的应用程序。他们依靠数据仓库 / 湖仓一体的干净、连接的数据,而不担心它是如何到达那里的基本细节。一个客户可以在一个核心数据系统的基础上购买和构建许多应用程序。我们甚至开始看到传统的企业系统,如财务或产品分析,正在以“仓库原生”的架构进行重建。
图片可能看起来是这样的:
要明确的是,这并不意味着 OLTP 数据库或其他重要的后端技术将在不久的将来消失。但与 OLAP 系统的原生集成可能会成为应用程序开发的一个重要组成部分。而随着时间的推移,越来越多的业务逻辑和应用功能可能会过渡到这种模式。我们可能会看到一大类新产品建立在这个数据平台上。
数据应用的出现?
数据平台假说仍有很大争议。然而,我们看到复杂的垂直 SaaS 解决方案作为水平层在数据平台之上实施的情况正在增加。因此,虽然是早期,我们认为在数据堆栈中发生的变化至少与平台的想法是一致的。
有很多原因,例如,像 Snowflake 和 Databricks 这样的公司已经成为数据栈的稳定部分,包括伟大的产品,有能力的销售团队和低摩擦的部署模式。但也有一种情况是,他们的黏性被平台的动力所加强——一旦客户用这些系统之一建立和 / 或整合了一系列的数据应用,通常就没有意义了。
对于近年来新的数据基础设施产品的激增,我们也可以提出类似的论点。对这一趋势的典型解释是,大量的数据、不断增加的企业预算和大量的风险投资资金。但这些事情可以说几十年来都是真的。我们现在看到这么多新产品出现的原因可能与平台有关——也就是说,让一个新的数据应用被采用从来没有这么容易,而适当地维护平台也从来没有这么重要。
最后,平台假说在竞争态势方面提供了一些预测能力。在规模上,平台可能是非常有价值的。今天,核心数据系统供应商可能正在积极竞争,不仅仅是为了当前的预算,而是为了长期的平台地位。如果你相信数据摄取和转换公司是新兴数据平台的核心部分,那么这些公司令人瞠目结舌的估值——或者对新类别如度量层或反向 ETL 的激烈争论——也会更有意义。
展望未来
我们仍然处于定义分析和运营数据平台的早期阶段,而且平台的各个部分都在不断变化。因此,作为一个类比,它可能比作为一个严格的定义更有用。但它可能是一个有用的工具,可以从噪音中过滤信号,并帮助培养对市场发展方式的认识。数据团队现在拥有更多的工具、资源和组织动力,比数据库发明以来的任何时候(可能)都多。我们非常期待看到应用层在新兴平台之上的发展。
作者简介:
Matt Bornstein,a16z 的负责人,专注于企业公司。此前,Matt 创立了几家小公司,并为 Blumberg Capital、 LinkedIn 和 Monitor Group 工作。
Jennifer Li,a16z 的合伙人,专注于企业公司。在加入该公司之前,她曾在 AppDynamics 和 Solvvy 担任产品经理。
Martin Casado,a16z 的普通合伙人,他投资于企业公司。此前,他是 Nicira(被 VMware 收购)的共同创始人和 CTO,也是软件定义网络运动的创始人。
原文链接:
https://future.com/emerging-architectures-modern-data-infrastructure
声明:本文为 InfoQ 翻译,未经许可禁止转载。
评论 2 条评论