跳转到主要内容
bob体育客户端下载平台的博客”>
             <noscript>
              <img data-gatsby-image-ssr=

成本管理的最佳实践在砖上

分享这篇文章

这个博客是我们管理的一部分要素系列中,我们将关注这些话题重要砖环境的管理和维护。留意其他博客上额外的话题,看看我们以前的博客工作空间管理最佳实践!

使用云平台的主要优势之一就是它的灵活性。bob体育客户端下载砖Lakehouse平台提供用户方便地访问bob体育客户端下载附近的即时水平和可伸缩的计算。然而,这易于创建计算资源是螺旋云的风险成本的时候左非托管和没有护栏。作为管理员,我们总是寻求完美的平衡避免过高的基础设施成本,同时允许用户没有不必要的摩擦。在这个博客中,我们将讨论砖管理工具找到这种平衡和控制成本没有节流用户的生产力。

光谱的控制和易用性”src=
光谱的控制和易用性

DBU是什么?

跳入砖上可用成本控制平台之前,重要的是要首先了解的成本基础运行一个工作负载。bob体育客户端下载砖单元(DBU)底层单元内的消费平台。bob体育客户端下载除了一个SQL仓库,DBUs是基于消费的数量的节点数量计算能力潜在的VM实例类型各自的集群的一部分(如SQL仓库基本上是一群集群,DBU率之和DBU的集群组成端点)。在最高级别,每个云会有稍微不同的DBU率相似集群(因为云节点类型不同),但砖网站计算器为每个支持的云提供商(AWS|Azure|GCP)。

将DBU使用金额,你需要DBU的集群,以及工作负载类型,各自的DBU生成(例自动工作,通用计算,δ生活表,SQL计算,Serverless计算)和订阅计划层(标准版和高级Azure和质量;AWS的标准、溢价和企业)。例如,一个企业数据砖工作区工作DBU列表速度20美分/ DBU在AWS上。与类型实例运行在3 DBU /小时,4节点工作集群将收取2.40美元($ 0.2 * 3 * 4)一个小时。DBU计算器可以用来计算总费用和价格列表总结了在一个特定于云的矩阵包括SKU和层(AWS|Azure|GCP)。

由于成本计算通过使用计算资源,更特别的集群,它通过集群政策来管理数据砖工作区是至关重要的。下一节将讨论如何不同属性的集群政策可以限制DBU消费和有效地管理平台的成本。bob体育客户端下载本部分还将回顾一些底层的云成本考虑,以及如何监视和计费数据砖使用。

通过集群政策管理成本

集群政策是什么?

一个集群政策允许管理员控制的配置集可以在创建一个新的集群和这些政策可以分配给个人用户或用户组。默认情况下,所有用户都有“允许无限制的集群创造”的权利在一个工作区。这个许可应该很少被使用,因为它允许用户创建集群没有任何限制之外的分配政策可能导致非托管和成本失控。

在策略,管理员可以限制每个通过一个不变的配置设置固定值更宽容的范围的值正则表达式,或者一个完全开放的默认值。政策有效地限制的DBUs量可以通过限制使用单个集群从更细粒度的设置如VM实例类型更多的高水平的“合成”属性,如最大允许DBUs每小时或集群工作负载类型。

尽管最初一眼看上去似乎更加严格的集群导致更低的成本,这并非总是如此。非常严格的政策导致集群不能及时完成任务导致更高的成本从长期运行的工作。因此必须采取的用例驱动的方法制定集群政策给团队足够的计算能力为他们的工作负载。帮助,砖提供性能优化特性,比如Apache火花(™)运行时,最明显光子引擎通过更快的处理时间,从而节约成本。在后面一节中我们将讨论政策运行时首先我们先从政策管理水平扩展。

节点数限制,自动伸缩,auto-termination

面对共同关心的问候来计算成本是充分利用集群或闲置。砖提供伸缩和auto-termination动态特性来缓解这些担忧,没有直接的用户干预。这些特性可以通过政策执行不妨碍用户可用的计算资源。

节点数限制和伸缩

政策执行,集群伸缩特性可以使一组最小数量的工人节点。例如,下面的一个将确保伸缩等政策,允许一个用户使用一个集群节点多达10个工人,但只有当他们需要:

“autoscale.max_workers”:{“类型”:“范围”,“价值”:10,“defaultValue”:5},“autoscale.min_workers”:{“类型”:“固定”,“价值”:1}

