A maneira mais rápida e fácil de começar a usar o ClickHouse é criar um novo serviço no ClickHouse Cloud. Neste guia de início rápido, vamos ajudar você a configurar tudo em três etapas simples.
Crie um serviço ClickHouse
Para criar um serviço ClickHouse gratuito no ClickHouse Cloud, basta se cadastrar seguindo estas etapas:
- Crie uma conta na página de cadastro
- Você pode se cadastrar usando seu e-mail ou por SSO do Google, SSO da Microsoft, AWS Marketplace, Google Cloud ou Microsoft Azure
- Se você se cadastrar com e-mail e senha, lembre-se de verificar seu endereço de e-mail nas próximas 24 h usando o link recebido por e-mail
- Faça login com o nome de usuário e a senha que você acabou de criar

Após fazer login, o ClickHouse Cloud inicia o assistente de onboarding, que orienta você na criação de um novo serviço ClickHouse. Selecione a região em que deseja implantar o serviço e dê um nome a ele:

Por padrão, novas organizações são incluídas no plano Scale e criam 3 réplicas, cada uma com 4 vCPUs e 16 GiB de RAM. O escalonamento vertical automático é habilitado por padrão no plano Scale. Você poderá alterar o plano da sua organização posteriormente na página 'Planos'.
Se necessário, personalize os recursos do serviço definindo tamanhos mínimo e máximo para o escalonamento das réplicas. Quando estiver tudo pronto, selecione Create service.

Parabéns! Seu serviço ClickHouse Cloud está em execução, e o onboarding foi concluído. Continue lendo para saber como começar a ingerir e consultar seus dados.
Conectar ao ClickHouse
Há duas maneiras de se conectar ao ClickHouse:
- Conecte-se usando nosso console SQL na web
- Conecte-se pelo seu app
Conectar usando o console SQL
Para começar rapidamente, o ClickHouse oferece um console SQL na web, para o qual você será redirecionado ao concluir o onboarding.

Crie uma aba de consulta e insira uma consulta simples para verificar se a conexão está funcionando:
SHOW databasesVocê deverá ver quatro bancos de dados na lista, além daqueles que tiver adicionado.

Pronto! Agora você pode começar a usar seu novo serviço do ClickHouse.
Conecte-se ao seu aplicativo
Clique no botão Connect no menu de navegação. Uma janela modal será aberta, exibindo as credenciais do seu serviço e instruções para se conectar usando sua interface ou cliente por linguagem.

Se o cliente da sua linguagem não estiver listado, consulte nossa lista de Integrações.
Adicionar dados
O ClickHouse é ainda melhor com dados! Há várias maneiras de adicionar dados, e a maioria delas está disponível na página Data Sources, acessível pelo menu de navegação.

Você pode fazer upload de dados pelos seguintes métodos:
- Configure um ClickPipe para iniciar a ingestão de dados de fontes como S3, Postgres, Kafka e GCS
- Use o Console SQL
- Use o cliente ClickHouse
- Faça upload de um arquivo - os formatos aceitos incluem JSON, CSV e TSV
- Faça upload de dados a partir do URL do arquivo
ClickPipes
ClickPipes é uma plataforma de integração gerenciada que torna a ingestão de dados de diversas fontes tão simples quanto clicar em alguns botões. Projetada para as cargas de trabalho mais exigentes, a arquitetura robusta e escalável do ClickPipes garante desempenho e confiabilidade consistentes. O ClickPipes pode ser usado tanto para necessidades de streaming de longo prazo quanto para um trabalho pontual de carregamento de dados.

