Database
 sql >> Base de Dados >  >> RDS >> Database

Como instalar e configurar o ClickHouse no Ubuntu 20.04

O que é ClickHouse?


ClickHouse é um DBMS orientado a colunas de código aberto (ou sistema de gerenciamento de banco de dados) usado principalmente para OLAP (ou o processamento analítico online de consultas). Ele é capaz de gerar rapidamente dados analíticos e relatórios em tempo real utilizando consultas SQL. É tolerante a falhas, escalável, altamente confiável e contém um conjunto de ferramentas rico em recursos.

Em um banco de dados regular, os dados são armazenados em tabelas, colunas e linhas. Em uma tabela, os valores relacionados são fisicamente armazenados lado a lado em uma linha, o que é fundamental para o funcionamento. É assim que a maioria dos bancos de dados do tipo string funciona.

Alguns exemplos dessa forma de banco de dados são:
  • MySQL
  • Postgre
  • SQLite

Os dados são armazenados como mostrado abaixo em um banco de dados colunar:

Parece semelhante, mas as diferenças são as seguintes:valores de colunas diferentes são armazenados separadamente, enquanto os dados de uma coluna são armazenados juntos. Exemplos de tabelas orientadas a colunas:
  • Vertical
  • InfiniDB
  • Google Dremel

Tais SGBDs armazenam registros em blocos, agrupados por colunas ao invés de linhas. Ao não carregar dados para as colunas, eles gastam menos tempo lendo os dados ao executar consultas, permitindo que os DBMSs calculem dados e retornem resultados muito mais rápido do que bancos de dados agrupados em blocos. Normalmente, os bancos de dados orientados a colunas são mais bem aplicados em cenários OLAP, onde geralmente são 100 vezes mais rápidos no processamento da maioria das consultas em comparação com bancos de dados do tipo string.

Como podemos ver nas ilustrações acima, o OLAP nos permite organizar grandes quantidades de dados e realizar consultas complexas em várias ordens de magnitude mais rapidamente do que um banco de dados típico. Portanto, é extremamente útil para trabalhar com grandes quantidades de entrada ao analisar dados e ou análise de negócios é necessária.

Uso de SQL


ClickHouse usa um dialeto de SQL, que é semelhante à linguagem de consulta estruturada padrão, mas contém extensões adicionais:vários arrays, funções de ordem superior, estruturas aninhadas, funções para trabalhar com URLs e a capacidade de trabalhar com um dicionário externo, etc.

Enquanto ganhamos velocidade e processamento de big data, também perdemos outros aspectos, incluindo as seguintes opções:
  • Falta de transações.
  • Tipos de dados fortes com necessidade de conversão explícita.
  • Deve armazenar dados intermediários na RAM para algumas operações.
  • Falta de um otimizador de consulta completo.
  • Leitura de pontos de dados em um banco de dados.

Apesar disso, a ClickHouse demonstra alto desempenho e vence seus muitos concorrentes. O ClickHouse foi desenvolvido para resolver problemas de análise da web para o Yandex.Metrica, o terceiro sistema de análise da web mais popular do mundo. Também é usado pela Cloudflare para processar estatísticas de sites para seus usuários.

Pré-requisitos


Para instalar, precisamos:
  • Um servidor de 2 núcleos usando no mínimo 2 GB de RAM
  • Um sistema operacional Ubuntu 20.04 LTS
  • Acesso à conta de usuário root (como todas as ações executadas como root).
Observação:se os comandos forem executados como um usuário comum, o comando sudo deverá ser incluído em todos os comandos.

Instalação do ClickHouse no Ubuntu 20.04


Antes de instalar, atualizaremos o sistema e os pacotes no servidor.
root@host:~# apt update && apt -y upgrade
Hit:1 http://by.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://by.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://by.archive.ubuntu.com/ubuntu focal-backports InRelease
Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [109 kB]      
Hit:5 https://download.docker.com/linux/ubuntu focal InRelease                 
Hit:6 https://debian.neo4j.com stable InRelease                                
Fetched 109 kB in 0s (231 kB/s)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@host:~# 

O Yandex mantém um repositório com a versão mais recente do ClickHouse, então precisamos adicioná-lo. Além disso, adicione uma chave GPG para verificar o repositório e instalar o ClickHouse e atualizações futuras com segurança.
root@host:~#  apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
Executing: /tmp/apt-key-gpghome.5KK4WZQb0R/gpg.1.sh --keyserver keyserver.ubuntu.com --recv E0C56BD4
gpg: key C8F1E19FE0C56BD4: public key "ClickHouse Repository Key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
root@host:~# 

