超越计算与存储边界,迈向第六数据平台

我们坚信,在新兴应用场景和融合AI应用的挑战面前,当前所谓的现代数据堆栈将面临考验。这些应用已经开始以实时、大规模的数据尺度来模拟真实世界。为了支持这些新型应用,我们必须对基础数据和数据中心架构进行改变,特别是对于EB级别的工作负载。在我们看来,当前广泛接受的计算与存储分离的最先进技术水平必须进一步发展,将计算与数据分离,使计算能够在一致而可组合的数据元素的统一视图上运行。此外,我们认为AI将被用于丰富元数据,将ASCII代码、文件、对象等字符串转化为代表业务真实能力的事物。

在这次访谈中,我们深入了解第六数据平台的崛起,以支持实时智能应用。为此,我们很高兴邀请到VAST Data的两位创始人,即首席执行官Renen Hallak和Jeff Denworth。VAST刚刚完成了一轮规模适中的融资,总额为1.18亿美元,投资方包括富达投资(Fidelity),公司估值约为90亿美元。这意味着对股本表的变化相当有限。

现代数据堆栈的定义

上图展示了ETR数据,纵轴表示净得分或支出趋势,横轴表示数据集中的频次,即在1700名IT决策者调查中被提及的次数。可以将横轴视为市场渗透的一种间接指标。

我们正在勾画出五个我们认为领先的的现代数据平台,包括Snowflake、Databricks、Google BigQuery、AWS和Microsoft。我们还以数据库巨头Oracle作为参考点进行描绘。红线在40%处表示净得分大幅上升。

值得注意的是,这是ETR分类法中的数据库/数据仓库领域,因此有一些产品我们认为不属于现代数据平台讨论范围,比如Microsoft SQL Server。这是应该注意的分类法的限制。尽管如此,在本文中,我们未关注操作平台,如MongoDB。

基于Shared-Nothing架构

我们想要分享的更重要的观点显示在图表的右下角。它展示了一个Shared-Nothing架构的图表。在Shared-Nothing系统中,每个节点都独立运行,不与其他节点共享内存或存储。规模和灵活性是主要的优势,但确保在这些节点之间保持一致性和稳定性能是具有挑战性的。现代数据堆栈是基于Shared-Nothing架构构建的。而Oracle和SQL Server最初则不是。以下是总结当前的现代数据平台属性的附加特征:

  • Scale-out、Shared-Nothing架构基础设施:现代数据平台基于这种方法。
  • 基于云的SaaS交付:一种托管的软件即服务交付模式。例如,这种方法与本地化Hadoop解决方案不同。
  • 计算与存储分离:领先供应商如Snowflake和Google BigQuery已经将计算和存储分离,以利用云计算的几乎无限容量和弹性。
  • 同一供应商控制:通常,计算和存储都由同一供应商控制。

客户越来越希望以统一的方式访问数据,而不考虑数据的位置。因此,我们观察到了一种趋势,即将数据与计算分离。这意味着数据既是位置无关的,又可以由不同的计算平台访问。此外,这一系统能够统一不同类型的数据,并在网络中使它们保持一致。

在本文中,我们讨论的挑战是,在广泛的元数据可用并通过机器智能进行丰富之前,这种数据与计算的分离和统一是不可行的。元数据的重要性不可低估,对于使关于数据的智能与操作或分析数据关联起来是必要的。

今日聚焦:探讨这一不断演进的数据平台架构对业务的影响和相关细节。

有关Scale-out、Shared-Nothing架构的权衡

架构选择备受关注,因为它们旨在解决特定的问题并具有可持续增长的潜力。Shared-Nothing架构通过轻松添加更多节点来有效解决规模挑战,特别是在云计算环境中,资源启动过程异常简便。

然而,这种选择并非没有权衡。在Scale-out、Shared-Nothing架构中,资源分布式部署,系统规模增长带来的是复杂性的提升,需要有效管理更多运行组件。

:请详细说明您对Scale-out、Shared-Nothing架构的限制的看法。

Jeff Denworth

在市场上,这一架构通常被称为“Shared-Nothing架构”,起源可以追溯到2003年Google首次推出的这种系统设计。因此,这个概念已经存在了大约20年。正如刚才你和George所提到的,这种体系结构面临一些挑战。具体而言,在分布式系统中,所有节点必须保持通信。在事务I/O中,事务必须具有严格的顺序。当系统规模扩大时,这变得非常具有挑战性。因此,在当今的语境中,很少有系统能够同时达到EB的能力水平,并在系统规模扩大时提供一致的性能。这主要是因为在这些架构内部存在大量的东西向流量,而这正是我们一直在努力解决的主要问题之一。

