メインコンテンツまでスキップ
バージョン: 3.1

Boundaries of Competence: 共有データクラスタ

ヒント

以下の各機能には、追加されたバージョン番号が記載されています。新しいクラスタをデプロイする場合は、バージョン 3.2 以上の最新のパッチリリースをデプロイしてください。

Overview​

共有データ StarRocks クラスタは、ストレージとコンピュートを分離したアーキテクチャを特徴としています。これにより、データをリモートストレージに保存でき、共有なしクラスタと比較して、ストレージコストの削減、リソースの最適な分離、サービスの弾力性の向上が可能になります。

このドキュメントでは、共有データクラスタの能力の範囲を概説し、デプロイメント方法、ストレージ構成、キャッシングメカニズム、Compaction、主キーテーブルの機能、およびパフォーマンステストの結果をカバーします。

Deployment​

共有データクラスタは、物理/仮想マシンおよび Kubernetes 上で Operator を介してデプロイをサポートしています。

両方のデプロイメントソリューションには、以下の制限があります。

  • 共有なしモードと共有データモードの混在デプロイはサポートされていません。
  • 共有なしクラスタから共有データクラスタへの変換、またはその逆はサポートされていません。
  • 異種デプロイはサポートされていません。つまり、クラスタ内のすべての CN ノードのハードウェア仕様は同じでなければなりません。

StarRocks Kubernetes Operator​

StarRocks は、Kubernetes 上での共有データデプロイメントのために StarRocks Kubernetes Operator を提供しています。

共有データクラスタを以下の方法でスケールできます。

  • 手動操作。
  • Kubernetes HPA (Horizontal Pod Autoscaler) 戦略を使用した自動スケーリング。

Storage​

共有データクラスタは、HDFS およびオブジェクトストレージ上でストレージボリュームを構築することをサポートしています。

HDFS​

Location​

StarRocks は、HDFS ストレージボリュームの以下の場所をサポートしています。

  • HDFS: hdfs://<host>:<port>/

    NOTE

    v3.2 以降、ストレージボリュームは NameNode HA モードが有効な HDFS クラスタをサポートしています。

  • WebHDFS (v3.2 からサポート): webhdfs://<host>:<http_port>/

  • ViewFS (v3.2 からサポート): viewfs://<ViewFS_cluster>/

Authentication​

StarRocks は、HDFS ストレージボリュームの以下の認証方法をサポートしています。

  • Basic

  • Username (v3.2 からサポート)

  • Kerberos Ticket Cache (v3.2 からサポート)

    NOTE

    StarRocks は自動チケット更新をサポートしていません。チケットを更新するために crontab タスクを設定する必要があります。

Kerberos Keytab と Principal ID を使用した認証はまだサポートされていません。

Usage notes​

StarRocks は、HDFS およびオブジェクトストレージ上のストレージボリュームをサポートしています。ただし、各 StarRocks インスタンスには 1 つの HDFS ストレージボリュームのみが許可されています。複数の HDFS ストレージボリュームを作成すると、StarRocks の未知の動作を引き起こす可能性があります。

Object storage​

Location​

StarRocks は、ストレージボリュームのために以下のオブジェクトストレージサービスをサポートしています。

  • S3 互換オブジェクトストレージサービス: s3://<s3_path>
    • AWS S3
    • GCS, OSS, OBS, COS, TOS, KS3, MinIO, および Ceph S3
  • Azure Blob Storage (v3.1.1 からサポート): azblob://<azblob_path>

Authentication​

StarRocks は、異なるオブジェクトストレージサービスのために以下の認証方法をサポートしています。

  • AWS S3
    • AWS SDK
    • IAM ユーザーベースのクレデンシャル
    • インスタンスプロファイル
    • アサムドロール
  • GCS, OSS, OBS, COS, TOS, KS3, MinIO, および Ceph S3
    • アクセスキー ペア
  • Azure Blob Storage
    • 共有キー
    • 共有アクセス署名 (SAS)

Partitioned Prefix​

v3.2.4 以降、StarRocks は S3 互換オブジェクトストレージシステムのために Partitioned Prefix 機能を使用してストレージボリュームを作成することをサポートしています。この機能が有効になると、StarRocks はデータをバケット内の複数のパーティション(サブパス)に分配します。これにより、バケットに保存されたデータファイルの読み書きパフォーマンスを容易に向上させることができます。

Storage volumes​

  • v3.1.0 以降、ストレージボリュームは CREATE STORAGE VOLUME ステートメントを使用して作成でき、後のバージョンではこの方法が推奨されます。
  • 共有データクラスタの内部カタログ default_catalog は、データ永続化のためにデフォルトのストレージボリュームを使用します。default_catalog 内のデータベースおよびテーブルに対して異なるストレージボリュームを割り当てることができます。storage_volume プロパティを設定することで、カタログ、データベース、テーブルの順にプロパティが継承されます。
  • 現在、ストレージボリュームはクラウドネイティブテーブルのデータ保存にのみ使用できます。将来的には、外部ストレージ管理、データロード、およびバックアップ機能がサポートされる予定です。

Cache​

Cache types​

File Cache​

File Cache は、共有データクラスタと共に導入された最初のキャッシングメカニズムです。セグメントファイルレベルでキャッシュをロードします。File Cache は v3.1.7、v3.2.3 以降のバージョンでは推奨されません。

Data Cache​