Adicione o repositório à lista de repositórios APK.
root@host:~# echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" |  tee /etc/apt/sources.list.d/clickhouse.list
deb http://repo.yandex.ru/clickhouse/deb/stable/ main/
root@host:~# 

Em seguida, atualizamos nossos pacotes de servidor.
root@host:~#  apt update
Hit:1 http://by.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://by.archive.ubuntu.com/ubuntu focal-updates InRelease              
Hit:3 http://by.archive.ubuntu.com/ubuntu focal-backports InRelease            
Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [109 kB]      
Ign:5 http://repo.yandex.ru/clickhouse/deb/stable main/ InRelease              
Get:6 http://repo.yandex.ru/clickhouse/deb/stable main/ Release [749 B]        
Get:7 http://repo.yandex.ru/clickhouse/deb/stable main/ Release.gpg [836 B]    
Hit:8 https://download.docker.com/linux/ubuntu focal InRelease                 
Get:9 http://repo.yandex.ru/clickhouse/deb/stable main/ Packages [152 kB]
Hit:10 https://debian.neo4j.com stable InRelease       
Fetched 263 kB in 0s (536 kB/s)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
root@host:~#

Finalmente, podemos instalar o ClickHouse. Quando solicitado, digite uma senha.
root@host:~#  apt install -y clickhouse-server clickhouse-client
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  clickhouse-common-static
Suggested packages:
  clickhouse-common-static-dbg
The following NEW packages will be installed:
  clickhouse-client clickhouse-common-static clickhouse-server
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 119 MB of archives.
After this operation, 401 MB of additional disk space will be used.
...                                           
Preconfiguring packages ...
Selecting previously unselected package clickhouse-common-static.
(Reading database ... 164995 files and directories currently installed.)
Preparing to unpack .../clickhouse-common-static_20.12.5.14_amd64.deb ...
Unpacking clickhouse-common-static (20.12.5.14) ...
Selecting previously unselected package clickhouse-client.
Preparing to unpack .../clickhouse-client_20.12.5.14_all.deb ...
Unpacking clickhouse-client (20.12.5.14) ...
Selecting previously unselected package clickhouse-server.
Preparing to unpack .../clickhouse-server_20.12.5.14_all.deb ...
Unpacking clickhouse-server (20.12.5.14) ...
Setting up clickhouse-common-static (20.12.5.14) ...
Setting up clickhouse-server (20.12.5.14) ...
ClickHouse init script has migrated to systemd. Please manually stop old server 
and restart the service:  killall clickhouse-server && sleep 5 &&  servi
ce clickhouse-server restart
Synchronizing state of clickhouse-server.service with SysV service script with /
lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable clickhouse-server
Created symlink /etc/systemd/system/multi-user.target.wants/clickhouse-server.se
rvice → /etc/systemd/system/clickhouse-server.service.
Copying ClickHouse binary to /usr/bin/clickhouse.new
/usr/bin/clickhouse already exists, will rename existing binary to /usr/bin/clic
khouse.old and put the new binary in place
Renaming /usr/bin/clickhouse.new to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-server already exists but it points to /clickhouse. 
Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-server to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-client already exists but it points to /clickhouse. 
Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-client to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-local already exists but it points to /clickhouse. W
ill replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-local to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-benchmark already exists but it points to /clickhous
e. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-benchmark to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-copier already exists but it points to /clickhouse. 
Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-copier to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-obfuscator already exists but it points to /clickhou
se. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-obfuscator to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-git-import to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-compressor already exists but it points to /clickhou
se. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-compressor to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-format already exists but it points to /clickhouse. 
Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-format to /usr/bin/clickhouse.
Symlink /usr/bin/clickhouse-extract-from-config already exists but it points to 
/clickhouse. Will replace the old symlink to /usr/bin/clickhouse.
Creating symlink /usr/bin/clickhouse-extract-from-config to /usr/bin/clickhouse.
Creating clickhouse group if it does not exist.
 groupadd -r clickhouse
Creating clickhouse user if it does not exist.
 useradd -r --shell /bin/false --home-dir /nonexistent -g clickhouse clickhouse