Adicionar dados pelo SQL Console
Como a maioria dos sistemas de gerenciamento de banco de dados, o ClickHouse agrupa logicamente as tabelas em bancos de dados. Use o comando CREATE DATABASE para criar um novo banco de dados no ClickHouse:
CREATE DATABASE IF NOT EXISTS helloworldExecute o comando a seguir para criar uma tabela chamada my_first_table no banco de dados helloworld:
CREATE TABLE helloworld.my_first_table
(
user_id UInt32,
message String,
timestamp DateTime,
metric Float32
)
ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp)No exemplo acima, my_first_table é uma tabela MergeTree com quatro colunas:
user_id: um inteiro sem sinal de 32 bits (UInt32)message: um tipo de dado String, que substitui tipos comoVARCHAR,BLOB,CLOBe outros de outros sistemas de banco de dadostimestamp: um valor DateTime, que representa um instante no tempometric: um número de ponto flutuante de 32 bits (Float32)
Uma breve introdução às chaves primárias
Antes de prosseguir, é importante entender como as chaves primárias funcionam no ClickHouse (a implementação das chaves primárias pode parecer inesperada!):
- as chaves primárias no ClickHouse não são exclusivas para cada linha de uma tabela
A primary key de uma tabela ClickHouse determina como os dados são ordenados ao serem gravados em disco. A cada 8.192 linhas ou 10MB de
dados (o que se chama de index granularity), é criada uma entrada no arquivo de índice da primary key. Esse conceito de granularidade
gera um índice esparso que cabe facilmente em memória, e os grânulos representam um stripe da menor quantidade de
dados de coluna processada durante as queries SELECT.
A chave primária pode ser definida por meio do parâmetro PRIMARY KEY. Se você definir uma tabela sem especificar PRIMARY KEY,
a chave passa a ser a tupla especificada na cláusula ORDER BY. Se você especificar tanto PRIMARY KEY quanto ORDER BY, a chave primária deve ser um subconjunto da ordenação.
A chave primária também é a chave de ordenação, que é uma tupla (user_id, timestamp). Portanto, os dados armazenados em cada
arquivo de coluna serão ordenados por user_id e, em seguida, por timestamp.
Para se aprofundar nos conceitos fundamentais do ClickHouse, consulte "Conceitos fundamentais".
Insira dados na sua tabela
Você pode usar o já conhecido comando INSERT INTO TABLE no ClickHouse, mas é importante entender que cada inserção em uma tabela MergeTree cria um part no armazenamento.
Mesmo em um exemplo simples, vamos inserir mais de uma linha por vez:
INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
(101, 'Hello, ClickHouse!', now(), -1.0 ),
(102, 'Insert a lot of rows per batch', yesterday(), 1.41421 ),
(102, 'Sort your data based on your commonly-used queries', today(), 2.718 ),
(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159 )Vamos verificar se funcionou:
SELECT * FROM helloworld.my_first_tableAdicionar dados usando o ClickHouse Client
Você também pode se conectar ao seu serviço ClickHouse Cloud usando uma ferramenta de linha de comando chamada clickhouse client. Clique em Connect no menu à esquerda para acessar esses detalhes. Na caixa de diálogo, selecione Native na lista suspensa:

-
Instale o ClickHouse.
-
Execute o comando, substituindo
hostname, nome de usuário e senha:
./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
--secure --port 9440 \
--user default \
--password <password>Se aparecer o prompt com a carinha sorridente, você já pode executar queries!
:)- Teste executando a seguinte consulta:
SELECT *
FROM helloworld.my_first_table
ORDER BY timestampObserve que a resposta é retornada em um formato de tabela bem organizado:
┌─user_id─┬─message────────────────────────────────────────────┬───────────timestamp─┬──metric─┐
│ 102 │ Insert a lot of rows per batch │ 2022-03-21 00:00:00 │ 1.41421 │
│ 102 │ Sort your data based on your commonly-used queries │ 2022-03-22 00:00:00 │ 2.718 │
│ 101 │ Hello, ClickHouse! │ 2022-03-22 14:04:09 │ -1 │
│ 101 │ Granules are the smallest chunks of data read │ 2022-03-22 14:04:14 │ 3.14159 │
└─────────┴────────────────────────────────────────────────────┴─────────────────────┴─────────┘
4 rows in set. Elapsed: 0.008 sec.- Adicione uma cláusula
FORMATpara especificar um dos vários formatos de saída compatíveis do ClickHouse:
SELECT *
FROM helloworld.my_first_table
ORDER BY timestamp
FORMAT TabSeparatedNa consulta acima, a saída é retornada com os campos separados por tabulação:
Query id: 3604df1c-acfd-4117-9c56-f86c69721121
102 Insert a lot of rows per batch 2022-03-21 00:00:00 1.41421
102 Sort your data based on your commonly-used queries 2022-03-22 00:00:00 2.718
101 Hello, ClickHouse! 2022-03-22 14:04:09 -1
101 Granules are the smallest chunks of data read 2022-03-22 14:04:14 3.14159
4 rows in set. Elapsed: 0.005 sec.- Para sair do
clickhouse client, digite o comando exit:
exitFazer upload de um arquivo
Uma tarefa comum ao começar a usar um banco de dados é inserir dados que você já tem em arquivos. Disponibilizamos online alguns dados de exemplo que você pode inserir e que representam dados de clickstream — eles incluem um ID de usuário, uma URL visitada e o timestamp do evento.
Suponha que tenhamos o seguinte texto em um arquivo CSV chamado data.csv:
102,This is data in a file,2022-02-22 10:43:28,123.45
101,It is comma-separated,2022-02-23 00:00:00,456.78
103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90- O comando a seguir insere os dados na tabela
my_first_table:
./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
--secure --port 9440 \
--user default \
--password <password> \
--query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csv- Observe que as novas linhas agora aparecem na tabela ao consultar no SQL Console:

