仮想キースペースおよびテーブルについて
仮想キースペースおよびテーブルの詳細を説明します。
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;