Visão geral
MergeTree por meio da S3BackedMergeTree. Esse mecanismo de tabela permite aproveitar a escalabilidade e os benefícios de custo do S3, mantendo o desempenho de inserção e consulta da engine MergeTree.
Observe que implementar e gerenciar uma arquitetura com separação entre armazenamento e computação é mais complexo do que em implantações padrão do ClickHouse. Embora o ClickHouse autogerenciado permita a separação entre armazenamento e computação, como discutido neste guia, recomendamos o uso do ClickHouse Cloud, que permite usar o ClickHouse nessa arquitetura sem necessidade de configuração, por meio da mecanismo de tabela SharedMergeTree.
Este guia pressupõe que você esteja usando o ClickHouse versão 22.8 ou superior.
1
Use o S3 como disco do ClickHouse
Criando um disco
Crie um novo arquivo no diretórioconfig.d do ClickHouse para armazenar a configuração de storage:BUCKET, ACCESS_KEY_ID, SECRET_ACCESS_KEY pelas informações do bucket da AWS no qual você deseja armazenar seus dados:region ou enviar um header HTTP personalizado, você pode encontrar a lista de configurações relevantes aqui.Você também pode substituir access_key_id e secret_access_key pelo seguinte, que tentará obter credenciais das variáveis de ambiente e dos metadados do Amazon EC2:2
Criar uma tabela armazenada no S3
Para testar se o disco S3 foi configurado corretamente, podemos tentar criar e consultar uma tabela.Crie uma tabela especificando a nova política de armazenamento S3:Observe que não foi necessário especificar o engine como O resultado deverá ser o seguinte:Agora, vamos inserir algumas linhas na nossa nova tabela:Vamos verificar se as linhas foram inseridas:No console da AWS, se seus dados foram inseridos com sucesso no S3, você deverá ver que o ClickHouse criou novos arquivos no bucket especificado.Se tudo funcionou como esperado, agora você está usando o ClickHouse com storage e compute separados!
S3BackedMergeTree. O ClickHouse converte automaticamente o tipo de engine internamente se detectar que a tabela está usando S3 para armazenamento.Mostre que a tabela foi criada com a política correta:3
Implementação de replicação para tolerância a falhas (opcional)
Para tolerância a falhas, você pode usar vários nós do servidor ClickHouse distribuídos por várias regiões da AWS, com um bucket do S3 para cada nó.A replicação com disks S3 pode ser realizada usando o table engine
ReplicatedMergeTree. Consulte o guia a seguir para obter detalhes: