sql >> Base de Datos >  >> RDS >> Database

Cómo instalar y configurar ClickHouse en Ubuntu 20.04

¿Qué es ClickHouse?

ClickHouse es un DBMS (o sistema de gestión de bases de datos) orientado a columnas de código abierto que se utiliza principalmente para OLAP (o el procesamiento analítico en línea de consultas). Es capaz de generar a una velocidad vertiginosa datos analíticos en tiempo real e informes utilizando consultas SQL. Es tolerante a fallas, escalable, altamente confiable y contiene un conjunto de herramientas rico en funciones.

En una base de datos normal, los datos se almacenan en tablas, columnas y filas. En una tabla, los valores relacionados se almacenan físicamente uno al lado del otro en una fila, lo cual es fundamental para su funcionamiento. Así es como funcionan la mayoría de las bases de datos de tipo cadena.

Algunos ejemplos de esta forma de base de datos son:

  • MySQL
  • Postgres
  • SQLite

Los datos se almacenan como se muestra a continuación en una base de datos en columnas:

Parece similar, pero las diferencias son las siguientes:los valores de diferentes columnas se almacenan por separado, mientras que los datos de una columna se almacenan juntos. Ejemplos de tablas orientadas a columnas:

  • Vertical
  • InfiniDB
  • Google Dremel

Tales registros de almacenamiento de DBMS en bloques, agrupados por columnas en lugar de filas. Al no cargar datos para las columnas, dedican menos tiempo a leer los datos cuando ejecutan consultas, lo que permite que los DBMS calculen datos y devuelvan resultados mucho más rápido que las bases de datos agrupadas en bloques. Por lo general, las bases de datos orientadas a columnas se aplican mejor en escenarios OLAP en los que suelen ser 100 veces más rápidas en el procesamiento de la mayoría de las consultas en comparación con las bases de datos de tipo cadena.

Como podemos ver en las ilustraciones anteriores, OLAP nos permite organizar grandes cantidades de datos y realizar consultas complejas de varios órdenes de magnitud más rápido que una base de datos típica. Por lo tanto, es extremadamente útil para trabajar con grandes cantidades de entrada cuando se requiere analizar datos o análisis de negocios.

Uso de SQL

ClickHouse utiliza un dialecto de SQL, que es similar al lenguaje de consulta estructurado estándar, pero contiene extensiones adicionales:varias matrices, funciones de orden superior, estructuras anidadas, funciones para trabajar con URL y la capacidad de trabajar con un diccionario externo. etc.

Si bien ganamos velocidad y procesamiento de big data, también perdemos otros aspectos, incluidas las siguientes opciones:

  • Falta de transacciones.
  • Tipos de datos fuertes con la necesidad de conversión explícita.
  • Debe almacenar datos intermedios en RAM para algunas operaciones.
  • Falta de un optimizador de consultas completo.
  • Lectura puntual de datos en una base de datos.

A pesar de esto, ClickHouse demuestra un alto rendimiento y gana frente a muchos competidores. ClickHouse fue desarrollado para resolver problemas de análisis web para Yandex.Metrica, el tercer sistema de análisis web más popular del mundo. Cloudflare también lo utiliza para procesar estadísticas de sitios web para sus usuarios.

Requisitos

Para instalar, necesitamos:

  • Un servidor de 2 núcleos con un mínimo de 2 GB de RAM
  • Un sistema operativo Ubuntu 20.04 LTS
  • Acceso a la cuenta de usuario root (ya que todas las acciones se realizan como root).
Nota:si los comandos se ejecutan como un usuario normal, el comando sudo debe incluirse con todos los comandos.

Instalación de ClickHouse en Ubuntu 20.04

Antes de instalar, actualizaremos el sistema y los paquetes en el 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:~# 

Yandex mantiene un repositorio con la última versión de ClickHouse, por lo que debemos agregarlo. Además, agregue una clave GPG para consultar el repositorio e instalar de forma segura ClickHouse y futuras actualizaciones.

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:~# 

Agregue el repositorio a la lista de repositorios 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:~# 

A continuación, actualizamos nuestros paquetes 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 ClickHouse. Cuando se le solicite, ingrese una contraseña.

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 el servicio ClickHouse

Ahora que hemos instalado ClickHouse, ejecútelo en segundo plano.

