説明
サーバーでサポートされているディスクタイプの一覧と、各タイプの埋め込みドキュメントが含まれています。ディスクタイプはディスク設定の type で指定し、ディスクがどこにどのようにデータを保存するか (ローカルファイルシステム、オブジェクトストレージ、別のディスク上の cache など) を決定します。
このテーブルには利用可能なディスクタイプが一覧表示されます。一方、system.disks にはサーバー上で設定されたディスクインスタンスが一覧表示されます。
カラム
name(String) — ディスク設定のtypeで指定するディスクタイプの名前。description(String) — そのディスクタイプの概要説明。syntax(String) — ディスク設定でそのディスクタイプを指定する方法。examples(String) — 使用例。introduced_in(String) — そのディスクタイプが最初に導入された ClickHouse のバージョン。形式は major.minor です。related(Array(String)) — 関連するディスクタイプの名前。
設定例
ディスクは 2 つの方法で設定できます。静的にはサーバー設定ファイル (XML または YAML) で、動的には disk 関数を使用した CREATE/ATTACH クエリの設定で行います。どちらの場合も、同じディスクタイプとパラメーターを使用できます。
静的設定
ディスクはサーバー設定の storage_configuration 配下で定義します。次の例では、s3 ディスクと、それを使用するストレージポリシーを定義しています。
<clickhouse>
<storage_configuration>
<disks>
<s3_disk>
<type>s3</type>
<endpoint>https://s3.eu-west-1.amazonaws.com/clickhouse-eu-west-1.clickhouse.com/data/</endpoint>
<use_environment_credentials>1</use_environment_credentials>
</s3_disk>
</disks>
<policies>
<s3_policy>
<volumes>
<main>
<disk>s3_disk</disk>
</main>
</volumes>
</s3_policy>
</policies>
</storage_configuration>
</clickhouse>同じ設定をYAMLで表すと、次のようになります:
storage_configuration:
disks:
s3_disk:
type: s3
endpoint: https://s3.eu-west-1.amazonaws.com/clickhouse-eu-west-1.clickhouse.com/data/
use_environment_credentials: 1
policies:
s3_policy:
volumes:
main:
disk: s3_diskこれで、テーブルはストレージポリシーを通じてこのディスクを使用できます:
CREATE TABLE test (a Int32, b String)
ENGINE = MergeTree() ORDER BY a
SETTINGS storage_policy = 's3_policy';動的設定
disk 関数を使うと、設定ファイルでディスクを事前に定義していなくても、CREATE/ATTACH クエリの設定内でディスクを直接定義できます。
CREATE TABLE test (a Int32, b String)
ENGINE = MergeTree() ORDER BY a
SETTINGS disk = disk(
type = s3,
endpoint = 'https://s3.eu-west-1.amazonaws.com/clickhouse-eu-west-1.clickhouse.com/data/',
use_environment_credentials = 1
);各ディスクタイプの全パラメータ一覧については、外部ストレージの設定を参照してください。
例
SELECT name, description
FROM system.disk_types
WHERE name IN ('local', 'object_storage')
ORDER BY name関連項目
system.disks— サーバーに設定されているディスクのインスタンス。system.storage_policies— ストレージポリシーとボリューム。