投稿|对话百亿美元独角兽CEO:现代数据堆栈的未来将往何处去?

投稿|对话百亿美元独角兽CEO:现代数据堆栈的未来将往何处去?
文章图片

图片来源@视觉中国

文 | 阿尔法公社
数据、数据、数据!无论是大数据、流式数据、数据分析、数据科学,还是人工智能和机器学习,数据都一直被业界重视 。但仅有数据是不够的:人们需要一个完整的工具和技术堆栈从数据中提取价值 。
围绕新兴的数据工具和技术堆栈诞生了价值数十亿、数百亿美元的产业 。在这个领域有众多的创新,大家都在研究,怎么将新兴的数据工具组合在一起,形成生态,产生价值?
本文是数据基础设施领域超级独角兽Databricks的CEO兼创始人Ali Ghodsi与A16Z投资人Martin Casado的对话总结,他们探讨了数据架构的演变,流式数据的典型案例,以及Ali对如何构建端到端的数据处理解决方案的看法,enjoy 。
重点提纲
  • 数据存储架构的历史,从数据仓库到数据湖
  • 分析和人工智能/机器学习是否应该被视为两个独立的市场,以及使用SQL 来适应人工智能/机器学习的讨论
  • 实时和流式数据的用例,以及延迟的讨论
  • 设计现代数据堆栈的最佳实践和对数据架构未来的预测
从数据仓库到湖仓一体,数据储存架构简史Ali Ghodsi:数据仓库范式始于80年代,它来源于大型商业公司的这种需求:“我们在运营数据系统中拥有非常多的数据,为什么我们不直接获取所有数据,将其从这些系统中取出,并转换到一个中心位置,可以称之为数据仓库,然后我们就可以获得关于这些数据的商业智能?”
这只是一个初期的重要想法,随着技术和产品的发展,现在你可以拥有清晰的商业仪表板,可以按地区、按SKU和按地理位置了解你产品的销售情况 。这创造了至少200亿美元的市场,该市场已经存在了很长时间 。
但大约10年前,这项技术开始面临一些挑战:首先,越来越多的数据类型,如视频和音频开始出现,传统数据仓库逐渐开始不适应复杂的数据类型 。
其次,你必须建立本地的基础设施,而它们将存储和计算结合在一起,因此放大和缩小它们的规模需要付出很高的成本 。
第三,人们希望利用这些数据集为越来越流行的机器学习和人工智能提供燃料 。他们希望人工智能帮助解决一些具有前瞻性的问题:“我的哪些客户会流失?我的哪些产品会销售的更好?我应该向谁提供哪些活动?”
数据湖大约在10年前出现 。它的想法起源于:“这里有非常便宜的存储空间,把客户所有的数据都转储到这里,再利用BI工具,我们就可以获得基于这些数据的商业分析见解 。”但事实证明,只是将所有数据转储到一个中心位置,得到的结果通常不够好,于是人们现在正在做的是获取这些数据的子集,将它们移动到基于云的经典数据仓库中 。
因此,我们最终遇到的问题是数据架构混乱,我们在数据湖和数据仓库中都有数据,这样在提取数据时就很不方便 。
投稿|对话百亿美元独角兽CEO:现代数据堆栈的未来将往何处去?
文章图片

