Page cover
图片 1
图片 2
图片 3
+2

Databricks:从$620亿估值看其如何驱动数据智能未来

Loading component...

揭秘Databricks:从$620亿估值看其如何驱动数据智能未来

在当今科技界,提到Databricks,人们首先想到的往往是其惊人的估值、IPO前景和大量的就业机会。这充分体现了市场对这家大数据独角兽的浓厚兴趣,一如当年对共享经济巨头Uber和Airbnb,以及金融科技公司Robinhood的广泛关注。

Content image

然而,与这些大众熟知的消费级应用不同,Databricks的产品和核心业务对于非业内人士来说,仍显得有些神秘。本文旨在帮助更多人——无论您是否身处科技行业——深入理解Databricks这家低调却极具影响力的公司。我们将首先快速概览大数据领域,随后解释Databricks如何融入其中,并展望其广阔前景。

大数据:30秒速览

尽管大数据市场规模庞大,已是一个千亿美元级别且年同比增长达到两位数的“吸金兽”,但其本质可归结为三个关键问题、两个基础和一个终极目标

三个关键问题

要有效处理和利用数据,我们必须回答以下问题:

处理什么数据? 这可能包括系统生成的日志、商业数据集,或是用户行为数据等。
如何使用数据? 数据的用途多样,例如商业智能(Business Intelligence, BI)、商业分析、机器学习(Machine Learning)、图表可视化等。
如何将数据从源头向下游汇集和转化? 这通常涉及数据抽取、转换、加载(Extract, Transform, Load, ETL)数据管道及其各种变体。

对于每个问题,市场都提供了数十种不同的解决方案,每种方案都有足够的市场需求来支撑多家优秀的上市公司。

两个基础

大数据处理离不开以下两个核心基础:

存储(Storage): 数据需要物理地存储在磁盘上,无论是在本地数据中心还是云端。
计算(Compute): 通过租用服务器对数据进行计算处理。计算是主要的成本支出,因为服务器的运行费用(按时间计算)远高于磁盘的存储空间费用。当然,网络也是基础之一,但与本文讨论Databricks的相关性较小。

终极目标

每家拥有数据的公司都渴望实现一个终极目标:构建一个自动化系统,将原始数据集源源不断地转化为业务价值。换句话说,一个能够自动将“数据变现”的系统

在互联网普及之前,大部分数据存储在Excel电子表格中,实现数据价值相对简单,几行VBScript代码便可解决。而如今,我们每一次在YouTube上观看视频的行为——开始、暂停、跳过广告等,都被收集、解析、聚合,最终可能实时呈现在某位高管的屏幕上,以柱状图的形式展现业务洞察。

殊途同归

尽管最终目标相似,但实现路径却千差万别。大数据领域的每一个软件即服务(SaaS)或开源公司,都专注于这条“数据流水线”的一个或多个环节。虽然云巨头(如亚马逊网络服务 Amazon Web Services, AWS、微软Azure、谷歌云平台 Google Cloud Platform, GCP)正努力构建一体化服务生态,但创新型的小型供应商仍有充足空间立足并发展壮大,Databricks和Snowflake便是其中的典型代表。

要了解当前大数据领域的庞大规模,Matt Turck每年发布的“机器学习、人工智能与数据(Machine Learning, AI & Data, MAD)”版图极具参考价值。2024年的版本中包含了超过2000个公司标志,不仅每个类别中的公司数量有所增长,新的类别也层出不穷。

Databricks究竟做什么?

如果您对Databricks官方主页上的标语——“一个Lakehouse平台,承载所有数据、分析和人工智能(A Lakehouse Platform, for all your data, analytics and AI)”感到困惑,您绝非个例。但有了上述大数据概览,让我们尝试从这个标语中获得启发,深入了解Databricks。

本质上,Databricks是一家计算公司,它通过解决大数据三个关键问题中的以下两个,提供了一种搭建数据流水线低代码解决方案

如何使用数据?
如何将数据从源头向下游汇集和转化?

为什么解决这两个问题能让Databricks如此有价值?一个有用的类比是更广为人知的Arduino——一个开源的电子原型开发平台。

Content image