当前现代数据堆栈的局限性

客户所面临的一项挑战是,他们的数据分散在各处(如边缘、数据中心、云端),并且包括了多种不同格式和元数据的不同类型,例如对象、表格、文件等。现代数据堆栈从基础架构的角度出发,解决这个问题,因为云资源更易于部署和管理。此外,大多数数据平台公司正在增加管理不同数据类型(例如事务与分析、结构化和非结构化等)的功能。然而,我们认为,必须进一步统一数据类型和元数据,才能提供对协同驱动未来大规模AI应用程序的访问权限,这些应用程序可以可靠地代表人类采取行动。

上图展示了一个巨大的全局命名空间,也就是VAST所称的DataSpace。这个图示表现了从边缘到本地数据中心,再到云端的数据流动,形成了一个无限循环。VAST声称其数据平台能够整合非结构化数据管理服务和结构化数据环境,将非结构化数据转化为可以查询、可以操作的信息。这一点的重大意义在于,它让图表中展示的不同元素(对象、表、文件等)能够成为我们之前所提及的那些“事物”。

:在当前现代数据平台的架构中,为何存在适应这一需求的不足之处?另外,对于未来所需的架构,您有何看法?

Renen Hallak

我认为现代数据平台最初并不是为了这个目的而设计的。在构建这些平台时,处理字符串、数字、数据库的行和列是最大的应用场景。然而,如今我们希望这些平台不仅能够用于分析数值信息,还能处理模拟信息,如图片、视频、声音、基因组和自然语言。这些信息本质上是更大的数据集,我们需要更快地访问这些数据集。现在,我们已经不再仅仅依赖CPU进行分析,GPU和TPU的应用让一切都发生了变化。这迫使我们以一种以前无法实现且不需要的方式重新思考价格、性能、规模和韧性之间的基本权衡。

Jeff Denworth

考虑到当前生成式AI技术(如深度学习)的发展,这是IT历史上的一次突破。我们现在拥有工具来真正理解非结构化数据。因此,这推动了VAST数据平台同时存储结构化和非结构化数据的发展,因为一旦有了GPU和神经网络等工具,实际上理解这些数据,就必须在一个地方对这些数据进行目录化,以便随后进行查询和审查。正如David所说,将这些数据转化为对业务有意义的内容。因此,非结构化数据市场的规模是传统BI工具过去20、30年建立在其上的结构化数据市场规模的20倍大。我们基本上将人工智能视为技术领域的全球机遇,看到现在有了一种新的可处理数据类型,大数据机会的规模将大约增加20倍。

:对于训练大型语言模型,与现在的现代数据堆栈训练深度学习模型有何区别?每个任务都需要训练一个模型,那么在数据集规模上有何不同?应该如何规划并随时间推移进行维护?或者换句话说,你提到的其中一点是规模的不同,另一点似乎是这些数据及其不断丰富的元数据的整合。能否详细说明现代数据堆栈在这方面存在哪些问题?

Jeff Denworth

考虑到规模,以Snowflake为例,我们对全球管理的数据容量进行了一些分析。将总容量除以客户数量,你会发现每个客户平均管理超过10PB的数据。因此,当数据负载从结构化数据转向非结构化数据时,负载大小至少增加了50倍。在高端,我们正在与一些全球最大的超大规模互联网公司和软件厂商合作,这些公司正在讨论和思考EB级数据。这不仅仅是将数据库ETL到数据湖中,而是涉及非常丰富的数据类型,它们并不自然地适应数据仓库或某种BI工具。因此,深度学习正在改变所有这些,并且每个人对于规模和实时性的概念都需要发生变化。

回到我们之前讨论的Shared-Nothing架构系统的问题,不能扩展和构建事务架构一直导致了我们目前的状态,即存在为事务设计的数据库、为分析设计的数据仓库,以及基本上是为了成本节约而设计的数据湖。在现代化时代,这种情况行不通,因为人们希望能够实时地推理和理解数据。如果数据集更大,那么你就需要可扩展的事务基础设施,这正是我们设计这个架构的原因。

Scale-up回到未来的趋势

我们今天要讨论的一个问题是,我们是否会回到Shared-Everything Scale-up架构?

这张来自VAST演示的图表描绘了许多拥有共享内存的节点,即大方框内的小方块,它们可以通过高速网络中的所有连接进行访问。这些方块代表计算单元,能够访问内存/存储层中的全部数据。这些数据正在通过AI和一些我们稍后将讨论的元数据IP不断丰富。

