《Databricks数据智能平台:解锁生成式AI革命》——Databricks平台:从Lakehouse到数据智能平台

491 阅读13分钟

随着数字化转型步伐的加快,各家公司从各种来源收集的多样化数据量不断增加。数据爆炸为组织提供了巨大的潜力,通过高级分析发掘出颠覆性的洞察,以引导创新和决策。

在本章中,我们将回顾数据平台在过去十多年中的演变。接着,我们将讨论为什么当今理想的数据平台是Lakehouse,以及Databricks是如何建立Lakehouse这一类别的。然后,我们将深入了解Lakehouse平台在Databricks上的各个方面。

最后,我们将探讨生成式AI(GenAI)和大型语言模型(LLMs)如何彻底改变了整个人工智能(AI)领域,以及Databricks如何采用这一技术来打造Databricks数据智能平台。

数据平台:历史视角

近年来,随着数据种类和数量的爆炸式增长,数据格局经历了快速的演变。组织在应对这一大数据浪潮时,现有基础设施难以有效地挖掘其潜力。这促使架构师和技术领导者开始构想能够巧妙整合现有数据平台优势的新型集成系统。

首先让我们从数据仓库开始。数据仓库在过去的几十年里,为依赖预定义结构化数据的描述性分析和商业智能(BI)用例提供了巨大的价值。然而,随着焦点和需求扩展至预测性分析和利用最新的机器学习进展,工作负载的性质超出了传统数据仓库所能有效支持的范围。基于预定义数据集的商业智能描述性分析已不再足够。诸如非结构化、半结构化和流处理等更多样化的数据类型,需要比数据仓库基础设施设计所能提供的更广泛且灵活的处理能力。

因此,数据湖的概念作为数据仓库的替代方案受到了关注,因为数据湖能够快速摄取原始的多结构化数据。Hadoop及其生态系统是这一技术浪潮的前沿力量之一。然而,缺乏事务性、数据质量和混合模式的支持,限制了数据湖所承诺的潜在优势的发挥。因此,灵活性是以治理、可靠性和企业关键能力为代价的,数据湖很快就变成了“数据泥潭”。

尽管存在这些缺陷,但由于没有更好的替代方案,组织开始在其数据架构中同时使用这两种技术:使用数据仓库进行描述性分析和商业智能(BI)用例,使用数据湖进行人工智能(AI)/机器学习(ML)用例,并将各种处理工具掺杂在其中(有时甚至为单个用例使用一个工具)。然而,使用两个完全不同的系统来解决两种关键类型的工作负载开始变得问题重重。首先,这创造了数据孤岛,导致数据在不同平台之间频繁移动,必须维护多份相同的数据。其次,这些不同平台的治理模型不兼容,因此需要为不同系统分别制定治理模型。最后,组织开始为BI和ML工作负载使用不同的工具,这增加了运营效率和成本。随着时间的推移,维护这些不同系统的复杂性不断增加,变得不仅昂贵,还减缓了创新的步伐。

如今,企业比以往任何时候都更加需要一个统一的数据基础设施,能够在整个生命周期中无缝管理多样化信息,以支持快速扩展的分析用例。

Lakehouse的兴起

让我们了解一下现代组织如何看待他们的数据平台。首先,平台应该能够在单一存储位置存储各种类型的数据,并且最好具备成本效益。接下来,这些数据应具备统一的治理和访问模型,最后,一项技术应能够帮助他们解决所有用例,而无需移动任何数据或代码。

然而,如前所述,在架构中同时使用数据仓库和数据湖的组织,实际上是在使用两个不同的零散系统,导致了数据孤岛的分离、复杂的集成以及分散的治理,这极大地阻碍了构建能够积极影响业务的企业级分析解决方案。

这一现实催生了由Databricks率先提出的一个进化性新范式的出现:Lakehouse。Lakehouse架构旨在将数据仓库和数据湖最具影响力的功能集成于云端。通过一致的数据支持多样化的工作负载,并在标准治理政策下进行安全管理,Lakehouse有望最终全面地释放大数据的潜力。

Lakehouse凭借其对重新塑造分析格局的巨大潜力,毫无疑问成为了近期数据平台创新中最关键的突破之一。

什么是Lakehouse?