想象一下,如果您被要求用一堆电子元件搭建一个调频收音机(FM Radio)——如果您和我一样几乎没有任何硬件经验,这听起来简直无从下手。

这种无从下手的感觉,正是许多工程师在使用低抽象工具构建“数据流水线”时所面临的:从亚马逊网络服务(AWS)租用虚拟机,编写Python脚本,对数据集进行计算。很快,一系列困难便会接踵而至:如何协调多台机器进行并行计算?一个虚拟机在计算大半后突然断线,又该如何处理?

Content image

回到Arduino,它之所以能让原型设计和构建变得如此容易,归根结底是因为它没有从开关、断路器等基础元件出发,而是提供了三个重要组件,吸引了像你我这样的非硬件工程师:

  1. 一种更容易调度Arduino硬件的高抽象语言。 例如,像“从一个数据针读取数据”这样简单的操作,用C或C++编写工作量不小,但在Arduino平台上,只需调用一个函数`digitalRead(pin)`即可。
  2. 一个架构在面包板(Breadboard)上的硬件生态。 每一个模块都可以毫不费力地插入拔出,方便快速迭代。
  3. 一套可行的、从Arduino原型到可售卖版本的转化流程。

假如您认同Arduino为硬件开发带来的革新,那么Databricks的作用就很好理解了——它同样带来了三个核心组件,只不过是针对大数据运算:

1. Apache Spark:分布式计算的强大引擎

Apache Spark是一个开源引擎,它通过高抽象语言,极大地降低了分布式计算的门槛。

设想一下,我们手头有1 PB(Petabyte)的数据,分布在由1000台机器组成的集群上,现在需要将每条数据中的某个值乘以2,并处理过程中任何机器断线造成的结果丢失。用Spark的Python接口来写,只需要一行代码:

Loading component...

这与在单个机器上对一个数组进行操作完全一样——这种便利背后,Spark封装了所有与机器集群打交道的复杂性,让用户可以用他们熟悉的Python、Scala、SQL语言发布命令。

Databricks的创始人们——用首席执行官(CEO)Ali Ghodsi自嘲的话来说,一群“伯克利(Berkeley)嬉皮士”——正是Spark框架的始作俑者。这些大数据领域的“嬉皮士”们在分布式计算世界中举足轻重。

2. 数据笔记本:即时交互的数据沙盒

数据笔记本可以被想象成Arduino的面包板(Breadboard),插入不同的组件,可以快速获得功能上的反馈。在数据笔记本中,用户可以在每一个“单元格”里运行几行代码,实现一个小功能,并实时给出计算结果。

Content image

数据笔记本并非Databricks特有的功能。事实上,这是数据科学家和分析师最常用的工具之一,Jupyter Notebook可以说是最早、最知名的提供商。然而,Spark使得Databricks的数据笔记本获得了超能力:每一个数据笔记本都可以连接上数量巨大的服务器集群,并通过Spark对海量数据进行并行计算。这是单个机器上的数据笔记本远远无法达到的。

从工程角度来看,将数据笔记本与大量计算资源对接并非易事。这也是Databricks的主要用户(数据工程师和分析师)通常厌于完成的繁杂工序。在许多公司中,这些人员肩负着实现“终极目标”的使命,他们如同Arduino的使用者一样,在搭建数据流水线时需要不断地试错、迭代,无论是清洗数据还是训练机器学习模型。Databricks在合适的时机出现,通过这个获得了超能力的笔记本,让搭建过程变得十分便捷、迅速。这完美诠释了低代码产品的核心价值:将工程师们从低价值的重复劳动中解放出来。

3. 任务集:从开发到生产的无缝衔接

现在我们有了一个包含一系列单元格的笔记本,实现了一个初步的数据流水线,接下来呢?我们自然不希望每次有新的数据进来,都需要手动逐个运行单元格。此外,在开发过程中,为了加快运算速度和降低成本,我们通常只会采用数据集的部分(一个样本),而非整个数据集。

