sql >> Databasteknik >  >> RDS >> Database

Hur man installerar och konfigurerar ClickHouse på Ubuntu 20.04

Vad är ClickHouse?

ClickHouse är ett kolumnorienterat DBMS (eller databashanteringssystem) med öppen källkod som främst används för OLAP (eller Online Analytical Processing av frågor). Det är kapabelt att generera snabb generering av analytisk data i realtid och rapportering med hjälp av SQL-frågor. Den är feltolerant, skalbar, mycket pålitlig och innehåller en funktionsrik verktygsuppsättning.

I en vanlig databas lagras data i tabeller, kolumner och rader. I en tabell lagras de relaterade värdena fysiskt sida vid sida i en rad, vilket är avgörande för hur det fungerar. Det är så de flesta databaser av strängtyp fungerar.

Några exempel på denna form av databas är:

  • MySQL
  • Postgres
  • SQLite

Data lagras enligt nedan i en kolumnär databas:

Det ser likadant ut, men skillnaderna är följande:värden från olika kolumner lagras separat, medan data från en kolumn lagras tillsammans. Exempel på kolumnorienterade tabeller:

  • Vertica
  • InfiniDB
  • Google Dremel

Sådana DBMS lagrar poster i block, grupperade efter kolumner snarare än rader. Genom att inte ladda data för kolumnerna lägger de mindre tid på att läsa data när de kör frågor, vilket gör att DBMS kan beräkna data och returnera resultat mycket snabbare än databaser grupperade i block. Vanligtvis är kolumnorienterade databaser bäst att använda i OLAP-scenarier där de vanligtvis är 100 gånger snabbare att bearbeta de flesta frågor jämfört med databaser av strängtyp.

Som vi kan se från ovanstående illustrationer tillåter OLAP oss att organisera stora mängder data och utföra komplexa frågor i flera storleksordningar snabbare än en vanlig databas. Därför är det extremt användbart för att arbeta med stora mängder input när det krävs att analysera data och eller affärsanalyser.

SQL-användning

ClickHouse använder en dialekt av SQL, som liknar standarden Structured Query Language, men den innehåller ytterligare tillägg:olika arrayer, funktioner av högre ordning, kapslade strukturer, funktioner för att arbeta med URL:er och möjligheten att arbeta med en extern ordbok, etc.

Samtidigt som vi får snabbhet och bearbetning av big data, förlorar vi också andra aspekter, inklusive följande alternativ:

  • Brist på transaktioner.
  • Starka datatyper med behov av explicit casting.
  • Måste lagra mellanliggande data i RAM-minnet för vissa operationer.
  • Avsaknad av en fullfjädrad frågeoptimerare.
  • Punktläsning av data i en databas.

Trots detta visar ClickHouse hög prestanda och vinner mot sina många konkurrenter. ClickHouse utvecklades för att lösa problem inom webbanalys för Yandex.Metrica, det tredje mest populära webbanalyssystemet i världen. Det används också av Cloudflare för att bearbeta webbplatsstatistik för sina användare.

Förutsättningar

För att installera behöver vi:

  • En server med två kärnor som använder minst 2 GB RAM
  • Ett operativsystem för Ubuntu 20.04 LTS
  • Åtkomst till root-användarkontot (som alla åtgärder som utförs som root).
Obs:Om kommandon körs som en vanlig användare, måste sudo-kommandot inkluderas med alla kommandon.

ClickHouse-installation på Ubuntu 20.04

Innan vi installerar kommer vi att uppdatera systemet och paketen på servern.

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 har ett arkiv med den senaste versionen av ClickHouse, så vi måste lägga till det. Lägg också till en GPG-nyckel för att kolla in arkivet och säkert installera ClickHouse och framtida uppdateringar.

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

Lägg till arkivet i listan över APK-arkiv.

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

Därefter uppdaterar vi våra serverpaket.

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

Äntligen kan vi installera ClickHouse. Ange ett lösenord när du uppmanas.

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

Starta ClickHouse Service

Nu när vi har installerat ClickHouse låt oss köra det i bakgrunden.

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

Verifiera status

I det här steget kontrollerar vi helt enkelt att allt fungerar som förväntat.

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)

Raderna nedan är de vi måste vara mycket uppmärksamma på.

   Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; ve>
     Active: active (running) since Wed 2020-12-30 22:08:26 +03; 25s ago

Konfigurera brandväggen

Om du inte använder en brandvägg, hoppa över det här steget. Om du planerar att fjärransluta och har en brandvägg aktiverad, är detta steg nödvändigt. Öppna och redigera konfigurationsfilen och avkommentera raden nedan.

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

När redigeringen är klar, spara filen med Ctrl+S och Ctrl+X nycklar och starta sedan om ClickHouse-tjänsten.

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

Öppna portar

Öppna sedan port 8123 i brandväggen för att ge åtkomst till din IP-adress.

ufw allow from YOUR_IP_SERVER/32 to any port 8123

Öppna sedan port 9000 för clickhouse-klientens IP-adress.

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

Verifiera anslutningen

För att kontrollera att allt fungerar när du fjärransluter, använd följande fråga.

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

Lärande baskommandon och interaktioner

I ClickHouse kan vi skapa och släppa databaser med den modifierade SQL-syntaxen. Låt oss ta en titt på exemplen nedan. Låt oss först ansluta till 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 :)  

Skapa databas

När vi är på kommandoraden i ClickHouse skapar vi en databas med namnet liquidweb med följande syntax.

host :) CREATE DATABASE liquidweb;

CREATE DATABASE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.004 sec. 

host :) 

I ClickHouse är tabellen nästan densamma som i andra databaser med en uppsättning relaterad data i ett strukturerat format. Vi kan specificera kolumner och deras typer, lägga till rader och utföra olika typer av frågor mot DB.

Skapa tabell

Innan vi skapar en tabell är det viktigt att känna till och förstå vilka typer av kolumner som är tillgängliga att använda. Följande kolumntyper är genomförbara:

  • UInt64 — Den här tabellen används för att lagra heltal från 0 till 18446744073709551615.
  • Float64 — Varje tabell som använder Float64 kan lagra flyttalsnummer som 10.5, 18754.067, etc.
  • Sträng — Här ersätter strängtabellen VARCHAR, BLOB, CLOB och andra typer från olika DBMS
  • Datum — Den här tabellen används för att lagra datum i formatet ÅÅÅÅ-MM-DD.
  • DatumTid — Här används DateTime-tabellen för att lagra datum och tider i det mer exakta formatet ÅÅÅÅ-MM-DD HH:MM:SS

Datastrukturer

ClickHouse definierar strukturen för de underliggande data genom att beskriva exakta data, möjligheten att fråga tabellen, dess lägen för samtidig åtkomst till tabellen och stöd för index. ClickHouse har olika möjligheter som är lämpliga för olika användningsförhållanden.

MergeTree

Den mest använda mekanismen är tabellmotoroperationen som kallas MergeTree . Denna funktion är utformad för att infoga stora mängder data i en tabell. Den rekommenderas starkt för användning av produktionsdatabas på grund av dess optimerade stöd för att infoga stora mängder realtidstillgångar, samt dess tillförlitlighet och stöd för frågor.

Välj Databas

Låt oss gå vidare till ytterligare träning. Låt oss först välja en databas där vi ska skapa en tabell.

host :) USE liquidweb;

USE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Skapa tabell

Därefter skapar vi en tabell som heter kollegor .

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

Låt oss se över vilka värden vi lagt till.

  • id - Det här är den primära nyckelkolumnen. Varje rad måste ha en unik identifierare.
  • namn - En kolumn med ett strängvärde.
  • url - En kolumn med ett strängvärde som innehåller en länk till profilen.
  • skapat - Datumet då den anställde dök upp i systemet.

Efter att ha definierat kolumnerna i tabellen anger vi sedan MergeTree mekanism för förvaring av bordet. Därefter anger vi kolumnerna och definierar sedan kolumnerna på tabellnivå.

  • PRIMÄRNYCKEL - Anger primärnyckelkolumnen.
  • BESTÄLL EFTER - De lagrade tabellvärdena sorteras efter id-kolumn.

Lägg till data

Nu kan vi jobba med bordet. Låt oss lägga till lite data till kollegorna bord.

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

Låt oss lägga till mer data.

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

Lägg till kolumn

Medan vi lade till några värden insåg vi att vi glömde att lägga till en annan kolumn, så vi måste lägga till den nedan.

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

Redigera data

Nu måste vi ändra de gamla uppgifterna på något sätt. I version 19.13 stöder inte ClickHouse uppdatering och radering av enskilda rader på grund av dess implementering. Men ClickHouse stöder massuppdateringar och raderingar och har också sin egen syntax för dessa operationer.

Nu uppdaterar vi våra linjer.

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

Efter VAR , ställer vi in ​​filterparametrarna och kan även ta bort onödiga parametrar.

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

Ta bort kolumn

För att ta bort kolumner från en tabell, gör följande.

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

Datahämtning via frågor

Därefter går vi vidare för att demonstrera datahämtning med hjälp av frågor. ClickHouse använder SQL-syntax här med dess tillägg. Låt oss försöka samla lite grundläggande information.

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 :) 
  • VÄLJ - Välj flera parametrar.
  • FRÅN - Bestäm vilken tabell vi ska ta emot värden.
  • VAR - Ställ in parametrar och filter för vilket värde och hur mycket.

Vi kan också använda ytterligare sökparametrar, såsom:

  • räkning - Returnerar antalet rader som matchar villkoren.
  • summa - Returnerar summan av de valda värdena.
  • genomsnitt - Returnerar medelvärdet av de valda objekten.
  • unikt - Returnera det ungefärliga antalet matchade enstaka rader.
  • topK - Returnerar en matris med de vanligaste värdena i en specifik kolumn med hjälp av en algoritm.

Släpp tabeller och databaser

Därefter går vi vidare till att ta bort tabeller och databaser. Låt oss först ta bort en tabell.

host :) DROP TABLE colleagues;

DROP TABLE colleagues

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Ta nu bort databasen.

host :) DROP DATABASE liquidweb;

DROP DATABASE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

För att avsluta databasen anger du standardvärdet för 'exit'.

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

Skapa en användare

Nu när vi har täckt alla grundläggande funktioner kommer vi att skapa flera databasanvändare. ClickHouse-konfigurationsfilen kan finnas på följande sökväg /etc/clickhouse-client/config.xml. Gå till den här filen, öppna den med vim eller nano och ange värdena i följande ordning.

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

Vi kommer att använda nanoredigeraren för att redigera filen.

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

Ange den information som krävs och spara sedan ändringarna med Ctrl+S och Ctrl+X nycklar

Anslut till ClickHouse

Slutligen, för att ansluta till ClickHouse, skriv in följande kommando i terminalen.

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

Slutsats

I den här handledningen upptäckte vi många aspekter av ClickHouse. Vi upptäckte hur det fungerar, när det kan tillämpas och under vilka omständigheter det är användbart. Vi identifierade hur man lägger till en nyckel, arkivet, och sedan installerar programvaran ClickHouse. På samma sätt satte vi sedan upp och konfigurerade brandväggen för att tillåta åtkomst. Dessutom skapade vi databaser och tabeller, la till kolumner och data och uppdaterade och tog bort dem. Slutligen visade vi hur man skapar användare i konfigurationsfilen.

Vi är stolta över att vara de mest hjälpsamma människorna inom Hosting™! Våra supportteam är fyllda med erfarna Linux-tekniker och duktiga systemadministratörer som har ingående kunskap om flera webbhotelltekniker, inklusive de som diskuteras i den här artikeln.

Om du har några frågor angående den här artikeln är vi alltid tillgängliga tillgänglig för att ge information till alla frågor relaterade till denna artikel, 24 timmar om dygnet, 7 dagar i veckan 365 dagar om året.

Om du är en helt hanterad VPS-server, Cloud Dedicated, VMWare Private Cloud, Private Parent Server, Managed Cloud Servers eller en dedikerad serverägare, och du är obekväm med att utföra något av stegen som beskrivs, vi kan nås via telefon på @800.580.4985, en chatt eller supportbiljett för att hjälpa dig med denna process.


  1. MySQL/skrivfilfel (felkod 28)

  2. Tabell skapas inte sqlite android

  3. 3 metoder för att bygga om alla index för alla tabeller med T-SQL i SQL Server Database

  4. Oracle UTL_HTTP Post Multipart/Form-Data (JSON &ZIP) Exempel