root@host:~#  service clickhouse-server start
root@host:~# 

Verificar estado

En este paso, simplemente revisamos para asegurarnos de que todo funciona como se esperaba.

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)

Las siguientes líneas son a las que debemos prestar mucha atención.

   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 el cortafuegos

Si no está utilizando un firewall, omita este paso. Si planea conectarse de forma remota y tiene un firewall habilitado, entonces este paso es necesario. Abra y edite el archivo de configuración y elimine los comentarios de la línea a continuación.

<!-- <listen_host>0.0.0.0</listen_host> →

Una vez completada la edición, guarde el archivo usando Ctrl+S y Ctrl+X y luego reinicie el servicio ClickHouse.

root@host:~#  service clickhouse-server restart
root@host:~# 

Puertos abiertos

Luego, abra el puerto 8123 en el firewall para permitir el acceso a su dirección IP.

ufw allow from YOUR_IP_SERVER/32 to any port 8123

Luego, abra el puerto 9000 para el clickhouse-client dirección 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 conexión

Para verificar que todo funciona al conectarse de forma remota, use la siguiente consulta.

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 :)

Comandos básicos de aprendizaje e interacciones

En ClickHouse, podemos crear y soltar bases de datos utilizando la sintaxis SQL modificada. Echemos un vistazo a los ejemplos a continuación. Primero, conectémonos a 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 :)  

Crear base de datos

Una vez que estamos en la línea de comando de ClickHouse, creamos una base de datos llamada liquidweb usando la siguiente sintaxis.

host :) CREATE DATABASE liquidweb;

CREATE DATABASE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.004 sec. 

host :) 

En ClickHouse, la tabla es casi la misma que en otras bases de datos con un conjunto de datos relacionados en un formato estructurado. Podemos especificar columnas y sus tipos, agregar filas y realizar varios tipos de consultas en la base de datos.

Crear tabla

Antes de crear una tabla, es importante conocer y comprender los tipos de columnas que están disponibles para usar. Los siguientes tipos de columnas son viables:

  • UInt64 — Esta tabla se usa para almacenar números enteros que van de 0 a 18446744073709551615.
  • Flotar64 — Cada tabla que usa Float64 puede almacenar números de punto flotante como 10.5, 18754.067, etc.
  • Cadena — Aquí, la tabla de cadenas reemplaza VARCHAR, BLOB, CLOB y otros tipos de diferentes DBMS
  • Fecha — Esta tabla se usa para almacenar fechas en el formato AAAA-MM-DD.
  • FechaHora — Aquí, la tabla DateTime se usa para almacenar fechas y horas en el formato más preciso AAAA-MM-DD HH:MM:SS

Estructuras de datos

ClickHouse define la estructura de los datos subyacentes al describir los datos exactos, la capacidad de consultar la tabla, sus modos de acceso simultáneo a la tabla y la compatibilidad con índices. ClickHouse tiene diferentes capacidades que son adecuadas para diferentes condiciones de uso.

Combinar árbol

El mecanismo más utilizado es la operación del motor de tabla llamada MergeTree . Esta función está diseñada para insertar grandes cantidades de datos en una tabla. Se recomienda encarecidamente para el uso de bases de datos de producción debido a su compatibilidad optimizada para insertar grandes cantidades de activos en tiempo real, así como a su confiabilidad y compatibilidad con consultas.

Seleccionar base de datos

Procedamos a la práctica adicional. Primero, seleccionemos una base de datos en la que crearemos una tabla.

host :) USE liquidweb;

USE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Crear tabla

A continuación, creamos una tabla llamada 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 :) 

Revisemos qué valores agregamos.

  • identificación - Esta es la columna de clave principal. Cada línea debe tener un identificador único.
  • nombre - Una columna con un valor de cadena.
  • dirección - Una columna con un valor de cadena que contiene un enlace al perfil.
  • creado - La fecha de aparición del empleado en el sistema.

Después de definir las columnas en la tabla, especificamos el MergeTree mecanismo para guardar la mesa. A continuación, designamos las columnas y luego definimos las columnas de nivel de tabla.

  • CLAVE PRINCIPAL - Especifica la columna de clave principal.
  • ORDENAR POR - Los valores de la tabla almacenados se ordenan por columna de id.

Añadir datos

Ahora podemos trabajar con la tabla. Agreguemos algunos datos a los colegas mesa.

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 :) 