Databricks的解决方案——任务集(Job Sets),非常便捷:每一个任务对应着一个笔记本(实现着一个完整功能),用户可以指定运行频率、机器数量上限,每隔一段时间自动运行笔记本中的所有单元格,完成对完整数据集的计算。对于已经有一个基于笔记本的流水线来说,从开发环境到生产环境的切换,几乎只需点击几个按钮。这全都仰仗于Spark带来的便利:无论是几台机器上的1 GB(Gigabyte)数据,还是几千台机器上的数十PB(Petabyte)数据,运行的都是同一套代码,几乎无需变动。

Databricks如何盈利?

归根结底,Databricks是一家提供“计算”服务的公司。与该类别的其他公司一样,它通过租用服务器的计算资源来赚钱。

值得注意的是,Databricks并不真正拥有这些服务器。相反,其整个系统建立在主要的云服务提供商的基础服务上,包括亚马逊网络服务(Amazon Web Services, AWS)、微软Azure和谷歌云平台(Google Cloud Platform, GCP)。对于Databricks用户来说,他们的账单主要分为两部分:

常规的服务器租用成本(由底层云提供商收取)。
Databricks在这些服务器上“附加”的功能费用,如数据笔记本和任务集。

这两部分成本都是按小时收费的——这是一种常见的按用量收费模式。

Databricks并非唯一一家站在“云巨头”肩膀上的公司。其另一位知名竞争对手Snowflake也采用了类似的架构。Snowflake易用的云数据仓库(Cloud Data Warehouse)底层所依赖的基础服务,与Databricks非常相似。

那么,工程师们是否可以使用相同的构建模块(例如亚马逊网络服务弹性计算云 Amazon Web Services Elastic Compute Cloud, AWS EC2 和亚马逊简易存储服务 Amazon Simple Storage Service, S3),来自己搭建一个“内部版本的Databricks”,以避免向Databricks付费,从而降低成本?当然可能——但很可能不值得。至少,在公司达到一定规模之前都不值得。回到我们关于全代码(Full Code)、低代码(Low Code)的讨论,“可以做”不代表“应该做”。Databricks提供的集群自动休眠、共享和权限管理等功能,都需要大量的工程资源来搭建,而这些工程资源,可以用到对一个公司更有价值、更核心的地方。

“一个Lakehouse平台,承载所有数据、分析和人工智能”

读到这里,希望Databricks的这句标语开始变得更有意义一些(除了Lakehouse部分)。Databricks试图提供完整的“数据流水线”解决方案——这意味着更多需要处理的数据、更多运行数据的机器、更多的收入。当然,Databricks的用户也愿意为其平台所带来的生产力提升付费。

Databricks的产品规划清晰地表明,它不想局限于一家提供“数据笔记本”的公司(这是许多人目前的认知)。这是因为,尽管数据科学家和分析师们喜欢这些强大的数据笔记本,并且不介意为此付出“低代码溢价”,但数据工程师们却并非总是这样想。他们的工作更底层,负责数据接入、基础架构、效率提升。这些工程师们对灵活度的要求很高,并且完全不介意多写一些代码,或是自己搭建解决方案。

Content image

在“数据流水线”上,数据工程师们往往占据上游,也是运算量、成本极大的一个环节(换句话说,重要的收入来源)。为了赢得他们的青睐,Databricks采用的策略是拥抱开源(Open Source),尤其是在Spark之后,推出了Delta Lake——一个开源的数据存储方案(这也是Lakehouse名字的来源)。开源方案赋予了这些工程师所需的自由度,使他们能够更可预期地掌握和挪动数据。Delta Lake的开源意味着任何人都可以在其方案中使用优秀的“.delta”存储格式,但Databricks的数据笔记本对其有着最为方便的原生支持。结合“Live Table”等新功能,Databricks平台已开始赢得一些核心数据工程师的青睐。

从长远来看,让所有与数据打交道的人们(数据工程师、数据科学家、分析师)在同一个平台上协作,具有巨大的价值。每一方都可以拥有完整的视图和上下游语境,从而大大加快“数据流水线”的开发过程。

Databricks希望让所有这些数据专业人士都“居住”在同一幢“Lakehouse”里。这任重而道远,工程仍在进行时。但对于这家成立于2013年的公司(截至2025年7月已成立12年)来说,其进展迅速,未来可期。

Loading component...
Loading component...