仮想キースペースおよびテーブルについて
仮想キースペースおよびテーブルの詳細を説明します。
CASSANDRA-7622では、仮想キースペースおよび仮想テーブルのサポートが導入されました。仮想テーブルは、サーバーによってローカル・テーブルとしてユーザーに公開されます。これは読み取り専用ですが、更新がサポートされている場合もあります。セカンダリ・インデックスまたはマテリアライズド・ビューはサポートされていません。仮想テーブルは仮想キースペースの一部です。system_virtual_schemaとsystem_viewsの2つの仮想キースペースを使用できます。仮想テーブルはディスク上の物理ファイルに関連付けられておらず、memtablesまたはSSTableがありません。メモリ内の構成やメトリクスなどのサーバー・データを公開することを目的としています。
system_virtual_schema keyspace
system_virtual_schemaには、既存の仮想キースペースおよびテーブルに関する情報が含まれています。また、指定されたデータ・オブジェクトの定義を公開する3つの仮想テーブルも含まれています。| カラム名 | CQL型 | カラム型 |
|---|---|---|
| keyspace_name | text | パーティション・キー |
| カラム名 | CQL型 | カラム型 |
|---|---|---|
| keyspace_name | text | パーティション・キー |
| table_name | text | クラスター化キー |
| comment | text | 通常 |
| カラム名 | CQL型 | カラム型 |
|---|---|---|
| keyspace_name | text | パーティション・キー |
| table_name | text | クラスター化キー |
| column_name | text | クラスター化キー |
| clustering_order | text | 通常 |
| column_name_bytes | BLOB | 通常 |
| position | int | 通常 |
| type | text | 通常 |
system_views keyspace
システム・ビューは、サーバー内部に関する情報を公開します。
sstable_tasksシステム・ビューは、ホストで現在実行中のSSTableタスクを公開します。| カラム名 | CQL型 | カラム型 |
|---|---|---|
| keyspace_name | text | パーティション・キー |
| table_name | text | クラスター化キー |
| task_id | uuid | クラスター化キー |
| kind | text | 通常 |
| progress | bigint | 通常 |
| total | bigint | 通常 |
| unit | text | 通常 |
ヒント:
SELECT句でtotal - progress AS remainingを使用することで、残りの作業量を計算できます。仮想テーブルとcqlsh
仮想テーブルはローカル・テーブルとして公開され、cqlshは現在接続されているホストのデータを表示します。仮想テーブルのスキーマを置き換える場合は、
DESCRIBE FULL SCHEMAを使用して、実際のキースペースと仮想キースペースの両方のスキーマを返します。注: ユーザーは、仮想キースペースまたは仮想テーブルを作成できません。
仮想テーブル
sstable_tasksのスキーマを表示するには、次を使用します。DESCRIBE TABLE system_views.sstable_tasks
/*
Warning: Table system_views.sstable_tasks is a virtual table and cannot be recreated with CQL.
Structure, for reference:
VIRTUAL TABLE system_views.sstable_tasks (
keyspace_name text,
table_name text,
task_id uuid,
kind text,
progress bigint,
total bigint,
unit text,
PRIMARY KEY (keyspace_name, table_name, task_id)
) WITH CLUSTERING ORDER BY (table_name ASC, task_id ASC)
AND comment = 'current sstable tasks';SSTableタスクの残り時間を確認するには、次のコマンドを使用します。SELECT total - progress AS remaining FROM system_views.sstable_tasks;