由于执法的类型是“范围”的最大数量的工人,它可以改变一个值低于10在创造。然而,最低工人数是由“固定”的价值总是让集群规模降至只有一名工人被充分利用,确保节省计算成本。一个额外的字段所示”defaultValue”,顾名思义,设置一个默认值的最大数量的工人设置的集群配置页面。这有助于减少马克斯工人在一个集群在默认情况下,创造者必须故意允许集群规模多达10个节点。

理解用例在创建和分配政策是至关重要的关于限制节点数和伸缩是否应该执行。例如,执行自动伸缩适用于:

  • 共享通用计算集群:一个团队可以共享一个集群特殊分析和实验工作或机器学习工作负载。
  • 与不同复杂性执行长时间运行的批处理作业:工作可以利用自动伸缩,集群规模所需的资源。

使用伸缩不应注意工作时间敏感的扩展的集群可以推迟完成由于节点启动时间。帮助缓解这个问题,使用一个实例池只要有可能。

标准流负载没有历史上能够受益于自动定量;他们只会规模最大的节点数和在那里呆的时间工作。更多的生产级准备选择团队的工作是利用在这些类型的工作负载三角洲生活表增强自动伸缩(DLT工作负载可以执行“cluster_type”政策在这个博客稍后讨论)。尽管DLT正在开发与流媒体工作负载,它同样适用于批处理管道利用Trigger.AvailableNow选项允许目标表的增量更新。

另一个常见的配置集群规模的政策是单一节点的政策。单节点集群可以是有用的新用户想要探索这个平台,利用数据科学团队运作毫升库bob体育客户端下载以及任何用户需要做的轻量级的探索性数据分析。的布局单节点集群政策的例子、政策可以限制利用一个特定的实例池。因此,团队分配给这个政策将对单节点集群的数量限制,他们可以创建基于池的最大容量设置。

Auto-termination

另一个属性可以设置,当创建一个集群内砖平台auto-termination时间,关闭一个集群在设置时间的空闲时间。bob体育客户端下载空闲时间是由缺乏集群上的任何类型的活动,如火花工作,结构化流或JDBC调用。活动不被认为是活动在集群上创建一个SSH连接到集群和运行bash命令。

最常见的auto-termination窗口一个小时。作为一个例子,这是策略集以固定一个小时窗口:

“autotermination_minutes”:{“类型”:“固定”,“价值”:60,“隐藏”:真正的}

在这个例子中,“隐藏”属性也添加到这个控制隐藏小部件从用户的集群配置页面。这个属性只适用于通用集群工作和DLT集群将自动关闭当分配给它的所有任务完成。

集群运行时和光子

运行时在砖性能优化的一个重要组成部分;客户经常看到一个自动的好处在切换到集群中运行一个新的运行时没有其他更改配置。使集群的管理政策,教育集群创作者的影响运行一个新的运行时节省成本的是有价值的。当用户移动到新的运行时,老运行时可以通过政策淘汰和限制。对于一个简单的例子,这是属性“spark_version”,限制用户只有DB运行时版本11.0或11.1。

“spark_version”:{“类型”:“allowlist”,“价值观”:【“11.1.x-scala2.12”,“11.0.x-scala2.12”]}

然而,这一政策可以更灵活的,允许其他版本,ML运行时,光子运行时,或GPU运行时通过扩大允许列表或使用正则表达式。

其他运行时功能时需要考虑性能优化,以减少成本是使用我们的矢量化光子引擎。光子将智能加速的部分工作负载通过矢量化引发引擎的客户看到一个3 x 8 x增加性能。性能的大量增加导致更快的工作,从而降低总成本。

云实例类型和实例

在创建集群的过程中,虚拟机实例类型可以选择对司机单独节点和工作节点。可用的实例类型各有不同的计算DBU率和砖定价评估页面上可以找到每个各自的云(AWS,Azure,GCP)。例如,在AWS m4。大型实例类型有两个核心和8 GB的内存消耗每小时0.4 DBUs而m4.16xlarge实例类型64核和256 GB的内存消耗每小时12 DBUs通用计算模式。这样大范围的DBU使用计算资源之间通过政策限制这个属性是至关重要的。

云实例类型最方便的可以控制的“allowlist”类型或“固定”类型只允许使用一种类型的实例。下面的例子显示了属性“node_type_id”设置一个可用的工人政策节点类型为用户在“driver_node_type_id”设置一个政策司机节点类型。