Agreguemos más datos.

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 :)  

Agregar columna

Si bien agregamos algunos valores, nos dimos cuenta de que olvidamos agregar otra columna, por lo que debemos agregarla a continuación.

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 datos

Ahora necesitamos cambiar los datos antiguos de alguna manera. En la versión 19.13, ClickHouse no admite la actualización y eliminación de filas individuales debido a su implementación. Sin embargo, ClickHouse admite actualizaciones y eliminaciones masivas y también tiene su propia sintaxis para estas operaciones.

Ahora actualizamos nuestras líneas.

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 :)

Después de DÓNDE , establecemos los parámetros del filtro y también podemos eliminar parámetros innecesarios.

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 :) 

Eliminar columna

Para eliminar columnas de una tabla, haga lo siguiente.

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 :) 

Recuperación de datos a través de consultas

A continuación, pasamos a demostrar la recuperación de datos mediante consultas. ClickHouse usa sintaxis SQL aquí con sus adiciones. Intentemos recopilar información básica.

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 :) 
  • SELECCIONAR - Seleccione varios parámetros.
  • DESDE - Determinar en qué tabla recibiremos valores.
  • DÓNDE - Establecer los parámetros y filtros con respecto a qué valor y cuánto.

También podemos utilizar parámetros de búsqueda adicionales, como:

  • cuenta - Devuelve el número de filas que coinciden con las condiciones.
  • suma - Devuelve la suma de los valores seleccionados.
  • promedio - Devuelve el promedio de los elementos seleccionados.
  • uniq - Devuelve el número aproximado de filas individuales coincidentes.
  • topK - Devuelve una matriz de los valores más frecuentes de una columna específica mediante un algoritmo.

Soltar tablas y bases de datos

A continuación, pasamos a eliminar tablas y bases de datos. Primero, eliminemos una tabla.

host :) DROP TABLE colleagues;

DROP TABLE colleagues

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Ahora, elimine la base de datos.

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 salir de la base de datos, ingrese el valor estándar de 'salir'.

host :) exit
Bye.
root@host:~# 

Crear un usuario

Ahora que hemos cubierto todas las características básicas, crearemos varios usuarios de base de datos. El archivo de configuración de ClickHouse se puede ubicar en la siguiente ruta /etc/clickhouse-client/config.xml. Vaya a este archivo, ábralo con vim o nano y especifique los valores en el siguiente orden.

<config>    <user>username</user>    <password>password</password>    <secure>False</secure></config>

Usaremos el editor nano para editar el archivo.

root@host:~#  nano /etc/clickhouse-client/config.xml
root@host:~# 

Ingrese la información requerida y luego guarde los cambios usando Ctrl+S y Ctrl+X llaves

Conéctese a ClickHouse

Finalmente, para conectarse a ClickHouse, ingrese el siguiente comando en la 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 :) 

Conclusión

En este tutorial, descubrimos muchos aspectos de ClickHouse. Descubrimos cómo funciona, cuándo se puede aplicar y en qué circunstancias es útil. Identificamos cómo agregar una clave, el repositorio y luego instalar el software ClickHouse. Así mismo, luego instalamos y configuramos el firewall para permitir el acceso. Además, creamos bases de datos y tablas, agregamos columnas y datos, y luego los actualizamos y eliminamos. Por último, demostramos cómo crear usuarios en el archivo de configuración.

¡Nos enorgullecemos de ser los seres humanos más serviciales en Hosting™! Nuestros equipos de soporte están compuestos por técnicos experimentados en Linux y administradores de sistemas talentosos que tienen un conocimiento profundo de múltiples tecnologías de hospedaje web, incluidas las que se analizan en este artículo.

Si tiene alguna pregunta sobre este artículo, siempre estamos a su disposición. disponible para brindar información a cualquier consulta relacionada con este artículo, las 24 horas del día, los 7 días de la semana los 365 días del año.

Si usted es un servidor VPS totalmente administrado, dedicado en la nube, nube privada de VMWare, servidor principal privado, servidores en la nube administrados o propietario de un servidor dedicado, y no se siente cómodo con la realización de cualquiera de los pasos descritos, Puede comunicarse con nosotros por teléfono al @ 800.580.4985, un chat o un ticket de soporte para ayudarlo con este proceso.