データ基盤向けPaaS『Azure Databricks』の費用を知ろう

こんにちは、Azure担当の原です。

今日は、最近お勧めする機会の増えたデータ基盤向けPaaS『Azure Databricks』の料金体系をご案内します。
Azure Databricksは機能面、性能面とも優れたお勧めのサービスです。
料金体系を把握することで、安心してより積極的にご活用頂けるのではないでしょうか。

※文中に掲載した価格は2022年3月~4月時点のものです。

Azure Databricksそのものについては公式ドキュメントをご覧下さい

Azure Databricks とは | Microsoft Docs

Azure Databricks利用料金の全体像

Azure Databricksの利用料金は、大きく分けて①Azureリソース利用料、②Databricksソフトウェア利用料、の二つで構成されます。

Azureリソース利用料について

Azure Databricksを利用する際には、下図のようなリソースがAzure上に展開されます。
図の左側「データレイク」は、Azure Databricks固有のリソースではなく、利用者が保有するデータを蓄えるストレージアカウントを指します。
右側の「Databricksワークスペース」の枠内が、Azure Databricks利用時に生成されるリソースです。

「利用者のSubscription」が利用者から見える場所に生成されるリソースです。
Azure Databricksによって自動で生成・削除されますが、リソースそのものは通常の仮想マシンやディスク、ストレージなどで、Azureの価格表に沿った金額が課金されます。

「Microsoft管理Subscription」に存在するリソースは利用者から見えず、明示的な課金対象にもなりません。

出典: 仮想ネットワークを管理する – Azure Databricks | Microsoft Docs

Azure Databricksソフトウェア利用料について

Azureリソースの他に、Databricksソフトウェアの料金が発生します。
単位は「Databricks Units(DBU)」で、1DBUのノードを1時間動かした場合の価格は以下のようになっています。
実際の課金は秒単位で計算されます。

クラスター料金を計算してみる

それでは料金を計算してみましょう。
Azure Databricksのデータ処理はクラスターで行います。

クラスターにもいくつかのタイプがありますが、ここではSQL Compute用途のクラスターを用います。
SQL Computeクラスターはサイズとワーカーノード数の組み合わせが下表のようにプリセットされています。

“Small” クラスターの料金例

“Small” クラスターはドライバーノード1つ、ワーカーノード4つで構成されます。
このサイズを1時間稼働させた場合に使われるリソースの種類と金額は次のようになります。

Azure仮想マシンにSpot VMを利用した場合は次のようになります。
この例では仮想マシンのコストが83%オフとなります。
処理が中断されてもリトライで問題がないワークロードであれば大幅にコストを抑えられます。

※spot vm

クラスターサイズ・ワークロード別のクラスター費用

Azure DatabricksのDBU単価は、クラスターのワークロードによって異なります。
SQL computeのクラスターサイズを基準に、サイズ・ワークロード別に算出した1時間あたりのクラスター費用は次の図のようになります。
All purpose及びJobワークロードについては、ドライバーのスペック、ワーカーのスペックと数を柔軟に設定できますが、ここでは比較のためSQLワークロードのスペックに揃えて計算しています。

クラスターはいつ起動する必要があるか

基本的に、ユーザーのデータにアクセスする時にはクラスターが起動している必要があります。
テーブルのデータをSELECするときはもちろんですが、テーブル一覧の表示やファイルシステム(Databricks File System = DBFS)を覗くときにもクラスターを利用します。
Notebookの閲覧や編集、Jobの構成、クラスターの管理などについてはクラスターは不要です。

利用料金の管理

クラスター設定からタグを付加できます。
ここで設定したタグは、Databricksが生成するAzureリソースにも自動的に付加されますので、クラスターの用途別に利用料金を振り分けるといったこともできます。

事前購入プランの検討

DBUについては、Databricks Commit Units (DBCU) を1年、あるいは3年前払いで購入することで割引価格が適用される仕組みがあります。
仮想マシンの予約(Reservations)に似た仕組みですが、1時間毎に無効になる仮想マシンの予約とは異なり、1年前払いであれば1年間いつでも消費可能なクレジットです。Azure EAのコミットメントに近い仕組みとも言えます。

事前に購入したDBCUを使い切った場合は、定価でDBUが課金されます。クラスターが停止したり性能が制限されることはありません。

DBCUのプランは、Azure Databricksの料金ページからご確認ください。

Azure Databricks の価格 | Microsoft Azure

DBCUの算出例を以下の表に示します。
最も低価格なDBCUプラン(年間25,000DBU)は、”Small” サイズのクラスターを1日9時間、月間20日稼働させた場合に相当するボリュームとなります。

データストアの料金例

データストアには、ストレージアカウントが利用できます。
利用料の試算においてAzure Databricks特有の要素は無いため詳細は省きますが、東日本のローカル冗長ストレージでData lake storage gen2を10TB利用した場合、200~300USD程度となります。

ストレージアカウントも事前予約を購入することで割引が適用されます。
詳しくはドキュメントをご覧下さい。

Azure Storage サービスに予約割引が適用されるしくみについて | Microsoft Docs

まとめ

この記事では、Azure Databricksの料金体系について詳しくご説明しました。
全体として、クラスターの稼働時間で課金されるシンプルな仕組みです。
性能面、機能面だけでなく、料金面でも扱いやすいサービスとなっていますので、ぜひお試しいただければと思います。

Colorkrewでは、Azure Databricksをベースとしたデータ分析基盤の導入支援サービスを提供しています。
ご興味をお持ちの方は以下のサービスページからお問い合わせください。

データ分析基盤構築支援 | くらまね
くらまね

おすすめ記事