Data Cache は、v3.1.7 および v3.2.3 以降でサポートされ、以前のバージョンの File Cache を置き換えます。Data Cache は、リモートストレージからデータをオンデマンドでブロック単位(MB 単位)でロードし、ファイル全体をロードする必要はありません。後のバージョンで推奨され、v3.2.3 以降でデフォルトで有効になっています。

Data Cache Warmup​

StarRocks v3.3.0 は、データレイクおよび共有データクラスタでのクエリを加速するために Data Cache Warmup 機能を導入しました。Data Cache Warmup は、キャッシュを活性化するプロセスです。CACHE SELECT を実行することで、リモートストレージから必要なデータを事前に取得することができます。

Configurations​

  • テーブルプロパティ:
    • datacache.enable: ローカルディスクキャッシュを有効にするかどうか。デフォルト: true。
    • datacache.partition_duration: キャッシュされたデータの有効期間。
  • BE 設定:
    • starlet_use_star_cache: Data Cache を有効にするかどうか。
    • starlet_star_cache_disk_size_percent: 共有データクラスタで Data Cache が使用できるディスク容量の割合。

Capabilities​

  • データロードはローカルキャッシュを生成し、その削除は partition_duration ではなく、キャッシュ容量制御メカニズムによってのみ管理されます。
  • StarRocks は Data Cache Warmup の定期的なタスクを設定することをサポートしています。

Limitations​

  • StarRocks はキャッシュされたデータの複数のレプリカをサポートしていません。

Compaction​

Observability​

Partition-level Compaction status​

v3.1.9 以降、information_schema.partitions_meta をクエリすることでパーティションの Compaction ステータスを確認できます。

以下の主要なメトリクスを監視することをお勧めします。

  • AvgCS: パーティション内のすべてのタブレットの平均 Compaction スコア。
  • MaxCS: パーティション内のすべてのタブレットの中で最大の Compaction スコア。

Compaction task status​

v3.2.0 以降、information_schema.be_cloud_native_compactions をクエリすることで Compaction タスクのステータスと進行状況を確認できます。

以下の主要なメトリクスを監視することをお勧めします。

  • PROGRESS: タブレットの現在の Compaction 進行状況(パーセンテージ)。
  • STATUS: Compaction タスクのステータス。エラーが発生した場合、このフィールドに詳細なエラーメッセージが返されます。

Cancelling Compaction tasks​

特定の Compaction タスクを CANCEL COMPACTION ステートメントを使用してキャンセルできます。

例:

CANCEL COMPACTION WHERE TXN_ID = 123;

NOTE

CANCEL COMPACTION ステートメントは Leader FE ノードで実行する必要があります。

Manual Compaction​

v3.1 以降、StarRocks は手動 Compaction のための SQL ステートメントを提供しています。Compaction の対象となるテーブルまたはパーティションを指定できます。詳細については、Manual Compaction を参照してください。

Primary Key tables​

以下の表は、共有データクラスタでの主キーテーブルの主要な機能とそのサポート状況を示しています。

FeatureSupported Version(s)Description
Primary Key tablesv3.1.0
Primary Key index persistencev3.2.0
v3.1.3
  • 現在、共有データクラスタはローカルディスクでの主キーインデックスの永続化をサポートしています。
  • リモートストレージでの永続化は将来のリリースでサポートされる予定です。
Partial Updatev3.1.0
  • 現在、共有データクラスタは行モードでの部分更新のみをサポートしています。
  • 将来的には列モードもサポートされる予定です。
Conditional Updatev3.1.0現在、条件は「Greater」のみをサポートしています。
Hybrid row-column storage❌将来のリリースでサポートされる予定です。

Query performance​

以下のテストは、Data Cache を無効にした共有データクラスタ、Data Cache を有効にした共有データクラスタ、Hive でデータセットをクエリするクラスタ、および共有なしクラスタのクエリパフォーマンスを比較しています。

Hardware Specifications​

テストに使用されたクラスタには、1 つの FE ノードと 5 つの CN/BE ノードが含まれています。ハードウェア仕様は次のとおりです。

VM providerAlibaba Cloud ECS
FE node8 Core 32 GB Memory
CN/BE node8 Core 64 GB Memory
Network bandwidth8 Gbits/s
DiskESSD

Software version​

StarRocks v3.3.0

Dataset​

SSB 1TB データセット

注記

この比較に使用されたデータセットとクエリは、Star Schema Benchmark からのものです。

Test Results​

以下の表は、13 のクエリと各クラスタの合計のパフォーマンステスト結果を示しています。クエリ遅延の単位はミリ秒 (ms) です。

QueryShared-data Without Data CacheShared-data With Data CacheHive Catalog Without Data CacheShared-nothing
Q01274285896523555
Q02271470486383183
Q03190865881632980
Q04311358582346047997
Q05265977806291836794
Q06216437147244015602
Q0735271154903890419530
Q08248187368275986984
Q09210566667235875687
Q102823912166633942
Q1150027189475299719636
Q12103004919361468136
Q1373783386231536380
SUM23841283444333689100406

Conclusion​

  • Data Cache を無効にし、Parallel Scan と I/O マージ最適化を有効にした共有データクラスタのクエリパフォーマンスは、Hive データをクエリするクラスタの 1.4 倍 です。
  • Data Cache を有効にし、Parallel Scan と I/O マージ最適化を有効にした共有データクラスタのクエリパフォーマンスは、共有なしクラスタの 1.2 倍 です。

Other features to be supported​

  • フルテキスト逆インデックス
  • 行と列のハイブリッドストレージ
  • グローバル辞書オブジェクト
  • 生成列
  • バックアップとリストア
Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.