Descripción
Contiene la lista de tipos de disco admitidos por el servidor, junto con documentación integrada para cada tipo. Un tipo de disco se especifica en el type de una configuración de disco y determina dónde y cómo un disco almacena sus datos (sistema de archivos local, almacenamiento de objetos, una caché sobre otro disco, etc.).
Tenga en cuenta que esta tabla enumera los tipos de disco disponibles, mientras que system.disks enumera las instancias de disco configuradas en el servidor.
Columnas
name(String) — El nombre del tipo de disco, tal como se especifica en el campotypede una configuración de disco.description(String) — Una descripción general de la función del tipo de disco.syntax(String) — Cómo se especifica el tipo de disco en una configuración de disco.examples(String) — Ejemplos de uso.introduced_in(String) — La versión de ClickHouse en la que se introdujo por primera vez el tipo de disco, con el formato major.minor.related(Array(String)) — Los nombres de los tipos de disco relacionados.
Ejemplos de configuración
Un disco puede configurarse de dos maneras: estáticamente, en los archivos de configuración del servidor (XML o YAML), o dinámicamente, en la configuración de una consulta CREATE/ATTACH mediante la función disk. En ambos casos, se admiten el mismo tipo de disco y los mismos parámetros.
Configuración estática
Los discos se definen en storage_configuration, dentro de la configuración del servidor. El siguiente ejemplo define un disco s3 y una política de almacenamiento que lo utiliza.
<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>La misma configuración en 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_diskUna tabla puede usar entonces el disco mediante su política de almacenamiento:
CREATE TABLE test (a Int32, b String)
ENGINE = MergeTree() ORDER BY a
SETTINGS storage_policy = 's3_policy';Configuración dinámica
También se puede definir un disco directamente en la configuración de una consulta CREATE/ATTACH, sin necesidad de tener un disco predefinido en los archivos de configuración, mediante la función disk:
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
);Consulta Configuración del almacenamiento externo para obtener la lista completa de parámetros de cada tipo de disco.
Ejemplo
SELECT name, description
FROM system.disk_types
WHERE name IN ('local', 'object_storage')
ORDER BY nameVer también
system.disks— Las instancias de disco configuradas en el servidor.system.storage_policies— Políticas y volúmenes de almacenamiento.