データレイクハウス
StarRocks は、ローカルデータの効率的な分析に加えて、データレイクに保存されたデータを分析するためのコンピュートエンジンとしても機能します。Apache Hudi、Apache Iceberg、Delta Lake などのデータレイクに対応しています。StarRocks の主要な機能の一つは、その external catalog であり、外部で管理されているメタストアへのリンクとして機能します。この機能により、データ移行の必要なく外部データソースをシームレスにクエリすることが可能です。そのため、HDFS や Amazon S3 などの異なるシステムから、Parquet、ORC、CSV などのさまざまなファイル形式でデータを分析できます。
前述の図は、StarRocks がデータの計算と分析を担当し、データレイクがデータの保存、組織化、およびメンテナンスを担当するデータレイク分析のシナリオを示しています。データレイクは、ユーザーがオープンストレージ形式でデータを保存し、柔軟なスキーマを使用して、さまざまな BI、AI、アドホック、およびレポート用途の「単一の真実の源」に基づくレポートを作成することを可能にします。StarRocks は、そのベクトル化エンジンと CBO の利点を十分に活用し、データレイク分析のパフォーマンスを大幅に向上させます。
主要なアイデア
- オープンデータフォーマット: JSON、Parquet、Avro などの多様なデータタイプをサポートし、構造化データと非構造化データの両方の保存と処理を容易にします。
- メタデータ管理: Iceberg テーブルフォーマットのようなフォーマットを利用して、データを効率的に整理し管理する共有メタデータレイヤーを実装します。
- 多様なクエリエンジン: Presto や Spark の拡張バージョンなど、さまざまな分析や AI のユースケースに対応する複数のエンジンを組み込みます。
- ガバナンスとセキュリティ: データのセキュリティ、プライバシー、コンプライアンスを確保するための強力な組み込みメカニズムを備え、データの整合性と信頼性を保証します。
データレイクハウスアーキテクチャの利点
- 柔軟性とスケーラビリティ: 多様なデータタイプをシームレスに管理し、組織のニーズに応じてスケールします。
- コスト効率: 従来の方法と比較して、データの保存と処理の経済的な代替手段を提供します。
- データガバナンスの強化: データの制御、管理、整合性を改善し、信頼性のある安全なデータ処理を保証します。
- AI と分析の準備: 機械学習や AI 駆動のデータ処理を含む複雑な分析タスクに最適です。
StarRocks のアプローチ
考慮すべき重要な点は次のとおりです:
- catalog またはメタデータサービスとの統合の標準化
- コンピュートノードの弾力的なスケーラビリティ
- 柔軟なキャッシングメカニズム
Catalogs
StarRocks には内部と外部の 2 種類の catalog があります。内部 catalog は StarRocks データベース内に保存されたデータのメタデータを含みます。外部 catalog は、Hive、Iceberg、Delta Lake、Hudi によって管理されるデータを含む、外部に保存されたデータを扱うために使用されます。他にも多くの外部システムがあり、ページ下部の「詳細情報」セクションにリンクがあります。
コンピュートノード (CN) のスケーリング
ストレージとコンピュートの分離により、スケーリングの複雑さが軽減されます。StarRocks のコンピュートノードはローカルキャッシュのみを保存しているため、ロードに応じてノードを追加または削除できます。
Data cache
コンピュートノード上のキャッシュはオプションです。もしコンピュートノードが急速に変化するロードパターンに基づいて素早くスピンアップおよびダウンしている場合、またはクエリが頻繁に最新のデータのみに対して行われる場合、データをキャッシュする意味がないかもしれません。
🗃️ カタログ
14項目
🗃️ データキャッシュ
3項目
📄️ 外部テーブル
- v3.0以降、Hive、Iceberg、Hudiからデータをクエリするためにcatalogを使用することを推奨します。Hive catalog、Iceberg catalog、Hudi catalogを参照してください。
📄️ ファイル外部テーブル
ファイル外部テーブルは、外部テーブルの特別なタイプです。データをStarRocksにロードせずに、外部ストレージシステムにあるParquetやORCデータファイルを直接クエリすることができます。さらに、ファイル外部テーブルはメタストアに依存しません。現在のバージョンでは、StarRocksは以下の外部ストレージシステムをサポートしています: HDFS、Amazon S3、およびその他のS3互換ストレージシステム。
📄️ データレイク FAQ
このトピックでは、データレイクに関するよくある質問 (FAQ) とそれらの問題に対する解決策を説明します。このトピックで言及されているいくつかのメトリクスは、SQL クエリのプロファイルからのみ取得できます。SQL クエリのプロファイルを取得するには、set enable_profile=true を指定する必要があります。
📄️ Feature Support
v2.3以降、StarRocksは外部カタログを介して外部データソースの管理とデータレイク内のデータの分析をサポートしています。