E-MapReduce (EMR) Serverless StarRocks は、Alibaba Cloud 上で提供されるフルマネージドの StarRocks サービスです。EMR コンソールから StarRocks インスタンスを作成し、インスタンスとデータを管理できます。クラスターの構成、運用、スケーリングを自身で行う必要はありません。
StarRocks とは
StarRocks は、高速、リアルタイム、かつ効率的な多次元データ分析のために構築された分析データベースです。MPP アーキテクチャ、ベクトル化実行エンジン、コストベースオプティマイザー (CBO)、インテリジェントマテリアライズドビュー、およびリアルタイム更新可能な列指向ストレージエンジンを使用しています。StarRocks は MySQL プロトコルと互換性があるため、任意の MySQL クライアントや一般的な BI ツールから直接接続できます。水平方向にスケールし、高可用性 (HA) と高い信頼性を提供します。
StarRocks は、リアルタイムソースまたはオフラインストアからデータをロードし、以下のデータ分析シナリオをサポートします。
リアルタイムデータウェアハウス:トランザクションデータベースからの変更を数秒で同期し、最新のデータをクエリします。
オンライン分析処理 (OLAP):多次元レポート、セルフサービスダッシュボード、アドホッククエリを実行します。
データレイク分析:データを移行することなく、データレイク内のデータをクエリします。
コア機能
以下の機能は StarRocks エンジンに組み込まれています。
MPP フレームワーク
StarRocks は、すべてのクエリを物理的な計算ユニットに分割し、それぞれが専用の CPU とメモリを持つマシン間で並列実行します。クラスターをスケールアウトすると、単一クエリのパフォーマンスもそれに伴ってスケールします。
ベクトル化実行エンジン
ベクトル化実行エンジンは、すべての実行演算子、関数、スキャンおよびフィルタリングモジュール、インポートおよびエクスポートモジュールを CPU レベルで最適化します。単一命令複数データ (SIMD) 命令を使用して、クロックサイクルごとにより多くのデータを処理します。標準のテストセットでのテストでは、演算子全体のパフォーマンスが 3 倍から 10 倍向上することが示されています。
このエンジンには、エンコードされた文字列をデコードせずに、結合、集計、および式演算子を直接実行する「Operation on Encoded Data」も含まれています。これにより、SQL 実行の複雑さが軽減され、クエリ速度が 2 倍以上向上します。
コンピューティングとストレージの分離
StarRocks 3.0 で導入されたコンピューティングとストレージの分離アーキテクチャは、各コンピューティングリソースを各ストレージリソースから分離し、それぞれが独立してスケールできるようにすることで、ストレージコストを削減します。コンピューティングノードは数秒以内にスケールできるため、コンピューティングとストレージを一緒に拡張する必要がある場合に発生する過剰なプロビジョニングが不要になります。
ストレージ層は、ほぼ無制限の容量を持つさまざまなオブジェクトストレージサービスを使用し、Hadoop Distributed File System (HDFS) と互換性があります。コンピューティングとストレージの分離アーキテクチャは、コンピューティングとストレージの統合アーキテクチャと完全な機能パリティを維持します。データ更新、データレイク分析、マテリアライズドビューによる高速化はすべて同じように機能します。データ書き込みとホットデータクエリのパフォーマンスは、両方のアーキテクチャでほぼ同じです。
コストベースオプティマイザー
複雑な複数テーブルの結合クエリでは、有効な実行計画の数はテーブルの数に応じて指数関数的に増加するため、最適な計画の選択は NP 困難になります。StarRocks の CBO は、ベクトル化実行エンジン用にカスタマイズされた Cascades ライクなアーキテクチャを使用しています。次の機能をサポートしています。
共通部分式の再利用と相関サブクエリの書き換え
Lateral Join と Join Reorder
分散結合実行ポリシーの選択
低カーディナリティ辞書エンコーディングの最適化
CBO は 99 個すべての TPC-DS SQL ステートメントをサポートします。
リアルタイム列指向ストレージエンジン
StarRocks は、データを列形式で保存します。これにより、圧縮率が向上し、ディスク I/O と読み取られるデータ量が削減され、列のサブセットのみを読み取るクエリが高速化されます。これは OLAP ワークロードの一般的なパターンです。StarRocks を使用すると、数秒以内にデータをロードでき、ほぼリアルタイムのデータ処理機能を提供します。
ストレージエンジンは、データインポートに対して ACID (原子性、一貫性、独立性、永続性) を保証します。バッチインポートはアトミックに成功または失敗し、同時実行トランザクションはスナップショット分離の恩恵を受けます。このエンジンは、部分更新およびアップサート操作もサポートしています。「Delete-and-Insert」モードのプライマリキーインデックスを使用して、読み取り時のソート/マージのオーバーヘッドを回避します。セカンダリインデックスは、高スループットのデータ更新シナリオに対応します。
インテリジェントマテリアライズドビュー
StarRocks のマテリアライズドビューは自動的に機能します。
自動同期:ソーステーブルのデータが変更されると、対応するマテリアライズドビューがリアルタイムで更新を検出して適用し、データの一貫性を維持します。
透過的なクエリ書き換え:クエリ計画中に、StarRocks はマテリアライズドビューがクエリを高速化できるタイミングを検出し、自動的にクエリ書き換えを実行します。アプリケーションの変更は不要です。
バックグラウンドでのライフサイクル管理:手動介入なしでマテリアライズドビューを作成および削除できます。システムがバックグラウンドで操作を処理します。
ETL の代替:マテリアライズドビューを使用して、データをその場で変換および処理し、従来の抽出、変換、ロード (ETL) パイプラインやアップストリームの前処理を置き換えます。
データレイク分析
StarRocks は、ローカルストレージのデータを効率的に分析します。外部カタログを使用してデータレイクを直接クエリできるため、データ移行は不要です。StarRocks は以下をサポートします。
テーブルフォーマット:Apache Hive、Apache Iceberg、Apache Hudi、Delta Lake
ファイルフォーマット:Parquet、ORC、CSV
ストレージサービス:HDFS、Amazon Simple Storage Service (S3)、Object Storage Service (OSS)
このモデルでは、データレイクは BI、AI、アドホッククエリ、およびレポート作成ワークロードのための信頼できる唯一の情報源 (SSOT) として機能します。StarRocks は、ベクトル化エンジンと CBO を使用してコンピューティングと分析を処理します。
Serverless StarRocks の付加価値
StarRocks を自身で実行する場合、クラスターのプロビジョニング、バージョンアップグレードの計画、セキュリティの構成、システムの監視などが必要です。EMR Serverless StarRocks は、これらの運用オーバーヘッドを排除します。
クラスター管理不要:クラスターのサイジング、セットアップ、継続的なチューニングが不要になります。
インスタンス管理の可視化:EMR コンソールからインスタンスを管理し、O&M タスクを実行できます。
モニタリングの可視化:組み込みのモニタリングおよび O&M ダッシュボードを利用できます。
自動バージョンアップグレード:StarRocks のメジャーバージョンとマイナーバージョンが自動的にアップグレードされます。
EMR StarRocks Manager:
セキュリティ:ユーザーおよび権限管理を提供します。
診断分析:低速な SQL ステートメントを特定し、ビジュアルツールで SQL 実行を分析します。
データ管理:データベース、テーブル、パーティション、シャード、タスクを閲覧して、運用管理を効率化します。
AI+OLAP (ベータ版):AI 機能で説明されているように、OLAP 分析ワークフロー内で SQL を使用して大規模言語モデルを呼び出すことができます。
AI 機能
EMR Serverless StarRocks には、大規模言語モデルの機能を OLAP 分析ワークフローに組み込むための AI 関数が組み込まれています。AI 関数はベータ版です。データを外部システムにエクスポートすることなく、単一の SQL ステートメントでデータの処理、分析、AI 推論を実行できます。
バージョン要件
インスタンスは、バージョン 3.3.20-2.1.1、3.5.16-2.1.1、またはそれ以降である必要があります。
主な利点
データは StarRocks 内に保持:生データは常に StarRocks 内に保持されます。AI 関数は、処理が必要なフィールドのみを暗号化してモデルサービスに送信するため、データの複製やシステム間の転送を防ぎます。
標準 SQL で呼び出し:組み込みの AI 関数を標準 SQL から呼び出せます。新しいプログラミング言語やツールを学習する必要はありません。
結果はクエリに直接供給:AI 関数の結果は、再度データをロードすることなく、後続の結合、集計、フィルタリングで即座に使用できます。
トークンコストの削減:述語プッシュダウンにより呼び出し量が削減され、キャッシングにより重複リクエストが排除されるため、同じタスクのコストが 30% 以上削減されます。
O&M 不要のレート制限:3 つの組み込み保護レイヤーがワークロードを安定させるため、RPM や TPM などのレート制限メカニズムを理解する必要はありません。
関数の機能
AI 関数は、機能タイプごとにグループ化されています。
機能タイプ | 代表的な関数 | 説明 |
テキスト分析 | ai_sentiment, ai_classify, ai_extract, ai_summarize | テキストに対して、感情分析、タグ分類、エンティティ抽出、コンテンツ要約を実行します。 |
テキスト処理 | ai_translate, ai_fix_grammar, ai_redact | 機械翻訳、文法修正、個人を特定できる情報 (PII) のマスキングを提供します。 |
セマンティックフィルタリング | ai_filter, ai_similarity | セマンティックな条件でデータをフィルタリングするか、2 つのテキスト間のセマンティックな類似度を計算します。 |
ベクトル化 | ai_embed, ai_embed_multimodal | 検索シナリオ向けに、テキスト埋め込み、または画像や動画などのコンテンツのマルチモーダル埋め込みを生成します。 |
AI 集計 | ai_agg, ai_agg_summary | 製品のすべてのレビューを要約するなど、ディメンションごとに複数の行を AI で要約します。 |
カスタムモデル | ai_custom_query, ai_custom_embedding, ai_custom_multimodal_embedding | AI センターに登録したカスタムモデルを呼び出します。 |
サポート対象モデル
テキスト生成には qwen-plus を使用します。テキストのベクトル化には qwen-vl-plus または text-embedding-v2 を使用します。マルチモーダル埋め込みの生成には qwen-vl-plus または tongyi-embedding-vision-plus を使用します。qwen-vl-plus は統一されたベクトル空間モデルであるため、テキスト埋め込みはモダリティを超えて画像や動画の埋め込みと直接比較でき、クロスモーダル検索に適しています。
典型的なシナリオ
サポートチケットから苦情をフィルタリングして自動的に割り当てるなど、セマンティックフィルタリングと分類ルーティング
マルチモーダル検索とトレーニングセットの構築
顧客や製品などのディメンションごとの AI 要約
分析前の機密データマスキング
バッチでのコンテンツ生成と翻訳
インテリジェント O&M
AI 関数に加えて、EMR Serverless StarRocks は EMR AI Assistant を提供します。EMR AI Assistant で説明されているように、インスタンスに接続し、システムテーブル、クエリプロファイル (クエリ実行の詳細)、およびモニタリングメトリクスを読み取って、パフォーマンス診断とヘルスチェックを実行します。
「AI Function」のトピックでは関数の構文とメトリクスの説明を、「AI Function Best Practices」ではシナリオベースの使用方法を解説しています。
よくある質問
EMR Serverless StarRocks で使用される OSS バケットのデフォルトの QPS 制限はいくつですか。また、どのようにモニタリングできますか。
OSS バケットのデフォルトの QPS 制限は 20,000 で、10,000 から引き上げられています。StarRocks の OSS バケットのスロットリングに関する専用の監視メトリクスはまだ利用できません。代替策として、Cloud Monitor で QPS アラートを設定してください。
StarRocks の FE リーダーノードのフェイルオーバーはなぜ発生しますか。フル GC と関係がありますか。
FE リーダーノードのフェイルオーバーは、フル GC がトリガーする新しいリーダーの選出によって発生することがあります。FE ノードがフル GC を実行すると、新しいリーダーの選出が開始され、FE リーダーが変更されます。これは、最大 51 GiB の大きなヒープメモリを割り当て、停止時間を優先する G1 ガベージコレクターの正常な動作です。システム障害を示すものではありません。