巨变!a16z 关于新一代数据基础设施架构的深度洞察
点击上方 蓝字关注我们
来源 | a16z
作者 | Matt Bornstein,
Martin Casado,Jennifer Li
翻译 | 夕颜
作为未来最重要的基础设施之一,数据正在成为各行各业赢得未来的“王牌”。围绕数据,更大规模、更复杂的系统涌现,随之在架构层也发生着剧烈的演变。当下,现代商业智能、多模式数据处理、人工智能和机器学习这三大用来构建现代化数据基础设施的模式正在兴起......
在软件行业中,我们非常擅长构建各种大型、复杂的软件系统。现在,围绕数据构建的大规模复杂系统正在兴起,这些系统的主要业务价值来自于数据分析,而不是直接来自软件。我们可以看到,这个趋势对整个行业都产生了巨大的影响,包括新角色的出现、客户成本支出的变化,以及一些提供基础设施和工具的创业公司不断涌现。
事实上,当今很多增长最快的,以基础建设为主的创业公司都在构建管理数据的产品。这些系统支持数据驱动的决策(分析系统),并催生数据驱动的产品,包括机器学习(操作系统)。这些产品各式各样,从承载数据的管道到存储数据的存储解决方案,再到分析数据的 SQL 引擎,甚至到让数据更易于理解的数据看板,涵盖了从数据科学、机器学习库,到自动化数据管道,再到数据目录等广阔的领域。
然而,在这些劲头十足的趋势之下,我们发现大家对于这些前沿趋势所引领的技术,以及如何在实践中应用这些技术仍然感到十分困惑。在过去的两年中,我们采访了数百名创始人、企业数据leader 和包括 20 多名实践者在内的专家,这些实践者尝试在现有的数据堆栈之上,利用新兴的技术趋势进行实践,希望从中得到关于数据基础架构的通用规律。下面是我们与专家们讨论所看到的一些结果。
数据基础设施市场大规模增长
数据基础设施包括……
报告说明,过去几年数据基础设施市场增长非常迅猛。Gartner 数据显示,数据基础设施支出在 2019 年创下 660 亿美元的历史新高,占所有基础设施软件支出的 24%,而且这个数字还在增长。根据 Pitchbook 数据显示,排名前 30 的数据基础设施初创公司在过去 5 年中融资额超过 80 亿美元,总价值达到 350 亿美元。
2015-2020 年数据基础设施创业公司融资情况
数据市场的激烈竞争也在就业市场上有所反映。数据分析师、数据工程师和机器学习工程师在 Linkedin 的 2019 年增长最快的职位排行榜上名列前茅。据 NewVantage Partners 数据显示,财富 1000 强中有 60% 的企业聘用了首席数据官,而 2012 年这一比例仅为 12%,而且据麦肯锡增长和盈利研究报告显示,这些公司的表现大大优于他们的竞争对手。
最重要的是,无论是在硅谷的科技公司,还是在传统行业中,数据(和数据系统)都直接为业务带来贡献。
商业公司中的数据基础设施
一图读懂数据基础设施架构
由于数据基础设施市场的增长,数据基础设施相关的工具和实践也在以惊人的速度发展,但也正因如此,我们很难知道这些工具和实践应该如何更好地融合。本报告正是要为此提供一些洞察。
我们对领先的数据组织机构从业者提了这些问题:(a) 他们的内部技术栈是什么样的,以及 (b) 如果他们从头开始构建一个新的技术栈,是否会有所不同。
以下参考架构图就是这些讨论的成果:
数据基础设施的统一架构
注意:不包括事务系统 (OLTP)、日志处理和 SaaS 分析应用程序。查看高清完整架构图:https://a16z.com/wp-content/uploads/2020/10/Data-Report-Martin-Inline-Graphics-R8-1.pdf
图中的列定义如下:
架构解读
这个架构所代表的趋势远远超过你在大多数生产系统中所见,它展示了跨所有用例的统一架构的全貌。虽然行家可能会了解这些,但大多数人不会。
本文余下部分将重点介绍这个架构,以及其在实践中的常见实现方式。
分析、AI,两大生态系统正在走向融合?
在高层次上,数据基础设施的存在有两个作用:通过使用数据(分析用例)帮助业务 leader 做出更好的决策,以及把数据智能构建到面向客户的应用程序中,包括通过机器学习(业务用例)。
围绕这些广泛的用例,两个平行的生态系统已经形成。数据仓库构成了分析生态系统的基础。大多数数据仓库以结构化格式存储数据,通常使用 SQL(尽管 Python 越来越受欢迎),旨在快速轻松地从核心业务指标中生成洞察力。数据湖是运维生态系统的支柱,通过存储原始数据,它可以满足定制应用程序和更高级的数据处理需求所需的灵活性、规模和性能要求。数据湖可使用多种语言运行,包括 Java/Scala、Python、R 和 SQL。
这些技术都拥有各自的忠实粉丝,围绕其中一种技术进行构建会对技术栈的其余部分产生重大影响(稍后会详细介绍)。但真正有趣的是,现代数据仓库和数据湖开始越来越相似了,两者都提供商业存储、本地水平扩展、半结构化数据类型、ACID 事务、交互式 SQL 查询等。
未来的关键问题是:数据仓库和数据湖是否正在走向融合?也就是说,它们在技术栈中是否可以互换?一些专家认为,这种情况正在发生并推动技术和供应商的格局简化。而有些人则认为,由于语言、用例或其他因素的差异,这两个并行生态系统将继续共存。
架构演进
整个软件行业发生了大范围的架构演进,包括向云、开源、SaaS 业务模型等的转变,数据基础设施深受影响。然而,除此之外,数据基础设施还发生了一些独特的变化,推动着架构向前发展,并在此过程中经常破坏市场(如 ETL 工具)的稳定。
新兴的能力
一系列新的数据功能也随之涌现,需要一系列相应的新工具和核心系统与之匹配。其中许多趋势正在从头开始催生新的技术类别和市场。
用来构建现代化数据基础设施的蓝图
为了使架构尽可能具有可操作性,我们请专家编写了一组通用“蓝图”,从组织的规模、人才密度、使用场景和应用案例维度,为数据组织机构实施部署提供参考。
我们将在本文中提供三种常见的蓝图概况。其中,现代商业智能蓝图侧重于云原生数据仓库和分析用例。在第二个蓝图中,我们着眼于多模式数据处理,涵盖围绕数据湖构建的分析和操作用例。在最后的蓝图中,我们聚焦于操作系统以及 AI 和 ML 堆栈的新兴组件。
蓝图 1:现代商业智能
适用于各种规模公司的云原生商业智能,易于使用、入门成本低,并且比过去的数据仓库模式更具可扩展性。
现代商业智能蓝图
对于数据团队和预算相对较小的公司来说,这种模式渐渐成为默认选项。企业也越来越多地从传统数据仓库迁移到这个模式,以利用云的灵活性和规模。
核心用例包括报告、看板和专用工具,主要使用 SQL(和一些 Python)来分析结构化数据。
这种模式的优势在于前期投资低、上手速度快且易于上手,以及有很多人才可用。但这个模式不太适合有更复杂数据需求的团队,包括广义的数据科学、机器学习或流/低延迟应用程序。
蓝图 2:多模式数据处理
进化的数据湖,支持分析、运营和用例,也被称为给“Hadoop 难民”们的现代基础设施。
多模式数据处理蓝图
这种模式最常见于具有复杂数据需求的大型企业和科技公司。
用法包括商业智能和更高级的功能,包括使用各种语言(Java/Scala、Python、SQL),进行 AI/ML、流/延迟敏感分析、大规模数据转换和不同数据类型(包括文本、图像和视频)的处理。
这种模式的优势在于支持各种应用程序、工具、用户定义的功能和部署上下文的灵活性,并且对于大型数据集有成本优势。这个蓝图不太适合那些只想启动运行或数据团队较小的公司,因为维护需要耗费大量的时间、支出和专业知识。
蓝图 3:人工智能和机器学习
一种全新的、正在探索中的模式,用于支持机器学习模型的稳健开发、测试和操作。
大多数从事机器学习的公司已经采用了这种模式下的一些技术子集。重型的 ML 业务通常会部署完整的模式,甚至依靠内部开发新工具。
核心用例侧重于内部和面向客户的应用程序的数据驱动功能,或在线运行(即响应用户输入),或以批处理模式运行。
与预先打包的 ML 解决方案相比,这种方法的优势在于开发过程完全可控,可以为用户创造更大的价值,并将 AI/ML 构建为核心的长期能力。这个蓝图不太适合仅用来测试机器学习能力,或小规模内部使用,以及依赖供应商的公司,大规模机器学习是当今最具挑战性的数据问题之一。
展望未来
数据基础设施在架构层面正在经历快速、根本性的变化。构建现代数据栈的选择越来越多,做出正确的选择比以往任何时候都更加重要,因为我们正在从只基于代码的软件向混合了代码和数据的系统转型,并通过这种新型的系统来产生价值。高效的数据能力现在是所有行业公司的赌注,赢在数据上可以带来持久的竞争优势。
希望本文可以帮助数据组织了解当前的最新技术和行业趋势,实现最符合他们业务需求的架构,在数据领域日新月异的变化中规划未来。
原文链接:
https://a16z.com/2020/10/15/the-emerging-architectures-for-modern-data-infrastructure/
注:转载请注明“海豚调度翻译文章”。
社区官网
https://dolphinscheduler.apache.org/
代码仓地址
https://github.com/apache/dolphinscheduler
您的 Star,是 Apache DolphinScheduler 为爱发电的动力❤️ ~
添加社区小助手微信
(Leonard-ds)
☞议题征集令 | Apache DolphinScheduler Meetup 2021 来啦,议题征集正式开启!
☞Apache DolphinScheduler 1.3.9 发布,新增 StandaloneServer
☞美女亲自带你快速上手 DolphinScheduler
☞手把手教你 Apache DolphinScheduler 本地开发环境搭建 | 中英文视频教程
☞Apache DolphinScheduler使用规范与使用技巧分享
点击阅读原文,加入开源!
点个在看你最好看