Use S3 for shared-data
このトピックでは、共有データ StarRocks クラスタのデプロイと使用方法について説明します。この機能は、S3 互換ストレージではバージョン 3.0 から、Azure Blob Storage ではバージョン 3.1 から、Azure Data Lake Storage Gen2 ではバージョン 3.4.1 からサポートされています。
注意
- StarRocks バージョン 3.1 では、共有データのデプロイと設定にいくつかの変更があります。バージョン 3.1 以上を使用している場合は、このドキュメントを使用してください。
- バージョン 3.0 を使用している場合は、3.0 ドキュメントを使用してください。
- 共有データ StarRocks クラスタは、データのバックアップとリストアをサポートしていません。
共有データ StarRocks クラスタは、ストレージとコンピュートの分離の前提でクラウド向けに特別に設計されています。データをオブジェクトストレージ(例えば、AWS S3、Google GCS、Azure Blob Storage、Azure Data Lake Storage Gen2、MinIO)に保存することができます。これにより、より安価なストレージと優れたリソース分離を実現できるだけでなく、クラスタの弾力的なスケーラビリティも達成できます。共有データ StarRocks クラスタのクエリパフォーマンスは、ローカルディスクキャッシュがヒットした場合、共有なし StarRocks クラスタと一致します。
バージョン 3.1 以降では、StarRocks 共有データクラスタは Frontend Engines (FEs) と Compute Nodes (CNs) で構成されています。CNs は、共有データクラスタにおける従来の Backend Engines (BEs) を置き換えます。
従来の共有なし StarRocks アーキテクチャと比較して、ストレージとコンピュートの分離は幅広い利点を提供します。これらのコンポーネントを分離することにより、StarRocks は以下を提供します:
- 安価でシームレスにスケーラブルなストレージ。
- 弾力的にスケーラブルなコンピュート。データが Compute Nodes (CNs) に保存されないため、ノード間でのデータ移行やシャッフルなしにスケーリングが可能です。
- クエリパフォーマンスを向上させるためのホットデータ用ローカルディスクキャッシュ。
- オブジェクトストレージへの非同期データ取り込みにより、ロードパフォーマンスが大幅に向上します。
アーキテクチャ

shared-data StarRocks クラスタのデプロイ
shared-data StarRocks クラスタのデプロイは、shared-nothing StarRocks クラスタのデプロイと似ています。唯一の違いは、共有データクラスタでは BEs の代わりに CNs をデプロイする必要があることです。このセクションでは、shared-data StarRocks クラスタをデプロイする際に、FE と CN の構成ファイル fe.conf と cn.conf に追加する必要がある追加の FE と CN の構成項目のみをリストします。StarRocks クラスタのデプロイに関する詳細な手順については、Deploy StarRocks を参照してください。
注意
このドキュメントの次のセクションで共有ストレージ用に構成するまで、クラスタを起動しないでください。
shared-data StarRocks 用の FE ノードの構成
クラスタを起動する前に、FEs と CNs を構成します。以下に例を示し、各パラメータの詳細を提供します。
S3 用の FE 構成例
以下は、各 FE ノードの fe.conf ファイルに追加する shared-data の例です。例は使用される AWS 認証方法に基づいて異なります。
デフォルトの認証資格情報
run_mode = shared_data
cloud_native_meta_port = <meta_port>
cloud_native_storage_type = S3
# 例: testbucket/subpath
aws_s3_path = <s3_path>
# 例: us-west-2
aws_s3_region = <region>
# 例: https://s3.us-west-2.amazonaws.com
aws_s3_endpoint = <endpoint_url>
aws_s3_use_aws_sdk_default_behavior = true
# 上記の詳細を使用してオブジェクトストレージにデフォルトのストレージを作成したくない場合は false に設定します
enable_load_volume_from_conf = true
IAM ユーザーベースの資格情報
run_mode = shared_data
cloud_native_meta_port = <meta_port>
cloud_native_storage_type = S3
# 例: testbucket/subpath
aws_s3_path = <s3_path>
# 例: us-west-2
aws_s3_region = <region>
# S3 オブジェクトの読み書き用資格情報
aws_s3_access_key = <access_key>
aws_s3_secret_key = <secret_key>
# 上記の詳細を使用してオブジェクトストレージにデフォルトのストレージを作成したくない場合は false に設定します
enable_load_volume_from_conf = true