Descrição
Contém a lista dos tipos de disco suportados pelo servidor, juntamente com a documentação embutida de cada tipo. Um tipo de disco é especificado no campo type da configuração de um disco e determina onde e como ele armazena seus dados (sistema de arquivos local, armazenamento de objetos, cache sobre outro disco e assim por diante).
Observe que esta tabela lista os tipos de disco disponíveis, enquanto system.disks lista as instâncias de disco configuradas no servidor.
Colunas
name(String) — O nome do tipo de disco, conforme especificado notypede uma configuração de disco.description(String) — Uma descrição geral do que o tipo de disco faz.syntax(String) — Como o tipo de disco é especificado em uma configuração de disco.examples(String) — Exemplos de uso.introduced_in(String) — A versão do ClickHouse em que o tipo de disco foi introduzido, no formato major.minor.related(Array(String)) — Os nomes dos tipos de disco relacionados.
Exemplos de configuração
Um disco pode ser configurado de duas formas: estaticamente, nos arquivos de configuração do servidor (XML ou YAML), ou dinamicamente, nas configurações de uma consulta CREATE/ATTACH, usando a função disk. O mesmo tipo de disco e os mesmos parâmetros são aceitos em ambos os casos.
Configuração estática
Os discos são definidos em storage_configuration, na configuração do servidor. O exemplo a seguir define um disco s3 e uma política de armazenamento que o 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>A mesma configuração em 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_diskUma tabela pode então usar o disco por meio da sua política de armazenamento:
CREATE TABLE test (a Int32, b String)
ENGINE = MergeTree() ORDER BY a
SETTINGS storage_policy = 's3_policy';Configuração dinâmica
Um disco também pode ser definido diretamente nas configurações de uma consulta CREATE/ATTACH, sem que haja um disco predefinido nos arquivos de configuração, usando a função 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
);Consulte Configuração do armazenamento externo para ver a lista completa de parâmetros de cada tipo de disco.
Exemplo
SELECT name, description
FROM system.disk_types
WHERE name IN ('local', 'object_storage')
ORDER BY nameVeja também
system.disks— Os discos configurados no servidor.system.storage_policies— Políticas de armazenamento e volumes.