:Renen和Jeff,请解释一下你们为什么认为我们需要Scale-up Shared-Everything来适应未来的EB数据应用的观点。为什么现在突然变得可能?

Renen Hallak

这是由于快速网络的普及以及新型介质的出现,这些介质既耐用又能够快速访问。在此之前,这一切都是不可能实现的,也正是这个原因导致我们未曾见过此类技术。为什么我们需要它们?这是因为我们正面临着规模的限制。在Shared-Nothing架构领域,扩大规模就像是用一条小毯子裹住自己。你可以选择使用更大的节点,但当一个节点出现故障时,恢复时间会非常长,甚至可能需要数月。如果此时另一个节点也出现故障,就无法访问信息。或者你可以选择使用更小的节点,但这样一来,故障发生的频率就会更高。

当你拥有更多的节点时,从统计角度来看,它们会更容易出现故障。从性能角度来看,当你在Shared-Nothing架构的集群中增加更多节点时,通信量会呈二次方增长,导致性能开始递减。所有这些都限制了Shared-Nothing架构的规模、韧性和性能。然而,当我们进行解耦时,打破了原有的权衡。我们找到了一种方式,使得你可以独立地提升容量和性能,同时也可以独立地提高韧性和性能,只要底层网络支持,就可以无限扩展。

Jeff Denworth

网络是实现解耦的关键,将持久性内存与CPU解耦,但要做到这一点,还需要有新的发明和构建一种存在于持久性内存中的数据结构。这种数据结构能让所有CPU在任何时候访问命名空间的共同部分,而无需相互通信。它基本上是一种非常富有元数据的事务性对象,存在于存储层,所有CPU都可以实时看到并与之交互,同时保持原子一致性。一旦实现了这一点,你可以将这种架构视为不是Shared-Nothing架构市场大多数使用的经典(Massively Parallel Processing,大规模并行处理)系统,而是更像是一个数据中心规模的(Symmetric Multiprocessing,对称多处理)系统。在这个系统中,你只需要一个核心,而所有核心都可以以一致的方式与之交互的全局卷。因此,基本上就像是我们建造的一个数据中心规模的计算机。

:VAST网络可以选用Infiniband或以太网。据VAST透露,大部分客户选择使用以太网。

:我们已经在Scale-out的数据中心架构上投资了数百亿,甚至可能高达数千亿美元。难道你建议我们用这种新型超快速网络来替换大部分现有的数据中心基础设施,以进行LLM构建吗?

Renen Hallak

LLM确实是这股新浪潮的第一部分,而且它的发展将远超过语言模型和文本。确实,现在正在建立新的数据中心,这些新数据中心以前所未有的方式出现在新的云和企业中,并且它们的架构与我们的软件架构完全匹配。这些数据中心的一侧是GPU服务器,其中包含DPU,让基础设施层能够以安全的方式非常接近应用程序。另一侧则是一个快速网络和SSD存储在机箱中。这就是整个数据中心的构造。在这些现代化的场所,你不需要其他任何东西,而我们则提供这个软件基础设施堆栈,充分利用这种新架构。

将字符串转化为实体

让我们重新审视我们使用的这个引人注目的表达——将字符串转化为实体。

在先前的讨论中,我们深入研究了“Uber for all”(面向所有人的Uber)的理念。我们邀请了Uber参与讨论,详细说明了在2015年,他们进行了一项重大的软件倡议,其中包括创建一个基本上是语义层,将事务和分析数据集成在一起,并将数据库所理解的内容(如ASCII码、对象、文件等)转化为数字化表示的现实世界中的事物(乘客、司机、位置、预计到达时间、目的地、价格等)。

在上述案例中,我们将数据存储于NFS或S3中,或者以文件、对象和表的形式进行结构化SQL,我们可以稍后讨论。但我们的推断是,通过时间推移,底层的元数据通过应用AI和其他逻辑的触发器和函数得到丰富,这便是如何将字符串转化为实体的过程。

:我们的理解正确吗?你能详细说明一下你是如何做到这一点的吗?

Renen Hallak

我认为你说得对。我们的系统是完全基于数据构建的。具体来说,数据流入系统后,我们就在这些数据上运行函数。这些函数与过去在字符串上运行的函数截然不同,它们是在GPU上执行的推理函数和训练函数。这使我们能深入了解这些事物的内部,并提出智能问题。这不仅仅是元数据在原始信息旁边累积的情况,而且这些信息是可查询的。所有这些都是全新的,它再次将计算机与自然世界更加接近,摆脱了过去二十年需要我们适应字符串的情况。现在计算机开始以一种以前无法做到的方式理解我们的宇宙,正如你所说,而这将成为可执行的。

Jeff Denworth