“node_type_id”:{“类型”:“allowlist”,“价值观”:【“i3.xlarge”,“i3.2xlarge”,“i3.4xlarge”),“defaultValue”:“i3.2xlarge”},“driver_node_type_id”:{“类型”:“固定”,“价值”:“i3.2xlarge”}

作为管理员创建这些政策,重要的是要了解工作负载类型的每个团队运行并适当地分配正确的政策。工作负载和少量的数据应该只需要较低的内存实例类型,同时培训深入学习模型最受益于GPU集群,通常消耗更多DBUs。最终限制实例类型可以是一个平衡。当一个团队必须运行工作负载需要更多的资源比由于政策限制,这项工作需要更长的时间来完成,因此推高成本。有一些最佳实践跟随在配置集群定义工作负载。例如,垂直扩展(使用更强大的实例类型)在横向扩展(添加更多的节点)建议对复杂工作负载组成的大量广泛的转换要求数据洗牌。说完这些,缺乏经验的团队应该分配政策限制不必要的小实例类型更常见的强大vm不会提供太多好处少复杂的工作负载。

砖的一个相对较新的成本节约能力平台使用的能力bob体育客户端下载AWS重子启用虚拟机是建立在Arm64指令集架构。基于AWS除了提供的研究基准测试运行使用光子与砖,这些引力子启用实例有一些可用的最佳价格性能比在AWS EC2实例类型集。

现货实例

砖提供了另一个配置,可以节省成本的具体底层虚拟机计算成本与现货实例(通过砖丰富选择使用抢占式实例类似于现货实例)。现货实例是底层的云提供商提供的备用vm在现场招标市场。这些实例可以大幅折扣,有时提供90%减少实例计算成本。贸易与现货实例就是他们可以在任何时候被底层云提供商与一段短时间内(2分钟AWS, 30秒Azure和GCP)。

如果使用AWS,集群政策可以定义包括现货实例一样的使用:

“aws_attributes.first_on_demand”:{“类型”:“固定”,“价值”:1},“aws_attributes.availability”:{“类型”:“固定”,“价值”:“SPOT_WITH_FALLBACK”}

在Azure上:

“azure_attributes.first_on_demand”:{“类型”:“固定”,“价值”:1},“azure_attributes.availability”:{“类型”:“固定”,“价值”:“SPOT_WITH_FALLBACK_AZURE”}

在这些例子中,只有一个节点(特别是司机节点)时可以按需实例集群中的所有其他节点将在初始点实例创建集群。这里启用后备选项,按需实例将要求取代现货实例被要求回云提供商。目前虽然GCP政策不能执行“first_on_demand”属性,抢占式节点仍然可以执行如下:

gcp_attributes。可用性:{“类型”:“固定”,“价值”:“PREEMPTIBLE_WITH_FALLBACK_GCP”}

默认情况下,只有司机在集群节点将使用一个随需应变的实例启动时启用抢占的实例。

运行时的容错处理等实验工作负载特别的查询可靠性和持续时间的工作量不优先,现货实例可以提供一种简单的方法来降低成本实例。因此,最适合现场实例发展暂存环境。

现货实例驱逐利率和价格可以不同的t恤尺寸和云区域。因此,规划最优集群配置可以辅助工具等从各自的云提供商AWS现货实例顾问,Azure现货价格和历史在Azure门户,或谷歌云定价计算器

注意,Azure有额外的成本控制杆:保留的实例可以使用砖,提供另一个(可能陡峭)折扣不增加不稳定。

集群标签

观察资源的能力被启用的研究小组利用集群标签。这些标签传播到云提供商的水平,以便使用和成本可以从砖是由两个平台以及底层云成本。bob体育客户端下载然而,没有一个集群政策,用户创建一个集群不需要指定任何标签。因此,当管理员创建一个请求访问的政策团队砖平台,这是至关重要的政策包括集群标签执行特定的团队会分配政策。bob体育客户端下载

这里是一个例子与自定义成本中心标记创建一个政策的实施:

{“custom_tags.cost_center”:{“类型”:“allowlist”,“价值观”:【“9999”,“9921”,“9531”]}}

一旦一个标签来识别团队使用集群分配,管理员可以分析使用日志回领带DBUs和成本产生回团队利用集群。这些标签也会传播到VM使用水平,这样云提供者实例成本也可以认为团队或成本中心。选择监测使用日志下面一节中讨论。

