すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:StarRocks

最終更新日:Jan 11, 2025

このトピックでは、StarRocks について紹介し、その機能と使用できるシナリオについて説明します。

StarRocks とは

  • StarRocks は、効率的かつ統合されたデータ分析をサポートする、新世代の高速超並列処理 (MPP) データベースです。

  • StarRocks は MySQL プロトコルと互換性があります。 MySQL クライアントまたは一般的なビジネスインテリジェンス (BI) ツールを使用して StarRocks にアクセスし、データ分析を行うことができます。

  • StarRocks は分散アーキテクチャを使用して、以下の機能を提供します。

    • テーブルを水平方向に分割し、複数のレプリカにデータを格納します。

    • 10 PB のデータ分析をサポートするために、柔軟な方法でクラスターをスケーリングします。

    • MPP アーキテクチャをサポートして、データ計算を高速化します。

    • 複数のレプリカをサポートして、フォールトトレランスを確保します。

説明

このトピックの一部の情報は、オープンソースの StarRocks の[What is StarRocks]からのものです。

機能

StarRocks チームは、MPP データベースと分散システムの設計思想を採用しています。 StarRocks には、以下の機能があります。

簡素化されたアーキテクチャ

  • StarRocks は、MPP コンピューティングフレームワークを使用して SQL ステートメントを実行します。 MPP コンピューティングフレームワークは、複数のノードの計算能力を活用して、クエリを同時に実行します。 これにより、インタラクティブ分析におけるユーザーエクスペリエンスが向上します。

  • StarRocks は、デプロイ、使用、および保守が容易です。 外部コンポーネントを使用せずに StarRocks クラスターを使用できます。 これにより、O&M コストを削減し、StarRocks システムの信頼性とスケーラビリティが向上します。 管理者は、外部システムを学習および管理する必要なく、StarRocks システムのみに集中できます。

ベクトル化エンジン

StarRocks は、計算レイヤーでベクトル化技術を採用し、すべての演算子、関数、スキャンおよびフィルタリングモジュール、インポートおよびエクスポートモジュールを体系的に最適化します。 StarRocks は、列指向メモリレイアウトや CPU の単一命令複数データ (SIMD) などの方法を使用して、CPU の並列計算能力を最大限に活用します。 これにより、サブ秒の速度でデータの多次元分析を実行できます。

インテリジェントなクエリ最適化

StarRocks は、コストベースオプティマイザ (CBO) を使用して、複雑なクエリを自動的に最適化します。 CBO は統計情報を使用して実行コストを推定し、手動操作なしで実行計画を生成します。 これにより、アドホッククエリおよび抽出、変換、ロード (ETL) シナリオにおけるデータ分析の効率が大幅に向上します。

フェデレーテッドクエリ

StarRocks は、外部テーブルを使用してフェデレーテッドクエリをサポートしています。 Hive、MySQL、Elasticsearch、Iceberg、および Hudi の外部テーブルがサポートされています。 データをインポートせずにデータをクエリできます。 これにより、データクエリが高速化されます。

効率的な更新

StarRocks は、詳細クエリ、データ集計、主キー、およびデータ更新のモデルを提供します。 主キーのモデルは、主キーに基づいて UPSERT 操作または DELETE 操作を実行するのに役立ちます。 StarRocks はストレージとインデックスを最適化し、同時更新中のクエリが効率的であり、リアルタイムデータウェアハウスの要件を満たせるようにします。

インテリジェントなマテリアライズドビュー

  • StarRocks は、インテリジェントなマテリアライズドビューをサポートしています。 マテリアライズドビューを作成し、事前計算を実行して事前集計テーブルを生成できます。 これにより、集計クエリ要求を高速化できます。

  • データがインポートされると、データは自動的にマテリアライズドビューに集計されます。 したがって、マテリアライズドビューにはソーステーブルと同じデータが含まれます。

  • データをクエリするときに、マテリアライズドビューを指定する必要はありません。 StarRocks は最適なマテリアライズドビューを選択します。 これにより、クエリが高速化されます。

標準 SQL 構文

  • StarRocks は、集計、JOIN 操作、データソート、ウィンドウ関数、カスタム関数に関する構文を含む、標準 SQL 構文をサポートしています。

  • StarRocks は、TPC-H の 22 の SQL ステートメントと TPC-DS の 99 の SQL ステートメントもサポートしています。

  • StarRocks は MySQL プロトコルと互換性があります。さまざまなクライアントと BI ツールを使用して StarRocks にアクセスし、ドラッグアンドドロップで StarRocks のデータを分析できます。

バッチコンピューティングとストリームコンピューティングの統合

  • StarRocks は、リアルタイムまたはバッチでのデータインポートをサポートしています。

  • Kafka データソース、Hadoop 分散ファイルシステム (HDFS) データソース、およびローカルファイルからデータをインポートできます。

  • インポートするデータは、ORC、Parquet、CSV などの形式にすることができます。

  • StarRocks では、データの消費時に Kafka データソースからデータをリアルタイムでインポートできます。 データが重複したり失われたりすることはありません。

  • StarRocks では、HDFS を使用してローカルまたはリモートデータをバッチでインポートできます。

高可用性とスケーラビリティ

  • StarRocks は、メタデータとデータを複数のレプリカに格納し、複数のインスタンスでホットバックアップを提供します。 これにより、単一障害点 (SPOF) が防止されます。

  • StarRocks には、弾力的な自動リカバリ機能があります。 これにより、ノード障害、切断、および例外が発生した場合の StarRocks クラスターの安定性が確保されます。

  • StarRocks は分散アーキテクチャを使用して、ストレージ容量と計算能力を水平方向に改善します。 各 StarRocks クラスターには数百のノードを含めることができ、10 PB のデータの管理をサポートします。

  • スケーリング中はサービスは中断されません。 通常どおりデータをクエリできます。

  • StarRocks は、テーブルスキーマのホットチェンジをサポートしています。 SQL ステートメントを実行して、テーブルスキーマを動的に変更できます。 たとえば、列を追加または削除したり、マテリアライズドビューを作成したりできます。 スキーマが変更されているテーブルは、通常どおりインポートまたはクエリできます。

シナリオ

StarRocks は、以下のシナリオで企業ユーザーの多様なデータ分析要件を満たすことができます。

  • OLAP 多次元分析

    • ユーザー行動分析

    • ユーザペルソナ分析、タグ分析、ターゲットユーザーの識別

    • 高次元ビジネスメトリックレポート

    • セルフサービスレポートプラットフォーム

    • ビジネス上の問題の識別と分析

    • クロステーマビジネス分析

    • 財務報告

    • システム監視分析

  • リアルタイムデータウェアハウス

    • e コマースプロモーション活動のデータ分析

    • 教育業界におけるライブストリーミングの結果分析

    • 物流における運送状分析

    • 金融業界におけるパフォーマンス分析とメトリック計算

    • 広告分析

    • コックピット管理

    • アプリケーションパフォーマンス管理 (APM)

  • 高並列クエリ

    • 広告主のレポート分析

    • 小売業における販売チャネル関連担当者の分析

    • サービスとしてのソフトウェア (SaaS) 業界におけるクライアントベースのレポート

    • ダッシュボードでの複数ページ分析

  • 統合分析

    一部のシナリオでは、多次元分析、高並列クエリ、事前計算、リアルタイム分析、アドホッククエリなどのさまざまな機能を提供するために、オールインワンシステムが必要です。 システムは、アーキテクチャの複雑さ、テクノロジスタックの要件、開発と O&M のコストを削減することが期待されています。