面向现代数据基础架构的新兴架构

2020-10-18 08:53:57

作为一个行业,我们非常擅长构建大型、复杂的软件系统。我们现在开始看到围绕数据构建的大规模复杂系统的兴起--系统的主要业务价值来自数据分析,而不是直接来自软件。我们看到这一趋势对整个行业的快速影响,包括新角色的出现,客户支出的转变,以及围绕数据提供基础设施和工具的新初创公司的出现。

事实上,许多当今增长最快的基础设施初创公司都在开发管理数据的产品。这些系统支持数据驱动的决策制定(分析系统),并推动数据驱动的产品,包括机器学习(操作系统)。它们的范围从传输数据的管道,到存储数据的存储解决方案,到分析数据的SQL引擎,再到使数据易于理解的仪表板-从数据科学和机器学习库,到自动化数据管道,再到数据目录等等。

然而,尽管有这些能量和动力,我们发现对于这一趋势的领头羊是什么,以及它们是如何在实践中使用的,仍然存在着巨大的困惑。在过去两年中,我们与数百名创始人、企业数据领导者和其他专家进行了交谈,包括就他们当前的数据堆栈采访了20多名从业人员,试图对新兴的最佳实践进行编码,并围绕数据基础设施制定通用词汇。这篇文章将开始分享这项工作的成果,并展示推动该行业向前发展的技术人员。

本报告包含通过与数十名从业人员的讨论而汇编的数据基础设施参考体系结构。感谢为这项研究做出贡献的每一个人!

本报告的主要动机之一是数据基础设施在过去几年中经历了迅猛的增长。根据Gartner的数据,2019年数据基础设施支出达到创纪录的660亿美元,占所有基础设施软件支出的24%,而且还在不断增长。排名前30位的数据基础设施初创公司在过去5年中筹集了超过80亿美元的风险资本,每本Pitchbook的总价值为350亿美元。

对数据的争夺也反映在就业市场上。在LinkedIn发布的2019年增长最快的职位排行榜上,数据分析师、数据工程师和机器学习工程师位居榜首。根据NewVantage Partners的数据,财富1000强企业中有60%聘请了首席数据官,而2012年这一比例仅为12%,在麦肯锡的增长和盈利能力研究中,这些公司的表现大大优于同行。

最重要的是,数据(和数据系统)正在直接对业务结果做出贡献-不仅在硅谷的科技公司,在传统行业也是如此。

由于数据基础设施市场的能源、资源和增长,数据基础设施的工具和最佳实践也在以令人难以置信的速度发展。如此之多,很难对所有的部件如何组合在一起有一个连贯的看法。这就是我们开始提供一些洞察力的原因。

我们询问了来自领先数据组织的从业者:(A)他们的内部技术堆栈是什么样子,以及(B)如果他们从头开始构建一个新的技术堆栈,情况是否会有所不同。

注意:不包括事务系统(OLTP)、日志处理和SaaS分析应用。单击此处查看高分辨率版本。

这个体系结构中有很多功能-远远超过您在大多数生产系统中可以找到的功能。它试图提供跨所有用例的统一架构的全貌。虽然最老练的用户可能有接近这一点的东西,但大多数人没有。

这篇文章的其余部分集中在更清晰地介绍这个架构,以及它在实践中最常见的实现方式。

数据基础设施在高层次上有两个目的:通过使用数据(分析用例)帮助业务领导做出更好的决策;将数据智能构建到面向客户的应用程序中,包括通过机器学习(运营用例)。

围绕这些广泛的使用案例,已经形成了两个平行的生态系统。数据仓库构成了分析生态系统的基础。大多数数据仓库以结构化格式存储数据,旨在快速、轻松地从核心业务指标中生成洞察力,通常使用SQL(尽管Python越来越受欢迎)。数据湖是运营生态系统的主干。通过以原始形式存储数据,它可提供定制应用程序和更高级数据处理需求所需的灵活性、可扩展性和性能。数据湖可在多种语言上运行,包括Java/Scala、Python、R和SQL。

这些技术中的每一种都有宗教追随者,围绕其中一种或另一种构建会对堆栈的其余部分产生重大影响(稍后将详细介绍)。但真正有趣的是,现代数据仓库和数据湖正开始彼此相似-两者都提供商品存储、本地水平扩展、半结构化数据类型、ACID事务、交互式SQL查询等。

未来的关键问题是:数据仓库和数据湖是否正走在融合的道路上?也就是说,它们是否在堆栈中变得可互换?一些专家认为,这种情况正在发生,并推动了技术和供应商格局的简化。其他人认为,由于语言、用例或其他因素的差异,并行生态系统将持续存在。

数据基础设施受到整个软件行业正在发生的广泛架构变化的影响,包括向云、开源、SaaS业务模式等的转变。然而,除此之外,还有许多数据基础架构独有的转变。它们推动架构向前发展,并在此过程中经常破坏市场(如ETL工具)的稳定。

一套新的数据功能也在不断涌现,这就需要一套新的工具和核心系统。其中许多趋势正在从无到有地创造新的技术类别和市场。