一个重要的区别对于集群标签池是,只有在使用集群集群池标签(而不是集群标签)传播到潜在的VM实例。创建集群池是不受限制的集群政策,因此管理员应与适当的标签创建集群池分配使用权限之前一个团队。团队可以获得通过策略附加到各自的池在创建他们的集群。这将确保与团队相关的标签使用池传播到VM实例级计费。

政策虚拟属性

外的设置在集群配置页面,也有“虚拟”属性,可以限制政策。特别是两个属性可以在这个类别dbus_per_hour”和“cluster_type”

与“dbus_per_hour”属性,创造者的集群可以有一些配置的灵活性,只要DBU使用低于设置限制提供的政策。这个属性本身并不限制成本归因于底层VM实例直接像之前讨论属性(尽管DBU利率往往与VM实例利率)。这是一个策略定义的例子限制用户创建集群,使用小于每小时10 DBUs:

“dbus_per_hour”:{“类型”:“范围”,“执行”:10}

可用的其他虚拟属性是“cluster_type”可用于限制用户从不同类型的集群。允许通过该属性的类型是“通用的”,“工作”,“dlt”指的最后一个三角洲生活表。这里有一个使用该策略的例子:

“cluster_type”:{“类型”:“固定”,“价值”:“工作”}

集群类型的限制尤为宝贵的在处理不同的团队在开发和部署的生命周期。的团队致力于开发新的ETL或机器学习管道通常只需要访问一个通用集群而部署工程团队将使用集群工作或δ生活表(DLT)。这些政策可以实施最佳实践,确保正确的集群类型是用于开发和部署的每个特定阶段生命周期。

一个常见的不良实践是共享一个通用的集群部署的自动化工作负载。乍一看,这看似便宜的选择,消费可以捆绑到一个集群。然而,这种类型的配置会导致资源争用,延长的时间集群运行,增加计算成本。相反,使用集群工作孤立运行的一个工作减少了计算时间需要完成一系列的工作。这将导致更低的砖DBU的使用以及潜在的云实例成本降低。更好的性能和更低的成本率每DBU工作集群提供导致戏剧性的成本节约。我们看到顾客已经拯救了成千上万的美元,只需移动刚从通用百分之十的工作负载集群就业集群。集群工作重用可以利用,确保及时完成一系列工作通过删除每个任务之间的集群启动时间。

制定政策,允许团队创建集群的负载有一些最佳实践跟随。一些典型的限制性政策模式是单节点集群,工作只有集群,或伸缩通用集群团队分享。的例子可以找到完整的政策在这里

云提供商成本

从砖消费的角度(DBUs),所有的费用都可以认为回到计算资源利用。然而,成本归因于底层云的网络和存储也应该被考虑。

存储

使用像砖平台的优势是,它能够无缝地使用相对廉价的云bob体育客户端下载存储,比如ADLS Gen2 Azure, S3 AWS,或GCS丰富。使用三角洲湖格式时这一点尤为有利,因为它提供了一个数据治理,否则难以管理存储层以及与砖一起使用时性能优化。

一个常见的mis-optimization在存储时,忽略尽可能使用生命周期管理;在最近的一个案例中,我们观察到一个客户S3 bucket ~ 2.5 pb,其中只有大约800结核病是真实的数据。剩余的1.7 pb版本数据提供任何价值。虽然老旧对象的云存储是一个一般的最佳实践,重要的是要使这与δ真空循环。如果你存储生命周期年龄对象之前,他们可以用吸尘器清扫三角洲,表可能打破;一定要测试任何生命周期之前非生产数据实施更广泛的政策。一个例子政策看起来像这样:

图2:一个存储生命周期策略”src=
图2:一个存储生命周期策略

注意,非标准的存储层,如冰川在S3或者存档ADLS砖不支持,所以一定要使用真空层之前。

网络

数据中使用砖平台可以来自各种不同的来源,从数据仓库就像卡夫卡流媒bob体育客户端下载体系统。然而,最常见的带宽应用者如S3或ADLS写入存储层。降低网络成本,砖工作区应该部署的目标之间传输的数据量最小化区域和可用性区域。这包括部署在同一地区的大多数数据在可能的情况下,必要时,可能包括发射区域工作区。

当使用AWS customer-managed VPC砖的工作空间,可以减少利用网络成本VPC端点允许VPC之间的连通性和AWS服务没有一个互联网网关或NAT设备。使用端点减少了从网络流量费用,也使得连接更加安全。网关端点特别可用于连接到S3和DynamoDB接口端点时同样可以用来降低成本的计算实例连接到砖控制飞机。这些端点都可以只要工作空间使用安全集群连接

