欢迎访问我的博客:https://kelvin-qzy.top
2022年已经没有人谈大数据这个概念,不是它失败了,恰恰是因为它成功了。成功技术的吊诡之处在于,它最终会被认为是理所当然,消失在背景音中。
从最近的新闻热点里,我们不难看到大数据的身影,例如大数据加持的金税四期,疫情防控下的大数据时空伴随者等等……
随着SaaS的普及和深入,数据驱动成为共识,云计算以及云端数据仓库的发展,逐渐有了现代数据技术栈这个新的数据生态体系。现代数据栈(MDS)主要是在欧美,确切的来讲是美国近几年出现的一个称呼,我们可以把它理解为一套新的数据生态体系。
何为现代数据栈?
现代数据技术栈通常是指构成云原生数据平台的一组技术,对比传统的数据平台,使用它们可以大大的降低复杂度,这个技术栈的构成组件不是固定的:
一个云端的数据仓库,比如Snowflake, Redshift, BigQuery或者Databricks Delta Lake
一个数据集成服务,比如Fivetran, Segment或者Airbtye
一个ELT数据转换工具,几乎确定是dbt
一个BI层,例如Looker或者Mode
一个反向ETL工具,比如Census或者Hightouch
数据栈怎样构成?
说起现代数据栈,那不得不说经典数据栈:一个基础平台之上的存储、计算、分析、可视化、管理和安全等的组件分层图,这种架构应该是各大数据厂商都有自家的一版。相对于RDBMS的成熟老练来讲,这套系统从诞生到现在不过二十载的时间里还是如日中天,然鹅现代社会,尤其是技术生命的新陈代谢已经到了一个非常高的水平,一代人的时间足以产生翻天覆地的变化。
看到这张架构图里是否有你熟悉的面孔?
不错,还有几个老朋友,NiFi、Spark、Flink都还有一席之地,每一层多了很多新朋友。
- 提取和加载:
从所有事件源(如 Web、应用程序、后端服务)收集数据,并将它们发送到数据仓库。- 付费 SaaS 工具:Stitch、Fivetran
- 免费和开源替代品:Singer、Meltano、Airbyte
- 数据仓库
组织所有数据的结构化、非易失性、单一事实来源,我们可以在其中存储和查询所有数据。- 付费:AWS Redshift、Google BigQuery、Snowflake
- 免费和开源替代品:Apache Druid
- 转换和建模
使用文档从原始数据创建模型以更好地使用。- 付费:Dataform、DBT
- 免费和开源替代品:Talend Open Studio、Apache NiFi
- 编排
用于执行和编排处理数据流的作业的软件。- 付费:Prefect.io
- 免费和开源替代品:Apache Airflow、Dagster
- 可视化和分析
为了更好地了解和解释来自不同数据源的数据。- 付费:Tableau、Microsoft PowerBI、Grafana
- 免费和开源替代品:Metabase、D3js、DyGraphs
但是我们继续看下面这张图:
Google 图片中输入“现代数据栈”即可注意到数据市场中的所有公司都在提出他们自己的技术列表来组成这个栈,虽然王婆卖瓜,但几乎所有关于现代数据栈的博客文章都没有 Spark,却无一例外地包含了dbt。
过去、现在与未来
dbt的创始人Tristan Handy表示,他从2015年开始整理"现代技术栈",整整五年的时间里,构成最佳技术栈的这个集合一直维持不变。
Tristan Handy归纳的现代数据技术栈的三个不同时间段:
寒武纪大爆发第一阶段,2012-2016
现代数据技术栈是围绕着亚马逊2012年10月份发布的Amazon Redshift而产生的。
数据技术栈中其他层的核心产品的创建日期:
Chartio: 2010
Looker: 2011
Mode: 2012
Periscope: 2012
Fivetran: 2012
Metabase: 2014
Stitch: 2015
Redash: 2015
dbt: 2016
你可以看到2012年的确是时代开始了。这种天地之别是由于像Redshift这种MPP(大规模并行计算)/OLAP系统的内部架构和类似于Postgres这种OLTP系统的显著的区别带来的。
简而言之,Redshift能够在巨大的数据集上响应分析查询,处理很多个数据表关联,比OLTP数据库要快10-1000倍。10-1000倍的性能提高往往会改变你对产品构建的看法。
BigQuery直到2016年才发布标准SQL的支持,因此在这之前并没有被广泛采用。Snowflake的产品直到2017-2018年才真正的成熟。
部署期,2016-2020
事实证明,这是行业要经历的一个正常的周期。一个主要的可用技术一旦发布,激发了该领域的一系列创新,然后这些产品会经历一个部署阶段使得公司去采用它们。
这是向上S曲线的一个过程,早期采用者是宽容的,但是技术需要改进才能被越来越多的受众所采纳。
这一阶段在国内基本属于经典大数据的扩张期,以及上云的兴起阶段。
寒武纪大爆发第二阶段,2020-2025
快速的做个总结,在2012年Redshift发布之后,我们立刻看到了大量的创新,释放了全新水平的性能、效率以及新的用户习惯。然后到了一个成熟期,这些新生的产品被部署到市场,精进技术,并完善功能。到现在为止,这些新产品已经准备好可以充当建立新的后续创新的基石。
我们准备迎接新的一波创新,一个新的寒武纪大爆炸。这将带来哪些类型的创新?
-
数据治理
数据治理是一个时机成熟的产品领域。这个产品领域包括非常广泛的用户用例,包括数据集的发现,查看数据的血缘关系和谱系,以及为数据优先的公司内地广泛的数据使用者提供数据导航和数据痕迹。
没有很好的治理,更多的数据=更多的混乱=更少的信任。有商用的,但缺乏广大的用户量。
- Linkedin有DataHub
- Lyft有Amundsen
- Wework有Marquez
- Airbnb有Dataportal
- Spotify有Lexikon
- Netflix有Metacat
- Uber有Databook
-
实时
对于今天的现代数据技术栈的主要用例来讲,实时数据当然不是必须的,但是将整个数据处理流的延迟降低到15-60秒可以为这个技术解锁全新的用例。
并且我们已经有信号能够感受到这个领域的技术已经触手可及:每个主要的数据仓库开始实现支持构造更多的实时数据流。- Snowflake非常强大依赖它的流式功能,而Bigquery和Redshift都强调他们的物化视图。这两种方法都在朝着正确的方向前进,但是以我来看,这两种方法都无法让我们走到终点。
- 另外有趣的话题是KSQL, 一个在Kafka之上构建的流式SQL。它的确非常对有趣并且有前景,但是围绕着SQL还是存在一些限制(尤其是在表关联上),因此对于我来讲,它还是一个“还欠点火候”的东西。
我们还没真正达到目标,但是我们已经能够看到胜利的曙光。
完成反馈闭环
数据从运营系统流入到现代数据技术栈,并在这里进行分析,支持生产业务系统,Census和Tray可以关注。-
民主化数据探索
- 这是一个可能引起争议的观点。
今天不使用SQL的数据消费者有很多的选择。所有的主流的BI工具都有一些不用SQL就能辅助数据探索的操作界面。但是绝对没有一个(包括LookML)甚至能够远远的接近Excel的广泛采用水平或者纯粹的创作的灵活性。
这个挑战是不平凡的,如果没有一个强大的,灵活的工具能让数据消费者自服务,现代数据技术栈将永远只为少数人服务,这是一个非常糟糕的结果。
- 这是一个可能引起争议的观点。
垂直分析体验
将所有的数据视为行和列的工具和专门用于某种特定数据类型的分析工具哪种更好?答案是:我们两者都需要。但是我们缺少的是在现代数据技术栈上构建的垂直的分析界面。
随着使用现代数据技术栈的公司的增加,构建像这种新的、轻量级的、垂直的应用的机会将会大大的增加。你已经可以在Looker的应用市场中看到这个方向。
关于实时
现代企业的需求和要求正在以戏剧性的方式转变。因此,旧的“批处理”模式正在让位于更细化、更高频率的实时更新,从而带来更新鲜的数据和更快的洞察力。
除了分析性的洞察力,实时数据基础设施正在促成一类新的应用,可以在数据发生变化时做出反应。这涉及到数据堆栈的每一个部分,从数据摄取,到业务分析,到机器学习和人工智能。
在现代数据栈中,实时基础设施和工具可以采取多种形式:
- 以高频率和高容量将小数据包从A处流向B处(例如:Apache Kafka、Redpanda、Apache Pulsar)。
- 通过流处理工具过滤和转换对流数据(例如:Apache Flink、Apache Samza、Decodable)。
- 实时分析,让分析师在低延迟的情况下获得对业务查询的最新反馈(例如:Materialize、ClickHouse、Tinybird)。
- 实时或在线机器学习模型,不断适应和学习数据,并实时生成预测(例如:Tecton)。
今天,将这些不同的系统组合起来仍然是是一件棘手的事情,但是,进行这些投资的组织将获得丰厚的回报。
关于数据栈民主化
数据管理简化浪潮是一个非常重要的趋势。
对于数据民主化的一个定义。总结起来就是:数据民主化是让一个组织中所有人都可以无阻碍的去访问需要的数据,从而让这个组织中的每个人都可以随时随地的基于数据去做决策而不会受到限制。
数据民主化是目前海外数据领域一个比较热门的词汇,作者认为这跟海外的社会环境以及企业发展的现状密不可分。对于国内来讲,由于我们国情的不同,数据民主化应该还有相当长的一段路要走。
现代数据栈的未来
现在采用现代数据技术栈路线的公司一般会根据需要来采用其中合适的技术-也就是你并不需要里边所有的组件,有些公司也可能会采用其他的技术,比如Airflow, Dagster或者Prefect用作编排层。一个简单的架构示例如下图:
仅仅在云上拥有一个数据平台并不能称之为一个"现代数据技术栈"。如果我们纵观整个生态系统中的技术,我们会发现他们有一些共同的属性,这些属性正是现代数据技术栈的核心,是作为现代数据技术栈的关键能力:
提供一个托管式的服务:不需要或者让客户尽量少的配置就能使用,并且绝对不需要工程师的介入。用户可以立即可以开始使用,这绝对不是一个乏味的营销承诺。
以云数据仓库为中心:如果公司正在使用一个流行的云端数据仓库,所有的一切前提条件就已经具备。因为已经知道数据在哪里,你就彻底消除了杂乱无序的集成,并且所有工具都可以很好的一起工作。
- 通过以SQL为中心的生态系统来使得数据民主化:工具是为了数据/分析工程师和业务人员所构建的。这些用户通常最了解公司的数据,因此通过为他们提供会说他们语言的工具来提高他们的技能是非常有意义的。
- 弹性工作负载:按照使用量付费。对于大的处理负载,可以随时进行扩容。对于现代的云来讲,金钱是限制规模的唯一因素。
- 专注于可以运行的工作流:点击式工具对于低技术用户来说是很好的,但是如果没有可行的路径让相关工作转移到生产,它就是毫无价值。现代数据堆栈工具通常以自动化为核心能力构建。
ps:这就像智能机时代的到来摧枯拉朽地席卷了功能机的时代,处于变革前夕的路口仍然能看到过去Nokia的辉煌,但落幕就在一夕之间,错愕、无情、又理所当然。
云数据仓库本身很有用,但不是变革性的。围绕这些平台涌现的生态系统真正使现代数据技术栈成为现实。创新者在开始将精力和资源投入到新的创新中之前,还需要看到来自用户的积极信号;否则,他们就有可能在一个死的平台上进行创新的风险。
Handy 得出的结论是,未来五年现代数据技术栈应该会出现另一轮创新,他强调了他认为已经成熟的五个关键领域值得探索:数据治理、实时、完成和反馈循环、数据访问民主化以及垂直分析体验。
在现代数据技术栈成长到今天这个时候,我相信如下的几个关键领域的创新正在成熟:
人工智能
数据分享
数据治理
流式计算
应用服务
人工智能
任何在过去十年从事数据科学相关的工作的人都可能熟悉"Data Science Hierarchy of Needs", 它如下图所示:
每个步骤都是环环相扣的,该图说明了达到甚至可以开始解决 AI 问题的所需要的依赖。具象化的需求图已经呼之欲出,只缺AI层:
对于许多业务来讲,AI代表了巨大的增长机会。我们相信到 2030 年,几乎每个行业的领先公司都将把在整个企业中启用人工智能作为优先考量的事情。然而,不乏文章哀叹普通公司未能将他们的数据科学工作投入到有意义的生产环境中。现代数据技术栈是一个新型AI平台的一个重要的着陆点,这个AI平台是一个声明式的数据优先的AI平台,能够大幅度的简化操作AI的复杂度。
数据分享
数据即服务
数据只有被分享和能流动才能产生更大的价值。(Census和Hightough 反向ELT)
数据治理
回到让现代数据技术栈能够服务大型企业这个话题:数据治理的重要性再怎么强调都不为过。一些公司有如此多的数据集,如果没有数据治理工具,几乎不可能跟踪和理解他们的数据。这是一个单个的个体会经常忽略的问题-与公司总体的数据视图相比,一个人的视野通常会比较有限。但是优秀的数据领导者会始终如一的强调好的数据治理工具的重要性,这些工具通常涵盖数据发现、数据可观测性、数据目录、数据血缘以及审计等等。
在现在数据技术栈为背景的基础上,有不少公司在尝试解决这个问题。尽管这场竞赛还远未结束,但是有一些供应商表现出了巨大他的前景:Monte Carlo Data, Stemma以及Metaplance。
流式处理
今天,相关流式处理功能已经在不同的供应商的平台中提供:Snowflake有Snowpipe并且暗示了一些新的能力,BigQuery, Redshift以及Snowflake有物化视图(尽管有一些严重的限制); Databricks支持Structured Streaming。除了这些标准的CDW提供商外,Confluent提供ksqlDB, Decodable正在重新设计流式数据工程,Meterialize是一个新定位自己的现代数据技术栈原生的流式计算的公司(通过使用dbt插件)。
如果有人能够提供一种解决方案,我不需要考虑基础设施,将我的数据移动到一个新平台,并且可以通过标准 SQL 查询简单可靠地获取实时数据,这将是非常值得大书特书的。
应用服务
云端数据仓库完全属于OLAP类型,然后实际的应用经常需要高并发和低延迟,这通常是OLTP类型的特性。
拭目以待
考虑现代数据栈?
数据湖扮演什么角色?
数据湖仍然有一席之地,但不是今天这个样子。随着时间的推移,关系SQL数据仓库将替换数据湖。
Snowflake与MDS
「现代数据栈」是否成立并不取决于技术本身,而是背后更大的前置条件——市场是否接受公有云。
Snowflake让很多人知道了云数仓,云数仓也是MDS的核心一环,没有云数仓的MDS犹如海市蜃楼。CDW 改变了企业收集与统一数据的方式,创业公司只需要接入几家主流 CDW,以 SaaS 的形式提供服务,专注在自己核心的价值主张上,然后迅速成长并吸引到资金。
Fivetran与MDS
Fivetran的使命是让用户使用数据就像用电一样简单,无论数据的来源如何。它在传统的ETL赛道上创新,独创了适合云计算时代的ELT+E模式。目前,Fivetran估值56亿美元,是数据整合赛道的领导者,与Snowflake、IBM、SAP、Oracle等数据库或数据仓库连接,与ASICS、Autodesk、DocuSign、Forever 21、WeWork等知名公司是合作伙伴。
Fivetran支持数百个数据库的连接。
如果数据是新石油, Fivetran就是从源头到炼油厂的管道。
每多一种连通,就意味着要增加一种连接器。Fivetran目前支持超过150种数据源,这是Fivetran的护城河,也是在数据整合赛道中无与伦比的竞争优势。
Airbyte的产品主要的使用场景跟Fivetran非常类似,是ELT + E的场景,关注数据的互联互通,和最终的数据交付。
回头来讲,Airbyte和Fivetran唯一的区别是:产品是否开源。
附录
参考链接
关于现代数据技术栈的浅见 https://www.modb.pro/db/377596
面向初创公司的现代数据堆栈 https://jiagoushi.pro/modern-data-stack-startups
现代数据栈谁可以替换Spark https://mp.weixin.qq.com/s/YPDyKohKdw0-wqzoaCSD1g
Tristan Handy,2020年12月,The Modern Data Stack:Past Present, and Future
2025年的现代数据栈 https://m.meremoggies.com/blog/modern-data-stack-2025
2021 年要寻找的 6 种现代数据堆栈趋势 https://segmentfault.com/a/1190000038585639
聊一下数据民主化 https://www.modb.pro/db/377592
Jordan Volz,现代数据栈的未来 https://continual.ai/post/the-future-of-the-modern-data-stack
Fivetran:云计算时代的数据管道 https://view.inews.qq.com/a/20220119A08J9Z00