让我们更深入地了解一下什么是Lakehouse。Lakehouse是一种数据架构范式,旨在弥合数据湖和数据仓库之间的差距。其目标是提供数据湖的灵活性和可扩展性,同时提供数据仓库所通常具备的性能、可靠性和治理能力。Lakehouse试图在对象存储或云端存储的基础上直接实现数据仓库中所见的某些管理数据能力。图1-1展示了三者之间的对比。

image.png

  • 原生管理结构化数据和各种非结构化数据
  • 利用云规模的对象存储作为基础数据存储库
  • 提供贯穿存储和处理的可靠性、安全性和治理
  • 通过缓存、索引和分区等技术提供高性能
  • 通过统一的流处理架构支持实时和批量工作负载
  • 提供开放的可扩展性,以适应快速发展的分析需求

Lakehouse通过在相同的平台上统一工作负载,并遵循标准治理政策,打破了数据孤岛,实现了简化的管理。这使得在规模上获得单一的全局数据视图成为可能,从而为高级分析提供动力。随着云基础设施增加了无限的弹性,Lakehouse最终使得能够提出比以往更大规模的数据问题成为可能。

如果你要设计一个以廉价分布式存储为基础的新一代分析数据管理系统,那么结果将类似于Lakehouse:灵活的模式但更快的查询速度。目标是在不牺牲治理的前提下实现实时洞察。

什么是Databricks Lakehouse?

现在你已经了解了Lakehouse的范式,让我们继续看看如何在Databricks上实现Lakehouse。Databricks研究人员Michael Armbrust等人在2021年的创新数据会议上发表了题为《Lakehouse:统一数据仓储与高级分析的新一代开放平台》(文章链接)的论文。

图1-2展示了Databricks Lakehouse平台。

image.png

Databricks通过Lakehouse架构提出了一种潜在的解决方案,能够将分散的数据源整合到一个位置,同时避免了现有架构的一些局限性。Databricks通过其集成的数据和AI平台提供了企业级Lakehouse架构中最为成熟的实现之一。基于开源和开放标准构建,Databricks的Lakehouse架构通过消除历史上使数据和AI复杂化的数据孤岛,简化了您的数据环境。

让我们解读一下,并深入探讨Databricks的Lakehouse。Databricks利用云对象存储(如AWS的S3、Azure的ADLS和Google Cloud的GCP存储)作为其基础的中心数据存储。这使得可以在云上最廉价的存储中以原生格式容纳大量结构化、非结构化和半结构化数据。这就是Lakehouse架构中的“湖”的部分。一旦数据以原始格式进入云存储,它就会被转化为Delta Lake格式。请注意,数据仍然在您的云存储中,但以Delta Lake格式存储。Delta Lake是一个开源的存储层,为数据湖带来了性能、可靠性和治理。Delta Lake通过应用原子事务、缓存、索引和时间旅行功能,使大规模存储在关键任务工作负载中变得可靠且高效。基本上,Delta Lake为云存储中的数据提供了类似于“仓库”的功能,这就是Lakehouse架构中的“house”的部分。

如图1-2所示,Unity Catalog为Lakehouse中的所有数据提供统一的数据治理。它集中管理所有数据资产,包括表、模式、视图,甚至AI模型。

最后,Databricks平台提供的功能使组织中的所有数据角色都能够构建各种用例,无论是数据工程、数据科学、流处理,还是数据仓储。

总而言之,Databricks提供了一个基于开源技术构建的统一Lakehouse平台,该平台与云无关,能够在任何规模下处理各种用例。该平台使数据可用于从商业智能到机器学习的多种分析用例。

Databricks Lakehouse平台的关键功能

Databricks的企业数据云提供了Lakehouse范式的领先实现。以下是一些核心概念和功能:

  • Delta Lake:这种开放格式优化了大规模结构化和半结构化数据的存储,提升了可靠性、性能和治理能力。
  • 统一的批处理和流处理:Databricks通过同一平台使用Spark结构化流处理批量数据和实时数据。这使得结合历史数据和流数据的新方式成为可能。
  • Unity Catalog:Unity Catalog捕获不同数据类型和存储系统中的元数据和使用信息,实现统一的数据发现和治理。
  • 多语言支持:该平台原生集成了SQL、Python、R、Java和Scala等语言,支持在相同数据上处理各种分析用例。
  • 云原生架构:通过利用托管云基础设施,Databricks自动化资源管理和扩展,以满足最苛刻工作负载的需求。
  • 安全和治理的访问:全面的访问控制、加密和数据屏蔽机制确保了严格的监督和细粒度的审计。
  • 自动扩展与协作:数据科学家可以快速将其工作扩展到生产环境,并通过共享仪表板、报告和应用程序与业务用户密切合作。

引入Databricks数据智能平台

回顾科技领域,2023年是一个具有突破性的一年。这一年,全世界见证了生成式AI(GenAI)和大型语言模型(LLM)的强大力量及其潜在应用。几乎一瞬间,各大企业就能想象出利用这些技术构建的未来用例。生成式AI成为了每个董事会议上的热门话题,所有人都在考虑如何利用这一技术在竞争中取得领先。

Databricks凭借其Lakehouse平台,处于一个独特的位置,不仅可以利用这一技术提升自身平台,还能帮助企业构建他们的生成式AI用例。让我们详细谈谈这两点。

首先,Databricks通过将Lakehouse平台与生成式AI能力相结合,提升了其平台,这就是所谓的Databricks数据智能平台。Databricks在其平台的几乎每个部分都使用了大型语言模型,从帮助开发人员排查代码错误,到自动从数据中生成洞察。我们将在第12章详细讨论这些功能。整个平台变得越来越智能,从而提升了用户体验。

其次,Databricks在其平台内构建了功能,使得企业能够构建自己的生成式AI用例。诸如向量搜索、微调API以及RAG Studio等功能,使得企业能够将他们的生成式AI用例投入生产,从RAG应用到甚至从头开始构建自己的模型。我们将在第9章详细讨论这些功能。

因此,Databricks通过LLM增强了其平台,并允许用户在平台上创建他们的生成式AI应用程序。

为了理解Databricks上的数据智能平台,让我们来看一个类比。图1-3展示了有史以来最强大的飞船——SpaceX的Starship。重要的是要注意,在飞船核心之下的是Super Heavy助推器,它能够在静止时承受280万磅的重量,并在飞行时通过其猛禽引擎推动第二级进入太空。

image.png

带着这个概念,理解Databricks数据智能平台并不难(见图1-4)。该平台也由两个主要组成部分构成。核心部分由Lakehouse平台和生成式AI(GenAI)驱动,使平台能够更智能地响应用户的需求和要求。

image.png

总结而言,借助生成式AI的最新发展,Databricks已将数据智能引擎集成到其核心产品中。这相当于SpaceX的Starship。简而言之,Databricks利用了最新的生成式AI模型和技术,创建了数据智能引擎(Databricks IQ),为平台的各个部分提供动力。

借助Mosaic ML和Databricks IQ,开发人员可以像从未有过的那样无缝地创建工作负载,就像在与数据领域的主题专家(SME)合作一样。Databricks AI还使数据科学家能够直接利用大型语言模型,通过RAG刷新其特定领域的知识,使用更多专业知识进行微调,甚至从头训练全新的LLM。这强大的“第二阶段”助推器能够推动Databricks平台进入一个新的时代,帮助组织以更高的质量、速度和灵活性创建下一代数据和AI应用。

结论

在本章中,我们回顾了数据平台的演变。数据仓库非常适合BI(商业智能)用例,而开放存储的数据湖则用于机器学习(ML)用例。然而,当在架构中同时使用这两种不兼容的系统时,往往会产生数据孤岛,导致企业无法充分利用其全部数据来进行业务决策。Databricks Lakehouse平台使得组织能够将所有数据存储在一个地方。无论是结构化、半结构化还是非结构化数据,都可以存储在开放数据湖中。随后,原始数据被转换为Delta Lake格式,这为数据提供了可靠性并提升了性能。Unity Catalog提供了统一的治理层,而Databricks平台则提供了从数据工程、数据仓储、流处理到数据科学等多种用例的功能。最后,我们讨论了Databricks如何通过利用生成式AI(GenAI)和大型语言模型(LLMs)来构建智能平台,创建了Databricks数据智能平台。在接下来的章节中,我们将深入探讨Databricks平台的各个部分。