Serverless计算

预览

无服务器SQL仓库在公共预览

在Databricks平台架构的无服务器计算版本中,计算层存在于Databricks的AWS帐户中,而不是客bob体育客户端下载户的AWS帐户中。

支持使用的无服务器计算砖的SQL.管理员可以创建支持即时计算的无服务器SQL仓库(以前的SQL端点),并由Databricks管理。无服务器SQL仓库使用Databricks的AWS帐户中的计算集群。在Databricks SQL查询中使用它们,就像通常使用最初的客户托管SQL仓库(现在称为经典SQL仓库)一样。

Databricks将名称从SQL端点更改为SQL仓库,因为在行业中,端点既指与所连接的网络通信的远程计算设备,也指云服务的入口点。数据仓库是一种数据管理系统,它以业务友好的方式存储来自多个来源的当前和历史数据,以便更容易地进行洞察和报告。SQL仓库准确地描述了这个计算资源的全部功能。

在创建无服务器SQL仓库之前,您必须为您的工作空间启用无服务器Databricks SQL仓库.如果为您的工作空间启用了无服务器SQL仓库:

  • 创建SQL仓库时,默认情况下新的SQL仓库是无服务器的用户界面或者是API,但您也可以创建新的专业或经典SQL仓库。

  • 你可以将专业或经典SQL仓库升级为无服务器SQL仓库或经典的SQL仓库到专业的SQL仓库。您还可以将无服务器降级为专业或经典服务器。

  • 此特性仅影响Databricks SQL。它不会影响Databricks Runtime集群在Data Science & Engineering或Databricks Machine Learning工作空间环境中与笔记本和作业一起工作的方式。Databricks运行时集群始终在AWS帐户中的经典数据平面中运行。看到比较无服务器计算与其他Databricks架构

Databricks在AWS区域支持无服务器SQL仓库eu-central-1一来就ap-southeast-2us-east-1us-east-2,us-west-2.看到支持Databricks云和区域

比较无服务器计算与其他Databricks架构

数据库运行在一个控制飞机和一个数据平面

  • 控制平面包括Databricks在其自己的AWS帐户中管理的后端服务。数据库SQL查询、笔记本命令和许多其他工作空间配置存储在控制平面中,并在静止时加密。

  • 数据平面是计算资源集群处理数据的平面。

两者之间有重要的区别经典数据平面(原来的Databricks平台架构)和bob体育客户端下载无服务器数据平面

  • 对于Classic数据平面,Databricks计算资源在客户的AWS帐户中运行。集群使用查询(在Databricks SQL中)或笔记本(在数据科学与工程或Databricks机器学习环境中)执行分布式数据分析:

    • 在客户AWS帐户中的每个工作空间的虚拟网络中创建新的集群。

    • Classic数据平面具有自然隔离性,因为它运行在每个客户自己的AWS帐户中。经典数据平面不是多个客户的共享资源。

  • 对于无服务器数据平面,Databricks计算资源运行在AWS Databricks帐户内的特殊计算层:

    • 在此版本中,无服务器数据平面仅用于无服务器SQL仓库。启用此功能不会改变Databricks运行时集群在数据科学与工程或Databricks机器学习环境中的工作方式。

    • 无服务器数据平面是Databricks AWS帐户中为多个Databricks客户提供的共享资源。

    • 为了保护无服务器数据平面内的客户数据,无服务器计算在工作空间的网络边界内运行,使用各种安全层来隔离不同的Databricks客户工作空间,并在同一客户的集群之间进行额外的网络控制。

Databricks在与工作空间的Classic数据平面相同的AWS区域中创建无服务器数据平面。

工作节点是私有的,这意味着它们没有公共IP地址。

Databricks控制平面与Serverless数据平面通信:

  • 对于Databricks SQL Serverless,通信使用私有连接。

  • 对于无服务器实时推断(模型服务),通信使用TLS加密通信,从控制平面发起连接,访问限制在控制平面IP地址。