同样在Azure上,私人链接或服务端点可以配置为砖与ADLS减少NAT等服务费用。丰富,可以利用私人谷歌访问(PGA)所以,谷歌云存储之间的交通(GCS)和谷歌容器注册(GCR)使用谷歌的内部网络而不是公共网络,因此也绕过NAT设备的使用。

Serverless计算

对于分析工作负载,考虑的一个选项是使用SQL仓库Serverless选择启用。Serverless SQL,砖平台管理的计算实例,就可以分配给一个用户bob体育客户端下载负载时启动。因此底层实例的成本完全由砖而不是两个独立的管理费用(即DBU计算成本和底层云计算成本)。

图3:比较传统SQL端点之间的成本分析和Serverless SQL”src=
图3:比较传统SQL端点之间的成本分析和Serverless SQL

Serverless导致成本优势通过提供即时计算资源执行一个查询时,减少闲置成本的充分利用集群。同样,serverless允许更精确的自动伸缩,这样工作量就可以有效地完成,因此节省成本通过提高性能。尽管serverless选项是没有直接的通过政策,管理员启用的选项为所有用户使用SQL创建仓库权限。

监测使用

控制成本通过集群政策和工作部署配置,是同样重要的管理员有能力监测成本。砖提供了一些选择这样做的能力基于使用分析自动化通知和提醒。具体来说,管理员可以使用砖账户控制台使用快速概述,为更细粒度的分析使用日志视图,并使用我们的新的预算API主动通知当超出预算。

使用帐户控制台

与账户控制台包括砖企业2.0的架构使用页面提供管理员的能力使用视觉DBU或金额。图表可以显示的消费聚合视图分组,工作空间,或分组sku。当按sku分组使用集群工作所示,所有目的集群,或SQL计算为例。如果图分割的空间,会有一组显示为9个工作区顶部DBU消费与最后一个分组结合其他工作区。了解更细粒度的单独的细节,每一个空间,一个表可以发现底部的页面,这个页面列出每个工作区分别随着DBU SKU / $美元金额。这个页面是适合管理员使用和成本的全面视图所有的工作区在一个帐户。

砖是第一方服务在Azure平台上bob体育客户端下载Azure成本管理工具可以杠杆来监视砖使用在Azure(连同所有其他服务)。不同的账户控制台砖部署AWS和GCP Azure的监视功能提供数据粒度级别的标签。自定义标记在Azure不仅可以创建集群级别也在空间层面上。这些标签将显示为团体和过滤器在分析使用的数据。在这些报告中,使用由砖计算将显示与底层实例使用方便在相同的观点。日志也可以交付给一个存储容器安排和使用自动化分析和警报,在下一节中解释。

管理员可以选择下载使用手动从账户控制台日志使用页面账户API。然而,一个更有效的过程分析这些使用日志是配置自动日志交付云存储(AWS,GCP)。这导致每天CSV包含每个工作空间的使用细粒度的模式

一旦使用日志交付已经配置的三个云,常用的最佳实践是创建一个数据管道砖内,每日摄取这些数据并将其保存到一个增量表使用一个预定的工作流程。这些数据可以被用于使用情况分析或触发警报通知管理员或团队领导负责成本中心花当消费达到设定阈值。

预算API

一个即将到来的特性来简化数据砖计算成本预算是新的预算端点账户内(目前在私人预览)API。这将允许任何人使用砖工作区得到通知一次预算阈值在任何自定义时间段过滤到工作区,SKU,或集群标记。因此,预算可以配置任何工作区,成本中心,或团队通过这个API。

总结

虽然砖Lakehouse平台跨越了许多用例和用户角色,我们的目标是提bob体育客户端下载供一套统一的工具,帮助管理员平衡成本控制与用户体验。在这个博客,我们提出了一些策略方法这种平衡:

  1. 使用集群政策来控制哪些用户能够创建集群,以及这些集群的规模和范围
  2. 设计你的环境来最小化non-DBU砖工作区所产生的成本,如存储和网络成本
  3. 使用监控工具来确保你的期望满足成本和有效的实践

看看我们本文中其他admin-focused博客链接,并留意额外博客即将到来。也要尝试新的特性,比如私人链接(AWS|Azure),预算!

免费试着砖

相关的帖子

看到所有bob体育客户端下载平台的博客的帖子