Will set ulimits for clickhouse user in /etc/security/limits.d/clickhouse.conf.
Creating config directory /etc/clickhouse-server/config.d that is used for tweak
s of main server configuration.
Creating config directory /etc/clickhouse-server/users.d that is used for tweaks
 of users configuration.
Config file /etc/clickhouse-server/config.xml already exists, will keep it and e
xtract path info from it.
/etc/clickhouse-server/config.xml has /var/lib/clickhouse/ as data path.
/etc/clickhouse-server/config.xml has /var/log/clickhouse-server/ as log path.
Users config file /etc/clickhouse-server/users.xml already exists, will keep it 
and extract users info from it.
 chown --recursive clickhouse:clickhouse '/etc/clickhouse-server'
Creating log directory /var/log/clickhouse-server/.
Creating data directory /var/lib/clickhouse/.
Creating pid directory /var/run/clickhouse-server.
 chown --recursive clickhouse:clickhouse '/var/log/clickhouse-server/'
 chown --recursive clickhouse:clickhouse '/var/run/clickhouse-server'
 chown clickhouse:clickhouse '/var/lib/clickhouse/'
Password for default user is already specified. To remind or reset, see /etc/cli
ckhouse-server/users.xml and /etc/clickhouse-server/users.d.
Setting capabilities for clickhouse binary. This is optional.
 command -v setcap >/dev/null && echo > /tmp/test_setcap.sh && chmod a+x /tmp/te
st_setcap.sh && /tmp/test_setcap.sh && setcap 'cap_net_admin,cap_ipc_lock,cap_sy
s_nice+ep' /tmp/test_setcap.sh && /tmp/test_setcap.sh && rm /tmp/test_setcap.sh 
&& setcap 'cap_net_admin,cap_ipc_lock,cap_sys_nice+ep' /usr/bin/clickhouse || ec
ho "Cannot set 'net_admin' or 'ipc_lock' or 'sys_nice' capability for clickhouse
 binary. This is optional. Taskstats accounting will be disabled. To enable task
stats accounting you may add the required capability later manually."

ClickHouse has been successfully installed.

Start clickhouse-server with:
 clickhouse start

Start clickhouse-client with:
 clickhouse-client --password

Setting up clickhouse-client (20.12.5.14) ...
Processing triggers for systemd (245.4-4ubuntu3.3) ...
root@host:~# 

Iniciar o serviço ClickHouse


Agora que instalamos o ClickHouse, vamos executá-lo em segundo plano.
root@host:~#  service clickhouse-server start
root@host:~# 

Verificar status


Nesta etapa, simplesmente verificamos se tudo está funcionando conforme o esperado.
root@host:~#  service clickhouse-server status
● clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
     Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; ve>
     Active: active (running) since Wed 2020-12-30 22:08:26 +03; 25s ago
   Main PID: 5553 (clickhouse-serv)
      Tasks: 48 (limit: 9489)
     Memory: 45.8M
     CGroup: /system.slice/clickhouse-server.service
             └─5553 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/>

сне 30 22:08:26 host clickhouse-server[5553]: Include not found: clickhouse_com>
сне 30 22:08:26 host clickhouse-server[5553]: Logging trace to /var/log/clickho>
сне 30 22:08:26 host clickhouse-server[5553]: Logging errors to /var/log/clickh>
сне 30 22:08:26 host clickhouse-server[5553]: Processing configuration file '/e>
сне 30 22:08:26 host clickhouse-server[5553]: Include not found: networks
сне 30 22:08:26 host clickhouse-server[5553]: Saved preprocessed configuration >
сне 30 22:08:28 host clickhouse-server[5553]: Processing configuration file '/e>
сне 30 22:08:28 host clickhouse-server[5553]: Include not found: clickhouse_rem>
сне 30 22:08:28 host clickhouse-server[5553]: Include not found: clickhouse_com>
сне 30 22:08:28 host clickhouse-server[5553]: Saved preprocessed configuration >
lines 1-19/19 (END)

As linhas abaixo são as que precisamos prestar mais atenção.
   Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; ve>
     Active: active (running) since Wed 2020-12-30 22:08:26 +03; 25s ago

Configurar o firewall


Se você não estiver usando um firewall, pule esta etapa. Se você planeja se conectar remotamente e tem um firewall habilitado, esta etapa é necessária. Abra e edite o arquivo de configuração e descomente a linha abaixo.
<!-- <listen_host>0.0.0.0</listen_host> →