行动是能够做出智能决策的副产品。嗯,我应该说,这应该是这个的副产品。这就是为什么我们构建的这种架构非常重要的原因,因为它允许实时摄取这些字符串。正如我之前提到的,我们构建了一个分布式事务架构,这是通常你以前从未见过的,因为Shared-Nothing架构系统会出现交叉对话的问题。但是,同时,如果我能够获取这些数据,然后对其进行查询并与我系统中已有的所有其他数据进行关联,那么发生的情况就是我对通过系统流动的数据进行实时观察和实时洞察,这是以前从未有过的。通常情况下,你会有一个捕获事件的事件总线,还会有一些用于分析的其他系统,而我们正在将所有这些结合在一起,这样,无论数据类型如何,我们基本上可以开始实时处理和关联数据。

:似乎有必要统一所有的元数据或关于数据的智能,你能详细说明一下你建立数据库功能的路线图吗?这项功能是随时间推移执行Jeff所说的任务,观察变化的流入,同时查询历史上下文,然后采取行动。那会是什么样子?正如你所说,你随时间推移建立了存储能力,现在正在建立系统和应用程序级功能。告诉我们你对此的愿景是什么。

Renen Hallak

在这个新时代,数据库是从元数据开始的。实际上,旧的数据平台只有元数据,因为它们没有非结构化的部分。第一阶段是能够使用标准查询语言查询这些元数据,我们今年早些时候已经发布了这一功能。当然,这种新架构之上的新数据库的最大优势在于,你不再需要在性能、规模和韧性之间做出权衡。你可以拥有一个全局性的数据库,而且它也具有一致性。你可以使其变得非常快,无需繁琐的管理和DBA设置视图和索引,这都是架构所带来的优势。

随着我们持续增加更多功能,我们将能够替代的不只是数据仓库,还包括事务性数据库。我们发现在传统数据库中,行和列之间存在一种权衡关系。但是,当底层存储介质能够实现100%的随机访问时,你就不再需要这种权衡了。你无需再进行ETL操作来维护相同信息的多个副本,因为你可能想使用不同的模式来访问数据。你可以再次为相同的底层数据提供不同的视点或挂载点,并在一个比以往更加简单的环境中实现这些功能。

解决历史性的延迟与吞吐量之间的权衡问题

让我们深入探讨一下数据管理与新数据中心架构之间的关系。上述图表暗示了共享持久性内存消除了过去的权衡。虽然我们之前已经略有提及,但让我们更深入地了解一下。

通过使用共享持久性内存而不是较慢的存储进行写入,再结合全闪存储,我们为事务写入提供了超低延迟和分析读取的极高吞吐量。因此,从表面上看,这似乎消除了持续数十年的延迟与吞吐量之间的权衡。

:请就你如何应对这种权衡的问题进行评论,并加入一些说明。比如,我们看到像Snowflake这样的公司,他们声称要添加非结构化数据,就像Oracle多年前所做的那样。但这里存在成本挑战。因此,当谈到规模问题时,你能否在你提到的20倍规模时进行一些成本比较呢?

Jeff Denworth

首先,关于数据流,当数据流入系统时,它会首先命中一个具有很低延迟的持久性内存层。接着,当写缓冲区满时,这些数据会被迁移到一个非常小的列对象中。在2023年构建系统时,如果使用全闪存储,那么就没有必要考虑为机械硬盘提供空间。与传统数据湖和数据仓库不同,全闪存储允许你在随机访问中获得高吞吐量。因此,我们构建了一个非常小的列对象,其大小约为Iceberg行组的4000倍。这个对象被写入SSD中,以便用于极为细粒度的选择性查询加速。系统中大约2%的部分是写缓冲区。

除了写缓冲区,系统的其余98%是由列优化的随机访问介质构成。当这两者结合在一起时,你可以运行查询而无需过多地关注它们。因此,如果你正在查询的数据仍然在缓冲区中,虽然你是按行读取的,但你从中读取的是速度最快的持久性内存。所以,尽管这不是一种针对查询自然发生的方式进行优化的数据布局,但由于持久性内存的原因,我们仍然可以非常快速地响应这些数据请求。

现在我想说的是,你所提到的问题涉及成本。我们从这样的一个想法开始,即我们基本上可以结束硬盘时代。从架构的角度来看,我们做出的每个决策都假定我们以随机访问介质作为构建基础设施的基础。但是成本是一个大问题,而且相较于基于硬盘的系统,闪存仍然带有溢价,这就是为什么今天大多数数据湖仍然使用硬盘的原因。然而人们并没有真正考虑从效率的角度来看,实际上可以调和闪存成本的所有可能性,以便现在可以将其用于所有数据。因此我们有各种不同的方法,可以将超自然级别的效率带到闪存基础设施中。

