Mosaic AI Vector Search: コスト管理ガイド
この記事では、Mosaic AI Vector Search を使用する際にコストを効果的に管理する方法について説明します。以下のトピックをカバーします。
- 人気検索インデックスとエンドポイントの基本。
- 請求と使用状況のモニタリング。
- 同期モード。
- コストを最適化するためのベストプラクティス。
空のエンドポイントを特定して削除するには、 「空の検索エンドポイントを特定して削除する」を参照してください。
Mosaic AI Vector Search基礎
Mosaic AI Vector Search は以下から構成されます。
- 人気検索インデックス: インデックスは、検索と取得のためにベクトルを保存します。
- サーチエンドポイント: 各エンドポイントは、クエリを提供するための 1 つ以上のインデックスをホストします。 1 つのエンドポイントで複数のインデックスを提供でき、1 つのエンドポイントで最大 50 個のインデックスを提供できます。多くの場合、小さなワークロードを単一のエンドポイントに結合して、総コストを削減できます。
ベクトル検索の価格設定方法
Databricks には 2 つのエンドポイント オプションがあります。
-
標準エンドポイント。1 つのベクトル検索ユニットは、次元 768 (または同等) のベクトルを最大 200 万個カバーします。たとえば、次元 1536 のベクトルが 100 万個ある場合、それも 1 単位としてカウントされます。
-
ストレージに最適化されたエンドポイント。1 つのベクトル検索ユニットは、次元 768 (または同等) のベクトルを最大 6400 万個カバーします。
どちらのオプションでも、各エンドポイントには基本料金があり、提供しているインデックスの合計サイズに合わせて自動的にスケールアップされます。
- 標準エンドポイントは自動的にスケールダウンされません。ベクトルを削除したり、インデックスのサイズを縮小したりした場合でも、手動で変更するまでは、より高い容量に対して料金を支払い続けることになります。
- ストレージ最適化エンドポイントは、インデックスが削除されると自動的にスケールダウンします。エンドポイントの最小サイズは 1 つのベクトル検索単位です。
標準エンドポイントは自動的にスケールダウンされません。ベクトル数が大幅に減少した場合 (たとえば、400 万ベクトルから 150 万ベクトルに減少した場合)、エンドポイントを削除して新しいエンドポイントを作成するまで、より高い容量 (この例では 2 つの検索ユニット) に対して引き続き料金を支払います。 これは標準エンドポイントにのみ当てはまります。ストレージ最適化エンドポイントは自動的にスケールダウンします。
使用状況とコストを監視する方法
Databricks有料利用テーブル、使用量ダッシュボード、予算ポリシーを提供し、地下鉄検索の使用量とコストを監視します。
料金利用表
課金利用テーブルのクエリの例を次に示します。
WITH all_vector_search_usage AS (
SELECT *,
CASE WHEN usage_metadata.endpoint_name IS NULL THEN 'ingest'
WHEN usage_type = "STORAGE_SPACE" THEN 'storage'
ELSE 'serving'
END as workload_type
FROM system.billing.usage
WHERE billing_origin_product = 'VECTOR_SEARCH'
),
daily_dbus AS (
SELECT
workspace_id,
cloud,
usage_date,
workload_type,
usage_metadata.endpoint_name as vector_search_endpoint,
CASE WHEN workload_type = 'serving' THEN SUM(usage_quantity)
WHEN workload_type = 'ingest' THEN SUM(usage_quantity)
ELSE null
END as dbus,
CASE WHEN workload_type = 'storage' THEN SUM(usage_quantity)
ELSE null
END as dsus
FROM all_vector_search_usage
GROUP BY 1,2,3,4,5
ORDER BY 1,2,3,4,5 DESC
)
SELECT * FROM daily_dbus;
課金利用テーブルの詳細については、 「課金利用システムテーブルリファレンス」を参照してください。
その他のクエリーは以下のノートブックの例にあります。
ベクトル検索システムテーブルクエリノートブック
使用状況ダッシュボード
一括検索の使用状況など、コスト要因を把握するためにインポートできる使用状況ダッシュボードについては、 「使用状況ダッシュボード」を参照してください。
予算ポリシー
予算ポリシーを使用すると、管理者はすべてのDatabricksサーバレス製品にわたって請求記録をグループ化してフィルタリングし、支出を追跡するための専用 UI を提供できます。 予算ポリシーを一括検索エンドポイントに適用する方法については、 Mosaic AI Vector Search : 予算ポリシー」を参照してください。 一般的な情報と予算ポリシーの作成および管理方法の詳細については、 「サーバーレス予算ポリシーでの属性の使用」を参照してください。
インデックス同期コストを管理する方法
インデックスを更新するには、次の 2 つの方法があります。
- トリガーされた同期 : API または Python SDK を呼び出してインデックスの更新をトリガーします。これは最も費用対効果の高いオプションです。
- Continuous Sync : インデックスは、ソース Delta テーブルからの変更で自動的に更新され、ほぼリアルタイムの待機時間が長くなります。これは、ストリーミング クラスターが同期を処理するためのプロビジョニングであるため、コストが高くなります。数秒の遅延を伴うほぼリアルタイムの更新が重要でない場合は、Triggered Sync を使用してコストを削減することを検討してください。
コスト管理のベストプラクティス
- 単一のエンドポイントでワークロードを結合する : すべてのインデックスにわたって QPS が低いと予想される場合は、複数の基本エンドポイント コストを回避するために、単一のエンドポイントでインデックスを結合できます。詳細については、トラフィック検索パフォーマンスガイドを参照してください。
- 使用状況を監視する : システムの課金表と組み込みの使用状況ダッシュボードを使用して、容量、使用状況、コストを追跡します。
- 標準エンドポイントの場合は、手動でスケールダウンします 。上で説明したように、標準エンドポイントの場合、ベクター数が不要になった以前の容量しきい値を下回った場合は、エンドポイントを削除して再作成する必要があります。ストレージ最適化エンドポイントは、インデックスが削除されると自動的にスケールダウンします。
- 適切な同期モードを選択します 。可能な場合は、連続同期ではなくトリガー同期を使用して、ストリーミング コストを削減します。
- 空のエンドポイントを特定して削除する : 「空の連続検索エンドポイントを特定して削除する」を参照してください。
その他のリソース
- Mosaic AI Vector Searchの価格
- 使用状況ダッシュボードと手順
- 使用量の予測やワークロード固有のコスト見積もりツールの活用に関する追加のガイダンスが必要な場合は、Databricks アカウント チームにお問い合わせください。