在过去的两到三年里,有一些非常有趣的技术突破正在促成一种新的技术范式,我们称它为lakehouse(湖仓一体) 。这个想法是:如果客户可以直接在数据湖上执行BI会怎样?如果他们可以直接在数据湖上运行报告,并且可以直接在数据湖上跑数据科学和机器学习,会不会非常方便?
商业分析和人工智能/机器学习,是同一个市场还是不同市场?
Martin Casado:很明显,围绕BI存在一个庞大的现有数据仓库市场,典型的代表是人们在结构化数据上使用SQL 。
但似乎人工智能和机器学习用例与商业分析用例有点不同 。商业分析用例通常是人类查看仪表板并做出决策,而在人工智能和机器学习用例中,你会创建一些模型,而这些模型实际上已投入生产并成为产品的一部分 。他们在做定价,做欺诈检测,做承保等 。
商业分析是现有的购买行为和现有的客户 。人工智能和机器学习是一个新兴市场 。所以核心问题是:我们真的看到了多个市场的出现还是只存在一个现有市场?
Ali Ghodsi:他们既有很多相似之处,也有不同 。让我们从相似之处开始,毫无疑问,两者都需要大量的数据 。在人工智能和机器学习方面,获得非常好的结果或预测的秘诀来自于使用你拥有的额外元数据来扩充原有的数据 。
从某种意义上,我们拥有相同的数据,而你正在提出分析性问题 。唯一的区别是一个是向后看,一个是向未来看 。但除此之外,无论是用商业分析还是机器学习,你都需要对数据做同样的事情,需要准备它,拥有它,这样你才能理解它 。如果你的数据存在结构性问题,也会导致机器学习出现问题 。
这两个在今天的不同之处在于,人工智能通常与数据科学或核心研发业务相关,而数据仓库和BI通常属于IT体系 。
数据仓库和BI工具的用户是数据分析师和业务分析师 。机器学习的用户是数据科学家和机器学习工程师 。
因此,角色是不同的,并且位于组织中的不同位置 。这些人有不同的背景,对他们使用的产品有不同的要求 。
我们能只使用SQL吗?
Martin Casado:如果你和一些比较传统的分析师聊,他们会说:“人工智能和 机器学习很酷,但他们本质上不是只是在做简单的回归么?为什么我们不直接使用SQL的传统数据仓库模型,然后扩展SQL以进行基本的回归,这不就已经覆盖99%的用例?”
Ali Ghodsi:这个问题很有趣,因为我们在加州大学伯克利分校时就尝试过一个研究项目:有没有一种方法可以采用现有的关系模型并通过机器学习来增强它?
五年后,科学家们意识到很难在这些系统之上加入机器学习和数据科学 。原因有点技术性——它与迭代的递归算法有关,它们会继续改进统计度量,直到达到某个阈值然后停止 。这很难在数据仓库的基础上实现 。
如果你查看从该项目中发表的论文,得出的结论是我们必须非常努力地破解它,而且它的结果不会很漂亮 。如果你正在考虑基于SQL的关系Codd模型,那么它还不足以进行深度学习等工作 。
Martin Casado:从为人工智能和机器学习构建的技术栈开始,然后让它支持更多传统的分析师关系模型,这样的说法是否正确?
Ali Ghodsi:我认为答案是否定的,因为现在有一个广泛使用的数据科学API,它已经成为数据科学家的通用语:数据帧 。
数据帧本质上是一种可以获取数据并将其转换为表格并开始对其进行查询的方式 。这听起来很像SQL,但事实并非如此,因为它是使用编程语言支持构建的,你可以使用Python或R等编程语言来执行此操作,这使你能够轻松进行数据科学的操作 。
所以,现在你的数据在表中,你还可以在数据帧之上构建SQL 。使用数据帧,你可以将数据科学和机器学习领域与BI和数据分析领域结合起来 。
Martin Casado:我明白你所说的关于数据仓库的内容,但数据仓库中的数据远不止这些 。你仍然拥有整个数据、SQL和ETL世界 。那里有不和谐还是他们停留在两个世界?发生了什么?
Ali Ghodsi:我们对很多企业进行了访谈,了解到现在他们是大部分数据放在数据湖,少部分放在数据仓库 。
他们需要进行两步ETL操作,第一个ETL步骤是数据进入数据湖,然后使用第二个ETL步骤将其移动到数据仓库 。因此,组织为这种架构冗余付出了沉重的代价 。
但问题是:你真的需要两份吗?你真的需要维护这两个副本并保持同步吗?你是否能拥有一个范式,在这个范式中,你可以将所有数据都放在数据湖中,然后用它们进行机器学习和数据科学,然后将其子集再次移动到数据仓库中,在那里你可以将其清理并结构化的储存,从而让你能运行SQL和BI,还是我们可以在一个地方完成所有操作?
Martin Casado:让我问一个非常具体的问题 。尽管人工智能和机器学习是一个具有很大价值和潜力的市场,但围绕BI存在大量现有工作流 。
假如你拥有基于SQL用于数据仓库的分析仪表板和工具,但你也想要非常快速地与数据交互,并会使用ClickHouse或Druid之类的产品在OLAP中执行此操作 。(OLAP代表在线分析处理,是一个支持快速查询的快速接口 。)然后你有更传统的批处理,例如Spark 。你的意思是你可以在同一个数据湖中组合所有这些东西,包括OLAP查询负载?
Ali Ghodsi:是的,我认为这是可以实现的 。数据湖可以对应广泛的数据来源,容量很大,很便宜 。
而最近有一些技术突破,展示了如何将它转变为结构化的关系存储系统 。那就是在这些数据湖中构建事务性 。
一旦有了这种功能,你就可以在它们之上添加模式,添加模式之后,还可以添加质量指标,这样就可以把数据变成结构化数据而不是简单的文件化数据 。
Martin Casado:我将结构放在blob存储上,但你仍需要查询,对吗?构建一个可以响应分析查询的超快速查询引擎,整个公司都在这样做 。
Ali Ghodsi:是的,事实证明你需要两个API 。一是数据帧API,它使数据科学和机器学习成为可能 。然后,你可以在其之上构建一个SQL层,并且没有什么能真正阻碍它拥有与最先进、最快的MPP引擎一样的性能 。你现在可以应用与之前一样的数据分析技巧,因为你实际上还是在处理结构化数据 。
流式(数据)分析的真实用例
Martin Casado:数据领域一直有让人兴奋的新趋势,但是他们又不确定这个市场是否真实 。实时和流式的用例,是最近人们在讨论的 。
很明显,人们希望以不同的时间和速度处理数据 。批处理是一个很大的市场,你有一堆数据,需要做处理,然后储存在其他地方,还需要查询 。越来越多的人在谈论流式分析,当数据流进入时,你会在它到达储存位置之前进行查询 。
Ali Ghodsi:延迟和速度,这是等式的一边,也是每个人都专注于此的 。我们经常问客户公司的业务负责人:“你可以接受什么样的延迟?” 他们会说,“我们希望是像每5分钟,每10分钟 。” 你可以使用批处理系统来实现这一点 。
然后,当你深入研究时,就希望更快, 事实证明,流式系统,最薄弱的环节将决定延迟 。会有一些上游流程与你正在运行的系统无关 。如果那个上游流程,处在你加在数据的地方,它每半小时更新一次,那么其余的速度有多快都无关紧要 。
我认为延迟的降低来自这种执着:“我们需要在不到5毫秒的时间内完成它 。” 虽然对于大多数用例,这么低的延迟并不需要 。
等式的另一面,人们并不关注它,因为它更难理解或解释,但这可能是这些流式系统的最大好处,即它为你处理所有数据操作 。
如果你没有实时流式系统,就必须面对这一类事情:我每天都会收集大量数据,我要在这里储存它,在那里添加它,我如何调和?如果有一些数据相比别的数据延迟更大,怎么办?我需要加入两个表格,但是其中一个表格出了问题,怎么办?这时候你就需要等一会,然后重新运行它,也许你每周都需要把整个系统重新整理一遍,以确保数据是一致的 。
从某种意义上,如果你真的用好流式系统,那么像ETL以及大家都用的数据整理就可以被简化,因为流式引擎会为你处理操作 。你就不必担心:“这些数据是否延迟了?我们还在等它吗?事情一致吗?” 他们会处理好这一切 。
Martin Casado:你认为最终其中很大一部分变成了流式处理?
Ali Ghodsi:我的意思是,从某种意义上所有的批处理数据都可能是流式传输的用例 。
我认为流式处理系统使用起来是有一点复杂,但实际上它们在后台处理了很多之前需要手动执行的数据操作 。
理想的端到端架构是什么?
Martin Casado:我很想听您谈谈,您认为的理想现代数据堆栈是什么样的 。
Ali,假设你被大公司录用为负责数据的副总裁,要建立一个数据基础设施,既能做分析,又能做人工智能或机器学习,你会端到端使用什么产品类别——不是特定产品,而是产品类别?
Ali Ghodsi:如果我被一家大公司录用,尝试在本地做一些事情绝对没有意义 。当你构建云原生架构时,不要试图在本地复制你过去拥有的东西 。不要将其视为将由用户共享的大型集群 。
本地供应商通常不会想到的云计算发生的一项重大变化是云中的网络是不可见的 。任何两台机器之间都可以全速通信,也可以全速与存储系统、数据湖通信 。这不是本地的情况——像Hadoop之类的东西,他们必须优化你放置数据的位置,并且计算必须接近数据 。
因此,我会将数据技术栈移至云端 。某些系统会流入数据,根据从事的业务类型,拥有IT设备,或者来自Web应用程序的东西 。有时它会用到流式排队系统,比如Kafka 。在那里,它进入数据湖 。
Martin Casado:所以你说数据直接进入数据湖 。
Ali Ghodsi:那是第一个落地的地方,如果你不这样做,你会在进化过程中倒退一两年 。因为如果你不把它放到数据湖中,那么就必须立即决定你将拥有什么模式,从一开始就很难获得权利 。数据湖的好处是你不必立刻决定架构 。
第二步,你需要在它之上构建一个结构化的事务层,这样你才能真正理解它 。大约同时有三四种这样的技术,它们都可以让你把你的数据湖变成湖仓一体的结构 。
第三步,你需要某种交互式数据科学环境,让你能在其中开始交互式地处理数据并从中获得洞察力 。
通常,人们拥有基于笔记本的解决方案,他们可以在其中使用笔记本进行迭代,在后台使用Spark之类的东西,并以交互方式处理他们的数据并从中获得洞察力 。
这非常重要,因为组织中的许多数据科学最终都不是高级机器学习 。我们拥有来自产品和各种设备的数据,但是必须对他进行处理,以一种良好的形式得到它,并从中获得一些基本的见解 。
投稿|对话百亿美元独角兽CEO:现代数据堆栈的未来将往何处去?
文章图片

