Kudu は、急速に変化するデータに高速な分析を提供する、分散型でスケーラブルなカラムナストレージマネージャーです。
シナリオ
Kudu は、一般的に以下のシナリオで使用されます。
-
ニアリアルタイムコンピューティング
-
時系列シナリオ
-
予測モデリング
-
履歴データとの共存
本番環境には、HDFS、RDBMS、または Kudu に保存された大量の履歴データが含まれていることがよくあります。 Impala を使用すると、このデータを Kudu に移行することなく、アクセスしてクエリを実行できます。
コンポーネント
Kudu には、2 種類のコンポーネントがあります:
-
マスターサーバー: タブレットサーバーとタブレットに関するメタデータを管理します。 マスターサーバーは、Raft プロトコルを使用してマスターサービスの高可用性を実現します。
-
タブレットサーバー: タブレットを格納します。 各タブレットには複数のレプリカがあります。 Raft プロトコルは、レプリカ間のデータ一貫性を保証します。
用語
|
名前 |
説明 |
|
マスターサービス |
クラスター全体のメタデータを管理します。これには、タブレットサーバー、テーブル、およびタブレットに関する情報が含まれます。 |
|
TServer サービス |
タブレットを格納し、クライアントに提供します。 リーダーであるタブレットのみが書き込みリクエストを処理でき、他のタブレットは読み取りリクエストのみを処理できます。 |
|
カラムナストレージ |
同じ列のデータが基盤となるストレージの隣接した場所に格納されるデータストレージ構造です。 |
|
テーブル |
Kudu でデータが格納される場所です。 テーブルにはスキーマとグローバルに順序付けられたプライマリキーがあり、複数のタブレットにパーティション化できます。 |
|
タブレット |
テーブルの連続したセグメントです。 1 つのテーブルを複数のタブレットにパーティション化できます。 各タブレットは複数のタブレットサーバーにレプリケートされ、1 つのレプリカがリーダーとして指定されます。 どのレプリカでも読み取りリクエストを処理できます。 |
|
Raft |
Kudu マスターサービスの高可用性と、タブレットレプリカ間のデータ一貫性を保証するコンセンサスプロトコルです。 |
|
カタログテーブル |
Kudu のメタデータの中心的な場所です。 テーブルとタブレットに関する情報が格納されます。 |