其中,有一种全新的压缩方法,它让我们能够在整个系统中查看所有数据块,却仅仅以两个字节为单位进行压缩。这就为我们在全局范围内寻找数据模式提供了最佳方式。此外,这种方法对数据中的噪声具有很好的抗性,确保我们总能找到最佳的压缩效果。通常,我们的客户能看到大约4:1的数据压缩比,这实际上超过了当前市场上闪存和硬盘之间的价格差异。所以,尽管这看起来有些不可思议,但目前要构建一个比基于硬盘的数据存储更经济的存储系统,使用闪存是唯一的途径。因为闪存的数据处理方式能让你发现更多的模式,并以一种机械硬盘无法实现的方式压缩数据。

对第六数据平台的影响

让我们来回顾一下今天所学的知识点,以及这对于下一代先进数据平台的出现意味着什么。

首先,我们将VAST Data视为一个“预警信号”。这意味着这种新的数据中心架构方法揭示了当前数据平台的局限性。因此,随着时间的推移,一个重要的问题出现了,这种方法是否代表了第六数据平台,或者它只是价值链的一部分呢?

其次,对于现有的数据平台将如何应对这个问题,我们认为一个决定性的因素将是像VAST这样的公司能够演变其ISV生态系统以构建整个堆栈。当然,正如我们之前所听到的,一切都是从一个完整的分析型数据库管理系统开始的。此外,现有的参与者必须找到一种方法来统一数据和元数据,利用人工智能将字符串转化为实体,并解决在规模上Shared-Nothing内容架构的局限性。

最后,我们将以一些深入的思考来结束今天的讨论,包括VAST如何看待适应现有工具,将原始数据转化为精炼数据产品。还有他们期望或打算如何逐渐迁移这些数据管道、可观测性、质量规则,并提供相关工具等问题。

Renen Hallak

我认为我们今天采取的方式是相似的。我们支持标准协议和标准格式,同时支持多协议和多格式。比如回顾我们的存储时代,你可以通过文件接口写入某些内容,然后通过对象进行读取。这使你能够继续以与过去相同的方式工作,同时迈向云原生应用的新世界。在数据库层面也是如此。我们提供的标准格式和协议使你能够在无需更改应用程序的情况下开始使用VAST平台,但随着时间的推移,它使你能够做到以前无法做到的事情。至于Dave提到的从DBMS开始的问题,我认为过去的数据平台浪潮确实是从DBMS开始的,因为它侧重于结构化数据。

我认为下一波数据平台就像一个操作系统。它不再只是一个数据分析机器。它是一个在新硬件顶部提供基础设施层的平台,使非技术企业和云提供商能够轻松利用这些新的人工智能能力。这是我们未来看到的,也是我们努力推动的未来。

Jeff Denworth

我认为,我们通常会认为解决老问题并不那么有趣。所以,如果你思考一下当前正在发生的事情,就会发现人们正试图将数据与人工智能相结合,因此涌现出一系列非常特别的公司。你提到了一些关于我们融资的信息。我们分析了今年估值增长超过100%、估值超过50亿美元的实体规模公司,这样的公司数量非常有限。在计算领域,有英伟达这样的公司。在云领域,有一家新兴的云服务提供商CoreWeave,托管了许多最大的大型语言模型训练。在推理应用领域,有我们、Anthropic以及OpenAI等少数几家公司。显然,一些事情正在发生,我们正在努力确保我们不仅能满足所有这些新的模型构建者的需求,还能将这些相同的能力带给企业,让他们也能从中受益。

对于我们来说,这是一次富有启发性的研究练习,有助于我们更好地理解对Shared-Nothing架构的新看法,这是我们在过去20多年中一直认为理所当然的。一旦重新审视了这一假设,当你可以考虑到“扩展”回归而不是“扩张”时,你构建在其上的一切都可以重新思考。感谢VAST的参与,帮助我们质疑这些假设。特别有趣的是,我们需要将文件、对象和表统一为一个命名空间;以及数据和元数据之间没有真正的区别。当你将这些字符串转化为“事物”时,所有这些都变得有些模糊,而我们一直强调的一点是,最终当你将字符串转化为“事物”时,必须有一个语义层来丰富地表示这些“事物”及其之间的关系。这将使我们能够将计算与数据分离,从而使可组合的应用程序能够与共享的基础设施进行通信。

看起来VAST正在朝着实现这个愿景的方向努力建设,我们将继续密切关注六代数据平台的发展历程。