Quando a edição estiver concluída, salve o arquivo usando o Ctrl+S eCtrl+X keys e reinicie o serviço ClickHouse.
root@host:~#  service clickhouse-server restart
root@host:~# 

Portas abertas


Em seguida, abra a porta 8123 no firewall para permitir o acesso ao seu endereço IP.
ufw allow from YOUR_IP_SERVER/32 to any port 8123

Em seguida, abra a porta 9000 para os clickhouse-clients Endereço de IP.
 root@host:~#  ufw allow from 192.168.13.1/32 to any port 8123
Rules updated
root@host:~# 
root@host:~#  ufw allow from 192.168.13.1/32 to any port 9000
Rules updated
root@host:~#  

Verificar conexão


Para verificar se tudo funciona ao conectar remotamente, use a consulta a seguir.
clickhouse-client --host 192.168.13.1 --password
root@host:~# clickhouse-client --host 192.168.13.1 --password
Password for user (default):
Connecting to 192.168.13.1:9000 as user default.
Connected to ClickHouse server version 20.12.5 revision 54442.

host :)

Aprender comandos e interações básicas


No ClickHouse, podemos criar e descartar bancos de dados usando a sintaxe SQL modificada. Vamos dar uma olhada nos exemplos abaixo. Primeiro, vamos nos conectar ao ClickHouse.
root@host:~# clickhouse-client
ClickHouse client version 20.12.5.14 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.12.5 revision 54442.

host :)  

Criar banco de dados


Uma vez que estamos na linha de comando do ClickHouse, criamos um banco de dados chamado liquidweb usando a seguinte sintaxe.
host :) CREATE DATABASE liquidweb;

CREATE DATABASE liquidweb

Query id: 9169dbaa-402e-4d37-828f-5fde43d4a91d

Ok.

0 rows in set. Elapsed: 0.004 sec. 

host :) 

No ClickHouse, a tabela é quase a mesma de outros bancos de dados com um conjunto de dados relacionados em formato estruturado. Podemos especificar colunas e seus tipos, adicionar linhas e realizar vários tipos de consultas no banco de dados.

Criar tabela


Antes de criarmos uma tabela, é importante conhecer e entender os tipos de colunas que estão disponíveis para uso. Os seguintes tipos de coluna são viáveis:
  • UInt64 — Esta tabela é usada para armazenar números inteiros que variam de 0 a 18446744073709551615.
  • Float64 — Cada tabela que usa Float64 pode armazenar números de ponto flutuante como 10.5, 18754.067, etc.
  • Sequência — Aqui, a tabela de strings substitui VARCHAR, BLOB, CLOB e outros tipos de diferentes DBMSs
  • Data — Esta tabela é usada para armazenar datas no formato AAAA-MM-DD.
  • DataHora — Aqui, a tabela DateTime é usada para armazenar datas e horas no formato mais preciso YYYY-MM-DD HH:MM:SS

Estruturas de dados


O ClickHouse define a estrutura dos dados subjacentes descrevendo os dados exatos, a capacidade de consultar a tabela, seus modos de acesso simultâneo à tabela e o suporte a índices. O ClickHouse possui diferentes recursos que são adequados para diferentes condições de uso.

Mesclar Árvore


O mecanismo mais usado é a operação de mecanismo de tabela chamada MergeTree . Esta função foi projetada para inserir grandes quantidades de dados em uma tabela. É altamente recomendado para uso em banco de dados de produção devido ao seu suporte otimizado para inserção de grandes quantidades de ativos em tempo real, além de sua confiabilidade e suporte a consultas.

Selecionar banco de dados


Vamos prosseguir para a prática adicional. Primeiro, vamos selecionar um banco de dados no qual criaremos uma tabela.
host :) USE liquidweb;

USE liquidweb

Query id: aba15bcb-224b-426d-9f74-350a88346115

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Criar tabela


Em seguida, criamos uma tabela chamada colegas .
host :) CREATE TABLE colleagues  (  id UInt64,  name String,  url String,  created DateTime ) ENGINE = MergeTree() PRIMARY KEY id ORDER BY id;

CREATE TABLE colleagues
(
    `id` UInt64,
    `name` String,
    `url` String,
    `created` DateTime
)
ENGINE = MergeTree()
PRIMARY KEY id
ORDER BY id