为了使体系结构尽可能具有可操作性,我们请专家编写了一组通用的“蓝图”-基于规模、复杂性和目标用例和应用程序的数据组织实施指南。

在这里,我们将提供三个常见蓝图的高级概述。我们从现代商业智能的蓝图开始,重点介绍云本地数据仓库和分析用例。在第二个蓝图中,我们查看多模式数据处理,涵盖围绕数据湖构建的分析和操作用例。在最终的蓝图中,我们放大了操作系统以及AI和ML堆栈的新兴组件。

适用于各种规模公司的云原生业务智能-易于使用、入门成本低廉,并且比过去的数据仓库模式更具可扩展性。

对于数据团队和预算相对较小的公司来说,这越来越成为默认选项。企业也越来越多地从传统数据仓库迁移到此蓝图-利用云的灵活性和规模。

核心用例包括报告、仪表板和即席分析,主要使用SQL(和一些Python)来分析结构化数据。

这种模式的优点包括前期投资少、入门速度快、容易上手,以及人才随处可得。此蓝图不太适合具有更复杂数据需求(包括广泛的数据科学、机器学习或流/低延迟应用程序)的团队。

支持分析、运营和使用案例的演进数据湖-也称为Hadoop难民的现代基础架构。

这种模式最常见于具有复杂数据需求的大型企业和科技公司。

使用案例既包括商业智能,也包括使用多种语言(Java/Scala、Python、SQL)实现的更高级功能,包括运营AI/ML、流/延迟敏感型分析、大规模数据转换以及多种数据类型(包括文本、图像和视频)的处理。

此模式的优势包括支持不同应用程序、工具、用户定义函数和部署上下文的灵活性,并且它对大型数据集具有成本优势。此蓝图不太适合那些只想启动和运行或拥有较小数据团队的公司-维护它需要大量的时间、资金和专业知识。

一个全新的、正在进行的堆栈,用于支持机器学习模型的健壮开发、测试和操作。

大多数进行机器学习的公司已经使用了此模式中的一些技术子集。繁重的ML商店经常实现完整的蓝图,甚至依赖于内部开发的新工具。

核心使用情形侧重于内部和面向客户的应用程序的数据驱动功能-在线(即,响应用户输入)或以批处理模式运行。

与预打包的ML解决方案相比,这种方法的优势在于完全控制开发过程,为用户创造更大的价值,并将AI/ML构建为核心的长期功能。这个蓝图不太适合那些只测试ML、将其用于规模较小的内部用例或选择依赖供应商的公司-大规模进行机器学习是当今最具挑战性的数据问题之一。

数据基础设施在架构层面正在经历快速的根本性变化。构建现代数据堆栈涉及到一系列多样化且不断增加的选择。现在,做出正确的选择比以往任何时候都更加重要,因为我们继续从单纯基于代码的软件转向结合代码和数据来提供价值的系统。对于所有行业的公司来说,有效的数据能力现在都是赌注-在数据方面取胜可以带来持久的竞争优势。

我们希望这篇文章可以作为一个路标,帮助数据组织了解当前的技术水平,实施最适合其业务需求的架构,并在该领域的持续发展中规划未来。

获取我们统一架构的高分辨率版本和现代数据基础架构的三个通用蓝图。

下载架构。

这里所表达的观点是引用的AH Capital Management,L.L.C.(“a16z”)个人人员的观点,而不是a16z或其附属公司的观点。这里包含的某些信息是从第三方渠道获得的,包括从a16z管理的基金的投资组合公司获得的。虽然a16z是从被认为可靠的来源获得的,但它并没有独立核实这些信息,也没有就这些信息的持久准确性或其在特定情况下的适当性做出任何陈述。此外,此内容可能包括第三方广告;a16z没有审核过此类广告,也不认可其中包含的任何广告内容。

本内容仅供参考,不应作为法律、商业、投资或税务建议使用。关于那些问题,你应该咨询你自己的顾问。对任何证券或数字资产的提及仅用于说明目的,并不构成提供投资咨询服务的投资建议或要约。此外,这些内容不针对任何投资者或潜在投资者,也不打算供任何投资者使用,在任何情况下,在决定投资于a16z管理的任何基金时都不能依赖这些内容。(投资a16z基金的要约只能通过任何此类基金的私募备忘录、认购协议和其他相关文件进行,并应完整阅读。)。提到、提及或描述的任何投资或投资组合公司并不代表对a16z管理的投资工具的所有投资,也不能保证这些投资将是有利可图的,也不能保证未来进行的其他投资将具有类似的特点或结果。由安德森·霍洛维茨管理的基金进行的投资清单(不包括发行人没有提供a16z公开披露许可的投资,以及对公开交易的数字资产的未宣布投资)可在https://a16z.com/investments/.上查阅。

其中提供的图表仅供参考,在做出任何投资决策时不应依赖。过去的业绩并不代表未来的成果。内容仅截至指定日期。这些材料中表达的任何预测、估计、预测、目标、前景和/或意见如有更改,恕不另行通知,并可能与其他人表达的意见不同或相反。有关其他重要信息,请访问https://a16z.com/disclosures。