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

カタログ、データベース、テーブル

StarRocks は内部カタログを使用して内部データを管理し、外部カタログを使用してデータレイク内の外部データにアクセスします。StarRocks に保存されたデータは、1 つ以上のデータベースで構成される内部カタログ内で管理されます。データベースは、データを保存、管理、および操作するために、テーブル、マテリアライズドビュー、ビューなどのさまざまなオブジェクトを管理します。StarRocks は、オブジェクトに対する操作を行うユーザーの権限を制御する権限システムを採用しており、データセキュリティを強化しています。

img

カタログ

カタログは、内部カタログと外部カタログに分類されます。各クラスターには、1 つ以上のデータベースを含むことができる唯一の内部カタログ default_catalog があります。StarRocks クラスターの内部カタログは、クラスターにロードされたデータとマテリアライズドビューを管理します。StarRocks はデータウェアハウスとしてデータを保存するのに適しており、特に大規模データの複雑なクエリアナリティクスにおいて、クエリパフォーマンスを大幅に向上させます。

一方、外部カタログは、データレイク内の外部データへのアクセスを可能にします。StarRocks をクエリエンジンとして使用し、データを StarRocks にロードせずにレイク内のデータを直接クエリできます。

データベース

データベースは、テーブル、ビュー、マテリアライズドビューなどのデータオブジェクトの集合であり、データを保存、管理、および操作します。

テーブル

テーブルは、内部テーブルと外部テーブルに分類されます。

内部テーブル

内部テーブルは内部カタログで管理されます。内部テーブルのデータは StarRocks に保存されます。内部テーブルは、内部カタログの下のデータベースで管理されます。内部テーブルは行と列で構成されており、各行はレコードを表し、各列はデータ行の属性またはフィールドを表します。

注記

ここでの内部テーブルの行と列は論理的な概念です。StarRocks はテーブルに列指向(カラムナ)ストレージを使用しています。物理的には、列内のデータはデータブロックに分割され、エンコードされ、圧縮され、ディスクに永続的に保存されます。

StarRocks は、Primary Key tables、Duplicate Key tables、Aggregate tables、Unique Key tables の 4 種類の内部テーブルを提供しており、生データ、リアルタイムデータ、集計データなど、さまざまなビジネスニーズに対応するデータを保存できます。

内部テーブルは、パーティショニング + バケッティングという 2 層のデータ分散戦略を採用しており、均等なデータ分散を実現します。さらに、各バケットのレプリカは BEs に均等に分散され、高いデータ可用性を保証します。

外部テーブル

外部テーブルは外部カタログで管理されます。外部テーブルのデータは実際には外部データソースに保存されています。StarRocks はこれらの外部テーブルのメタデータのみを保存し、外部データソースからデータをクエリするためにこれらのテーブルを使用できます。

マテリアライズドビュー

マテリアライズドビューは、1 つ以上のベーステーブルからの事前計算されたクエリ結果を保持する特別な物理テーブルです。マテリアライズドビューは、同期マテリアライズドビューと非同期マテリアライズドビューに分類されます。非同期マテリアライズドビューは、複数のベーステーブル(内部テーブルおよび外部テーブル)からの事前計算結果を保存でき、さまざまな集計演算子をサポートするため、より強力です。ベーステーブルで複雑なクエリが実行されると、StarRocks はマテリアライズドビューに保存された事前計算結果を自動的に再利用し、透明なクエリアクセラレーションを実現し、データレイクでのクエリを加速し、データモデリングを確立します。

ビュー

ビュー、または論理ビューは、データを保持しない仮想テーブルです。ビューは、他の既存の物理テーブルに対するクエリの結果としてのみデータを表示します。ビューを定義するクエリは、ビューがクエリで参照されるたびに実行されます。

権限

権限は、どのユーザーがどのオブジェクトに対してどの操作を実行できるかを決定します。StarRocks は、アイデンティティベースのアクセス制御とロールベースのアクセス制御の 2 種類の権限モデルを採用しています。最初に権限をロールに割り当て、次にロールをユーザーに割り当てることができます。この場合、権限はロールを通じてユーザーに渡されます。または、権限をユーザーのアイデンティティに直接割り当てることもできます。

ストレージとコンピュートの分離アーキテクチャにおけるデータストレージ

バージョン 3.0 以降、StarRocks は新しいストレージとコンピュートの分離(共有データ)アーキテクチャを導入しました。データストレージは BEs から分離されています。データはリモートのオブジェクトストレージまたは HDFS に永続的に保存され、ローカルディスクはホットデータのキャッシュに使用され、クエリを加速します。