Query id: 08223a2f-d365-43cb-8627-d22674d1c47c

Ok.

0 rows in set. Elapsed: 0.004 sec. 

host :) 

Vamos rever quais valores adicionamos.
  • id - Esta é a coluna de chave primária. Cada linha deve ter um identificador exclusivo.
  • nome - Uma coluna com um valor de string.
  • url - Uma coluna com um valor de string que contém um link para o perfil.
  • criado - A data em que o funcionário apareceu no sistema.

Depois de definir as colunas na tabela, especificamos a MergeTree mecanismo de armazenamento da mesa. Em seguida, designamos as colunas e, em seguida, definimos as colunas no nível da tabela.
  • CHAVE PRIMÁRIA - Especifica a coluna de chave primária.
  • SOLICITAR POR - Os valores da tabela armazenados são classificados pela coluna id.

Adicionar dados


Agora podemos trabalhar com a tabela. Vamos adicionar alguns dados aos colegas tabela.
host :) INSERT INTO colleagues VALUES (1, 'margaret', 'http://1.com', '2021-01-01 00:01:01');

INSERT INTO colleagues VALUES

Query id: 42dbde52-6d7e-4849-ac5e-280590f3232d

Ok.

1 rows in set. Elapsed: 0.002 sec. 

host :) 

Vamos adicionar mais dados.
host :) INSERT INTO colleagues VALUES (2, 'john', 'http://2.com', '2021-01-01 00:01:01');

INSERT INTO colleagues VALUES

Query id: a9b34f78-2caa-4b41-bd4e-91bf8049a04b

Ok.

1 rows in set. Elapsed: 0.001 sec. 

host :)
host :) INSERT INTO colleagues VALUES (3, 'kingsman', 'http://3.com', '2021-01-01 00:01:01');

INSERT INTO colleagues VALUES

Query id: df5133c1-b404-4569-8123-f0728c172c87

Ok.

1 rows in set. Elapsed: 0.003 sec. 

host :) 
 host :) INSERT INTO colleagues VALUES (4, 'tor', 'http://4.com', '2021-01-01 00:01:01');

INSERT INTO colleagues VALUES

Query id: 14f56b86-fae7-4af2-b506-18c351b92853

Ok.

1 rows in set. Elapsed: 0.001 sec. 

host :)  

Adicionar coluna


Enquanto adicionamos alguns valores, percebemos que esquecemos de adicionar outra coluna, então temos que adicioná-la abaixo.
host :) ALTER TABLE colleagues ADD COLUMN location String;

ALTER TABLE colleagues
    ADD COLUMN `location` String


Query id: 002900f4-9fd9-4302-a10f-6aa5b818f9ae

Ok.

0 rows in set. Elapsed: 0.005 sec. 

host :)

Editar dados


Agora precisamos alterar os dados antigos de alguma forma. Na versão 19.13, o ClickHouse não oferece suporte à atualização e exclusão de linhas individuais devido à sua implementação. Mas o ClickHouse oferece suporte a atualizações e exclusões em massa e também possui sua própria sintaxe para essas operações.

Agora atualizamos nossas linhas.
host :) ALTER TABLE colleagues UPDATE url ='http://1.com' WHERE id < 15;

ALTER TABLE colleagues
    UPDATE url = 'http://1.com' WHERE id < 15


Query id: 6fc6620e-fd90-43aa-8d7f-8a34cfb73650

Ok.

0 rows in set. Elapsed: 0.004 sec. 

host :)

Depois de ONDE , definimos os parâmetros do filtro e também podemos excluir parâmetros desnecessários.
host :) ALTER TABLE colleagues  DELETE WHERE id < 2;

ALTER TABLE colleagues
    DELETE WHERE id < 2


Query id: 354e27fc-70c9-480b-bb1d-067591924c6e

Ok.

0 rows in set. Elapsed: 0.005 sec. 

host :) 

Remover coluna


Para remover colunas de uma tabela, faça o seguinte.
host :) ALTER TABLE colleagues DROP COLUMN location;

ALTER TABLE colleagues
    DROP COLUMN location


Query id: da361478-0619-4c31-8422-f59ee14a57d7

Ok.

0 rows in set. Elapsed: 0.008 sec. 

host :) 

Recuperação de dados por meio de consultas