如果你想进行预测,就需要一个机器学习平台 。现在有不少机器学习平台,其中许多是公司内部的专有平台 。您可以阅读有关它们的信息,但无法获得它们 。
Martin Casado:这是针对可操作的机器学习的?
Ali Ghodsi:这实际上是从训练机器学习模型开始的,实际上是对它进行特征化,创建一个可以进行预测的模型,跟踪结果,确保你可以使它们具有可重复性并对其进行推理,然后将其投入生产,这就是最难的部分 。将其投入生产,你可以在产品中实际使用它 。这就是机器学习的工作 。
Martin Casado:在你的这个架构中使用机器学习平台的人是数据科学家、数据工程师,还是两者兼而有之?
Ali Ghodsi:不幸的是,现在他们属于不同的部门 。服务部分和生产部分有时归 IT 部门所有,模型的创建由业务部门的数据科学家完成 。
这些组织之间存在摩擦,因为 IT 与数据科学家的运作方式不同,但机器学习平台需要跨越两者 。如果没有,你就无法从正在做的机器学习工作中获得全部价值 。
Martin Casado:你能谈谈数据管道和DAG工具在这一切中的应用吗?
Ali Ghodsi:我谈到了训练,但最困难的部分实际上是获取现在位于数据湖中的数据,并构建具有特征的管道,并使其具有正确的形状和形式,以便你可以开始对其进行机器学习 。所以,这是第一步 。在那之后,您开始训练模型 。要自动编排并实现该工作流程,你需要执行此操作的软件,因此这绝对是机器学习平台的第一步 。
Martin Casado:如果我想使用我的传统BI仪表板并将其附加到这个系统中,它附加在哪里?
Ali Ghodsi:那是最后一英里 。BI本身通常使用JDBC/ODBC之类的东西 。要真正快速地处理数据并在数据之上工作,你需要一些使之做好准备的功能 。
过去,唯一的选择是将其放在数据仓库中,然后将BI工具附加到其中 。但现在用湖仓一体模式,以及一些技术突破,你现在可以将BI工具直接连接到该数据湖上 。
Martin Casado:放在哪儿?建立在它之上的事务层?
Ali Ghodsi:是的,如果你有Delta Lake或者Iceberg或Hive ACID之类的工具,你可以直接将它连接到这些上面 。
Martin Casado:如果你没有任何遗留技术,那么做一个数据湖似乎很有意义 。有一个简单的迁移路径吗?
Ali Ghodsi:我认为在西方更难,在亚洲更容易,因为没有太多的技术遗产 。在西方更难,因为企业拥有40年的技术遗产,他们已经购买并安装了应用程序数据并进行了配置 。他们要面临一系列的迁移和转换工作 。
然而,如果是从零开始构建它,就可以更轻松地完成它 。
Martin Casado:您是否真的看到数据湖更多地用于不受遗留问题影响的公司?
Ali Ghodsi:Uber是一个很好的例子 。他们在做预测,而预测是一种竞争优势 。你按下一个按钮,它会在一秒钟内告诉你乘车的价格是多少 。它基本上模拟了整个行程:它知道在一个小时的交通状况和一切情况下,仪表会告诉你什么;它提供完全正确的价格——不会高估,不会低估;它将司机的供需与激增定价相匹配;甚至可以让人们拼车以降低成本 。
所有这些都是机器学习用例,他们没有很多遗留数据仓库和遗留系统 。他们为这个用例定制了它,这是一个巨大的竞争优势 。
现代数据堆栈将往何处去?
Martin Casado:您之前说的这些会是数据技术堆栈未来十年的趋势么,还有什么新的东西,什么是重要的?
Ali Ghodsi:我无法预测未来,但我知道一些长期有意义的因素 。
如果我是一家企业的CIO或选择数据策略的负责人,我会确保我正在构建的任何东西都是多云的 。不同的云供应商之间发生了很多创新,他们正在进行一种军备竞赛,所以请确保在构建多云的架构 。
我要做的第二件事是尽可能地尝试将基础设施基于开放标准和开源技术构建 。这为能提供最大的灵活性,如果空间再次发生变化,迁移会非常方便 。否则,你会发现自己被锁定在技术堆栈中,就像被锁定在80年代、90年代和2000年代的技术中一样 。
存储所有数据,首先以原始格式将其转储到数据湖中,因为要收集的数据太多了,所以先保留下来 。你没有时间为它找出确切完美的模式 。所以,要么我们把它扔到某个地方,要么我们把它扔掉,没有人愿意成为那个扔掉数据的员工,尤其是当存储数据如此便宜的时候 。
我要做的第三件事是确保正在构建的堆栈和布局方式,将机器学习和数据科学放在首要位置 。机器学习平台在15年前还不存在,所以这可能会发生很大变化 。我认为机器学习平台的确切形状不会完全像今天这样 。但是很多成分都是对的,已经有雏形 。
Martin Casado:完美,太感谢了 。你说的非常精彩,也让我们看到了很多未来很重要的事情 。
【投稿|对话百亿美元独角兽CEO:现代数据堆栈的未来将往何处去?】(本文由阿尔法公社编译整理自投资人Martin与创始人Ali的对谈实录 。)

    推荐阅读