O que vem a seguir?
- O tutorial orienta você a inserir 2 milhões de linhas em uma tabela e executar algumas consultas analíticas
- Temos uma lista de conjuntos de dados de exemplo com instruções sobre como inseri-los
- Confira nosso vídeo de 12 minutos sobre Getting Started with ClickHouse
- Se seus dados vierem de uma fonte externa, consulte nossa coleção de guias de integração para se conectar a filas de mensagens, bancos de dados, pipelines e muito mais
- Se você estiver usando uma ferramenta de visualização UI/BI, consulte os guias do usuário para conectar uma UI ao ClickHouse
- O guia do usuário sobre primary keys reúne tudo o que você precisa saber sobre primary keys e como defini-las
Você pode seguir esse caminho por conta própria, transformá-lo em um script ou delegá-lo a um agente de IA. Para a versão no console, mude para a visualização da UI do Cloud.
Esta página aborda o provisionamento de um serviço do ClickHouse Cloud, a conexão a ele e o carregamento de dados, tudo pela linha de comando com a CLI do ClickHouse (clickhousectl). Os comandos são não interativos; o clickhousectl gera JSON com --json.
Pré-requisitos
Instale a CLI do ClickHouse:
curl https://clickhouse.com/cli | shVocê também precisa do jq.
Você precisa de uma conta do ClickHouse Cloud. Se ainda não tiver uma, clickhousectl cloud auth signup abre a página de cadastro no navegador.
Operações de gravação (criação, exclusão) exigem autenticação por chave de API; o login via OAuth é somente leitura:
clickhousectl cloud auth login --api-key <YOUR_KEY> --api-secret <YOUR_SECRET>Como alternativa, defina as variáveis de ambiente CLICKHOUSE_CLOUD_API_KEY e CLICKHOUSE_CLOUD_API_SECRET. Verifique usando clickhousectl cloud auth status; deve haver uma entrada com o escopo read/write.
Crie um serviço do ClickHouse
Crie o serviço e salve a resposta; a senha do usuário default é exibida apenas uma vez:
clickhousectl cloud service create \
--name quickstart-ch \
--region us-east-1 \
--json > ch.jsonA resposta inclui o ID do serviço, os endpoints e a senha gerada (truncada aqui; a resposta completa também contém as configurações de scaling, a lista de acesso por IP e as tags):
{
"password": "dK7mPq2x_-TzrL9vNw0s",
"service": {
"id": "4f7b92f3-4163-403a-b538-b9bc6e2e8f66",
"name": "quickstart-ch",
"provider": "aws",
"region": "us-east-1",
"state": "provisioning",
"endpoints": [
{
"host": "quickstart-abc123.us-east-1.aws.clickhouse.cloud",
"port": 9440,
"protocol": "nativesecure"
},
{
"host": "quickstart-abc123.us-east-1.aws.clickhouse.cloud",
"port": 8443,
"protocol": "https"
}
],
"numReplicas": 3,
"minReplicaMemoryGb": 16.0,
"maxReplicaMemoryGb": 120.0
}
}Extraia o que será necessário para o restante deste guia:
CH_ID=$(jq -r .service.id ch.json)
CH_PASSWORD=$(jq -r .password ch.json)
CH_HOST=$(jq -r '.service.endpoints[] | select(.protocol=="nativesecure") | .host' ch.json)Se perder a senha, gere uma nova com clickhousectl cloud service reset-password "$CH_ID".
Por padrão, os serviços criados com clickhousectl têm uma lista de acesso por IP que permite todos os endereços (0.0.0.0/0). Para restringir o acesso, informe --ip-allow ao criar o serviço; consulte "Configurar filtros de IP".
Aguarde o provisionamento do serviço
O provisionamento leva cerca de um minuto. Consulte o status até que o estado seja running:
while [ "$(clickhousectl cloud service get "$CH_ID" --json | jq -r .state)" != "running" ]; do
sleep 15
doneExecute SQL com a Query API
clickhousectl cloud service query executa SQL por HTTP — não requer um binário clickhouse local nem a senha do serviço. A primeira chamada provisiona automaticamente um endpoint da Query API e uma chave de API com escopo de serviço:
clickhousectl cloud service query --id "$CH_ID" --query "SHOW databases"Provisioning Query API endpoint + key for service 'quickstart-ch'...
{"name":"INFORMATION_SCHEMA"}
{"name":"default"}
{"name":"information_schema"}
{"name":"system"}A saída via pipe usa JSONEachRow por padrão; para obter uma saída em formato de tabela, passe --format PrettyCompact.
Crie um banco de dados e uma tabela
clickhousectl cloud service query --id "$CH_ID" \
--query "CREATE DATABASE IF NOT EXISTS helloworld"
clickhousectl cloud service query --id "$CH_ID" \
--query "CREATE TABLE helloworld.my_first_table (
user_id UInt32,
message String,
timestamp DateTime,
metric Float32
) ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp)"Ambos os comandos exibem OK. Insira algumas linhas:
clickhousectl cloud service query --id "$CH_ID" \
--query "INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
(101, 'Hello, ClickHouse!', now(), -1.0),
(102, 'Insert a lot of rows per batch', yesterday(), 1.41421),
(102, 'Sort your data based on your commonly-used queries', today(), 2.718),
(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159)"Verifique se funcionou:
clickhousectl cloud service query --id "$CH_ID" \
--query "SELECT * FROM helloworld.my_first_table ORDER BY timestamp"{"user_id":102,"message":"Insert a lot of rows per batch","timestamp":"2026-08-26 00:00:00","metric":1.41421}
{"user_id":102,"message":"Sort your data based on your commonly-used queries","timestamp":"2026-08-27 00:00:00","metric":2.718}
{"user_id":101,"message":"Hello, ClickHouse!","timestamp":"2026-08-27 10:41:28","metric":-1}
{"user_id":101,"message":"Granules are the smallest chunks of data read","timestamp":"2026-08-27 10:41:33","metric":3.14159}Os timestamps dependem de quando você executou o insert, portanto serão diferentes.
Carregue um arquivo CSV
Suponha que o seguinte texto esteja em um arquivo CSV chamado data.csv:
102,This is data in a file,2022-02-22 10:43:28,123.45
101,It is comma-separated,2022-02-23 00:00:00,456.78
103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90INSERT ... FORMAT lê os dados da stdin, portanto encadeie a consulta e o arquivo:
printf 'INSERT INTO helloworld.my_first_table FORMAT CSV\n' | cat - data.csv \
| clickhousectl cloud service query --id "$CH_ID"Verifique se as novas linhas foram carregadas:
clickhousectl cloud service query --id "$CH_ID" \
--query "SELECT count() FROM helloworld.my_first_table"{"count()":7}Conecte-se usando o clickhouse client
Você também pode se conectar pelo protocolo nativo usando o clickhouse client. A ClickHouse CLI gerencia o binário clickhouse para você, portanto não é necessário instalar um cliente separadamente:
clickhousectl local use latestIsso instala o binário clickhouse mais recente e cria um link simbólico em ~/.local/bin/clickhouse, para que o comando clickhouse possa ser usado globalmente no seu PATH.
Em seguida, conecte-se usando o hostname e a senha da resposta de criação. Com --query, o resultado é exibido e o cliente é encerrado; sem essa opção, você entra no prompt interativo (:)), do qual sai com exit:
clickhouse client --host "$CH_HOST" --secure --port 9440 \
--user default --password "$CH_PASSWORD" \
--query "SELECT * FROM helloworld.my_first_table ORDER BY timestamp FORMAT TabSeparated"102 Insert a lot of rows per batch 2026-08-26 00:00:00 1.41421
102 Sort your data based on your commonly-used queries 2026-08-27 00:00:00 2.718
101 Hello, ClickHouse! 2026-08-27 10:41:28 -1
101 Granules are the smallest chunks of data read 2026-08-27 10:41:33 3.14159
103 Use FORMAT to specify the format 2022-02-21 10:43:30 678.9
102 This is data in a file 2022-02-22 10:43:28 123.45
101 It is comma-separated 2022-02-23 00:00:00 456.78O mesmo formato de comando faz upload de arquivos:
clickhouse client --host "$CH_HOST" --secure --port 9440 \
--user default --password "$CH_PASSWORD" \
--query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csvLimpeza
A exclusão de um serviço remove permanentemente todos os seus dados. --force primeiro interrompe um serviço em execução:
clickhousectl cloud service delete "$CH_ID" --forcePara manter os dados sem continuar pagando por recursos computacionais, interrompa o serviço com clickhousectl cloud service stop "$CH_ID".