当读取或写入与工作区相同区域的AWS S3桶时,无服务器SQL仓库现在使用AWS网关端点直接访问S3。当无服务器SQL仓库读取和写入AWS帐户中的工作区根S3桶以及同一区域中的其他S3数据源时,就会发生这种情况。

下图显示了无服务器数据平面和经典数据平面之间的重要区别。

比较Classic和Serverless数据平面

有关图中提到的安全集群连接的更多信息,请参见安全的集群连接

下表总结了无服务器计算和Databricks经典数据平面架构之间的差异,重点关注产品安全性。它不是对这些安全特性的完整解释,也不是详细的比较。有关无服务器计算安全性的详细信息,或者如果您对本表中的项目有疑问,请与Databricks代表联系。

无服务器数据平面(仅AWS)

经典数据平面(AWS和Azure)

控制平面资源位置

数据云帐户

数据云帐户

数据平面计算资源位置

无服务器数据平面(Databricks AWS帐户中的VPC)

经典数据平面(客户云提供商帐户中的VPC)

数据平面计算资源

EKS (databicks -managed Kubernetes)集群

数据库管理的独立虚拟机

客户访问数据平面

通过Databricks控制平面访问

  • AWS:在客户的AWS帐户中直接访问。额外的间接访问通过Databricks控制平面。

  • Azure:对集群的直接只读访问,即使使用VNet注入(客户管理的VNet)。额外的间接访问通过Databricks控制平面。

谁为Databricks SQL未分配的虚拟机付费?

不适用。对于专业和经典的SQL仓库,不存在未分配vm的概念。在Databricks SQL中,没有直接等价于笔记本和作业的暖实例池。

谁在启动仓库或在Databricks SQL中运行查询后为虚拟机付费?

客户基于DBUs付款,直到Auto Stop停止SQL仓库。

客户为虚拟机向AWS付费,客户根据DBUs向Databricks付费。

数据平面使用的VPC

Databricks帐户中的VPC在客户之间共享,在工作空间之间和集群之间具有额外的网络边界。

  • AWS:独占,表示VPC在客户帐户中。

  • Azure:独占性,VNet在客户账户内。

操作系统映像

数据库修改的云管理Amazon-linux2

由databicks管理的Ubuntu或CentOS

管理VPC默认出口的技术

databicks创建的AWS互联网网关

云提供的默认互联网网关或负载均衡器

自定义VPC和防火墙配置

没有

是的

自定义CIDR范围

没有

是的

公共ip

没有

安全的集群连接

  • 禁用时,每个虚拟机一个公网IP。

  • 启用时(默认),虚拟机不配置公网ip。

为Databricks Runtime集群提供容器级网络隔离

使用Kubernetes网络策略

使用Databricks-managediptable规则

Databricks Runtime集群的vm级网络隔离

安全组隔离

VPC (AWS)或VNet (Azure)的安全组与隔离

虚拟机隔离

集群中的虚拟机可以相互通信,但不允许其他集群的流量进入。

集群中的虚拟机可以相互通信,但不允许其他集群的流量进入。

控制平面与数据平面之间的通信

对于Databricks SQL Serverless,通信使用私有连接。对于无服务器实时推断,通信使用直接TLS加密通信,与从控制平面发起的连接进行通信,访问限制为控制平面IP地址。

安全的集群连接

  • 启用时(AWS E2和Azure的默认设置):创建集群时,单个虚拟机连接到控制平面的SCC中继

  • 关闭时:控制平面通过公网ip访问单个虚拟机。

用于初始部署的凭证

数据库内部IAM角色

  • AWS:客户提供的IAM角色。

  • Azure:不需要。

常规数据平面操作的凭据

砖调用sts: AssumeRoleon客户提供的IAM角色。

  • AWS:使用客户提供的实例配置文件运行的虚拟机(sts: PassRole).

  • Azure:第一方应用令牌。

DBFS根和工作空间系统数据的存储位置

客户在客户帐户中创建S3桶,作为工作空间创建的一部分。

  • AWS:客户在客户帐户中创建S3桶,作为工作空间创建的一部分。

  • Azure: Databricks在客户帐户中创建blob存储,作为工作空间创建的一部分。