Em seguida, passamos a demonstrar a recuperação de dados usando consultas. ClickHouse usa sintaxe SQL aqui com suas adições. Vamos tentar reunir algumas informações básicas.
host :) SELECT url, name FROM colleagues WHERE url = 'http://1.com' LIMIT 1;

SELECT
    url,
    name
FROM colleagues WHERE url = 'http://1.com'
LIMIT 1

Query id: 8a5cbf9a-f187-440c-9a60-2d23029b4bd1

┌─url──────────┬─name─┐
│ http://1.com │ john │
└──────────────┴──────┘

1 rows in set. Elapsed: 0.003 sec. 

host :) 
  • SELECIONAR - Selecione vários parâmetros.
  • DE - Determine em qual tabela receberemos os valores.
  • ONDE - Defina os parâmetros e filtros em relação a qual valor e quanto.

Também podemos usar parâmetros de pesquisa adicionais, como:
  • contagem - Retorna o número de linhas que correspondem às condições.
  • soma - Retorna a soma dos valores selecionados.
  • média - Retorna a média dos itens selecionados.
  • único - Retorna o número aproximado de linhas únicas correspondentes.
  • topK - Retorna uma matriz dos valores mais frequentes de uma coluna específica usando um algoritmo.

Soltar tabelas e bancos de dados


Em seguida, passamos a descartar tabelas e bancos de dados. Primeiro, vamos excluir uma tabela.
host :) DROP TABLE colleagues;

DROP TABLE colleagues

Query id: 21048fe4-d379-48ac-b9a7-71f0b3fe93e1

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Agora, exclua o banco de dados.
host :) DROP DATABASE liquidweb;

DROP DATABASE liquidweb

Query id: 4ad9a51a-f89d-4be5-be9c-92b8cb38614b

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Para sair do banco de dados, insira o valor padrão 'exit'.
host :) exit
Bye.
root@host:~# 

Criar um usuário


Agora que cobrimos todos os recursos básicos, vamos criar vários usuários de banco de dados. O arquivo de configuração do ClickHouse pode ser localizado no seguinte caminho /etc/clickhouse-client/config.xml. Vá para este arquivo, abra-o com vim ou nano e especifique os valores na seguinte ordem.
<config>    <user>username</user>    <password>password</password>    <secure>False</secure></config>

Usaremos o editor nano para editar o arquivo.
root@host:~#  nano /etc/clickhouse-client/config.xml
root@host:~# 

Insira as informações necessárias e salve as alterações usando Ctrl+S eCtrl+X chaves

Conectar ao ClickHouse


Por fim, para se conectar ao ClickHouse, digite o seguinte comando no terminal.
root@host:~# clickhouse-client -u margaret --password
ClickHouse client version 20.12.5.14 (official build).
Password for user (margaret): 
Connecting to localhost:9440 as user margaret.
Connected to ClickHouse server version 20.12.5 revision 54442.

host :) 

Conclusão


Neste tutorial, descobrimos muitos aspectos do ClickHouse. Descobrimos como funciona, quando pode ser aplicado e em que circunstâncias é útil. Identificamos como adicionar uma chave, o repositório, e depois instalar o software ClickHouse. Da mesma forma, configuramos e configuramos o firewall para permitir o acesso. Além disso, criamos bancos de dados e tabelas, adicionamos colunas e dados e os atualizamos e excluímos. Por fim, demonstramos como criar usuários no arquivo de configuração.

Nós nos orgulhamos de ser os humanos mais úteis em hospedagem™! Nossas equipes de suporte estão repletas de técnicos Linux experientes e administradores de sistema talentosos que têm conhecimento profundo de várias tecnologias de hospedagem na web, incluindo as discutidas neste artigo.

Se você tiver alguma dúvida sobre este artigo, estamos sempre disponível para prestar esclarecimentos a quaisquer questões relacionadas com este artigo, 24 horas por dia, 7 dias por semana, 365 dias por ano.

Se você for um servidor VPS totalmente gerenciado, Dedicado em Nuvem, Nuvem Privada VMWare, Servidor Pai Privado, Servidores em Nuvem Gerenciado ou proprietário de um servidor Dedicado, e não se sentir à vontade para executar qualquer uma das etapas descritas, podemos ser contatados pelo telefone @800.580.4985, um chat ou ticket de suporte para ajudá-lo nesse processo.