Какво е ClickHouse?
ClickHouse е колонно-ориентирана СУБД с отворен код (или система за управление на база данни), използвана основно за OLAP (или онлайн аналитична обработка на заявки). Той е в състояние да генерира бързо генериране на аналитични данни в реално време и отчитане, използвайки SQL заявки. Той е устойчив на грешки, мащабируем, високо надежден и съдържа богат набор от инструменти.
В обикновена база данни данните се съхраняват в таблици, колони и редове. В таблицата свързаните стойности се съхраняват физически една до друга в един ред, което е от решаващо значение за начина, по който работи. Ето как работят повечето бази данни от низов тип.
Няколко примера за тази форма на база данни са:
- MySQL
- Postgres
- SQLite
Данните се съхраняват, както е показано по-долу в колонна база данни:
Изглежда подобно, но разликите са следните:стойностите от различни колони се съхраняват отделно, докато данните от една колона се съхраняват заедно. Примери за колонно-ориентирани таблици:
- Вертикален
- InfiniDB
- Google Dremel
Такива СУБД съхраняват записи в блокове, групирани по колони, а не по редове. Като не зареждат данни за колоните, те прекарват по-малко време в четене на данните при изпълнение на заявки, което позволява на СУБД да изчислява данни и да връща резултати много по-бързо от базите данни, групирани в блокове. Обикновено колонно-ориентираните бази данни се прилагат най-добре в OLAP сценарии, където обикновено са 100 пъти по-бързи при обработката на повечето заявки в сравнение с базите данни от низов тип.
Както можем да видим от горните илюстрации, OLAP ни позволява да организираме големи количества данни и да изпълняваме сложни заявки с няколко порядъка по-бързо от типичната база данни. Поради това е изключително полезно за работа с големи количества вход, когато се изисква анализ на данни и/или бизнес анализ.
Използване на SQL
ClickHouse използва диалект на SQL, който е подобен на стандартния език за структурирани заявки, но съдържа допълнителни разширения:различни масиви, функции от по-висок ред, вложени структури, функции за работа с URL адреси и възможност за работа с външен речник, и др.
Докато печелим скорост и обработка на големи данни, губим и други аспекти, включително следните опции:
- Липса на транзакции.
- Силни типове данни с необходимост от изрично прехвърляне.
- Трябва да съхранява междинни данни в RAM за някои операции.
- Липса на пълноценен оптимизатор на заявки.
- Точково четене на данни в база данни.
Въпреки това, ClickHouse демонстрира висока производителност и печели срещу многото си конкуренти. ClickHouse е разработен за решаване на проблеми в уеб анализа за Yandex.Metrica, третата най-популярна система за уеб анализ в света. Също така се използва от Cloudflare за обработка на статистически данни за уебсайтове за своите потребители.
Предварителни условия
За да инсталираме, ни трябва:
- 2-ядрен сървър използващ минимум 2 GB RAM
- ОС Ubuntu 20.04 LTS
- Достъп до акаунта на root потребител (както всички действия, извършени като root).
Инсталиране на ClickHouse на Ubuntu 20.04
Преди да инсталираме, ще актуализираме системата и пакетите на сървъра.
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 поддържа хранилище с най-новата версия на ClickHouse, така че трябва да го добавим. Също така добавете GPG ключ, за да проверите хранилището и безопасно да инсталирате ClickHouse и бъдещи актуализации.
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:~#
Добавете хранилището към списъка с 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:~#
След това актуализираме нашите сървърни пакети.
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:~#
И накрая, можем да инсталираме ClickHouse. Когато бъдете подканени, въведете парола.
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:~#
Стартирайте услугата ClickHouse
След като инсталирахме ClickHouse, нека го стартираме във фонов режим.
root@host:~# service clickhouse-server start
root@host:~#
Проверка на състоянието
В тази стъпка просто проверяваме, за да сме сигурни, че всичко работи според очакванията.
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)
Редовете по-долу са тези, на които трябва да обърнем специално внимание.
Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; ve>
Active: active (running) since Wed 2020-12-30 22:08:26 +03; 25s ago
Конфигуриране на защитната стена
Ако не използвате защитна стена, пропуснете тази стъпка. Ако планирате да се свържете отдалечено и имате активирана защитна стена, тогава тази стъпка е необходима. Отворете и редактирайте конфигурационния файл и разкоментирайте реда по-долу.
<!-- <listen_host>0.0.0.0</listen_host> →
След като редактирането приключи, запазете файла с помощта на Ctrl+S и Ctrl+X клавиши и след това рестартирайте услугата ClickHouse.
root@host:~# service clickhouse-server restart
root@host:~#
Отворени портове
След това отворете порт 8123 в защитната стена, за да разрешите достъп за вашия IP адрес.
ufw allow from YOUR_IP_SERVER/32 to any port 8123
След това отворете порт 9000 за clickhouse-client 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:~#
Проверете връзката
За да проверите дали всичко работи при дистанционно свързване, използвайте следната заявка.
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 :)
Учебна база команди и взаимодействия
В ClickHouse можем да създаваме и пускаме бази данни, използвайки модифицирания SQL синтаксис. Нека да разгледаме примерите по-долу. Първо, нека се свържем с 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 :)
Създаване на база данни
След като сме в командния ред ClickHouse, създаваме база данни с име liquidweb, използвайки следния синтаксис.
host :) CREATE DATABASE liquidweb;
CREATE DATABASE liquidweb
Query id: 9169dbaa-402e-4d37-828f-5fde43d4a91d
Ok.
0 rows in set. Elapsed: 0.004 sec.
host :)
В ClickHouse таблицата е почти същата като в други бази данни с набор от свързани данни в структуриран формат. Можем да посочим колони и техните типове, да добавяме редове и да изпълняваме различни видове заявки към БД.
Създаване на таблица
Преди да създадем таблица, е важно да знаем и разберем типовете колони, които са налични за използване. Следните типове колони са жизнеспособни:
- UInt64 — Тази таблица се използва за съхраняване на цели числа, вариращи от 0 до 18446744073709551615.
- Float64 — Всяка таблица, която използва Float64, може да съхранява числа с плаваща запетая като 10.5, 18754.067 и т.н.
- Стринг — Тук таблицата с низове замества VARCHAR, BLOB, CLOB и други типове от различни СУБД
- Дата — Тази таблица се използва за съхраняване на дати във формат ГГГГ-ММ-ДД.
- Дата и час — Тук таблицата DateTime се използва за съхраняване на дати и часове в по-точния YYYY-MM-DD HH:MM:SS формат
Структури от данни
ClickHouse дефинира структурата на основните данни, като описва точните данни, възможността за запитване на таблицата, нейните режими на едновременен достъп до таблицата и поддръжка на индекси. ClickHouse има различни възможности, които са подходящи за различни условия на употреба.
MergeTree
Най-широко използваният механизъм е операцията на машината за таблици, наречена MergeTree . Тази функция е предназначена за вмъкване на големи количества данни в таблица. Силно се препоръчва за използване на производствена база данни поради оптимизираната си поддръжка за вмъкване на големи количества активи в реално време, както и неговата надеждност и поддръжка на заявки.
Изберете база данни
Нека преминем към по-нататъшна практика. Първо, нека изберем база данни, в която ще създадем таблица.
host :) USE liquidweb;
USE liquidweb
Query id: aba15bcb-224b-426d-9f74-350a88346115
Ok.
0 rows in set. Elapsed: 0.001 sec.
host :)
Създаване на таблица
След това създаваме таблица, наречена колеги .
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 :)
Нека разгледаме какви стойности добавихме.
- идентификатор - Това е колоната с първичен ключ. Всеки ред трябва да има уникален идентификатор.
- име – Колона със стойност на низ.
- url – Колона със стойност на низ, която съдържа връзка към профила.
- създаден - Датата, на която служителят се е появил в системата.
След като дефинираме колоните в таблицата, указваме MergeTree механизъм за съхранение на масата. След това обозначаваме колоните и след това дефинираме колоните на ниво таблица.
- ПЪРВИЧЕН КЛЮЧ - Посочва колоната с първичен ключ.
- ПОРЪЧАЙ ОТ - Съхранените стойности на таблицата са сортирани по колона id.
Добавяне на данни
Сега можем да работим с масата. Нека добавим малко данни към колегите таблица.
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 :)
Нека добавим още данни.
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 :)
Добавяне на колона
Докато добавихме някои стойности, разбрахме, че сме забравили да добавим още една колона, така че трябва да я добавим по-долу.
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 :)
Редактиране на данни
Сега трябва някак да променим старите данни. Във версия 19.13 ClickHouse не поддържа актуализиране и изтриване на отделни редове поради внедряването му. Но ClickHouse поддържа групови актуализации и изтривания и също има собствен синтаксис за тези операции.
Сега актуализираме нашите линии.
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 :)
След WHERE , ние задаваме параметрите на филтъра и можем също да изтрием ненужните параметри.
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 :)
Премахване на колона
За да премахнете колони от таблица, направете следното.
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 :)
Извличане на данни чрез заявки
След това преминаваме към демонстриране на извличане на данни с помощта на заявки. ClickHouse използва SQL синтаксис тук с неговите допълнения. Нека се опитаме да съберем основна информация.
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 :)
- ИЗБЕРЕТЕ - Изберете няколко параметъра.
- ОТ - Определете коя таблица ще получим стойности.
- КЪДЕ - Задайте параметрите и филтрите за това коя стойност и колко.
Можем също да използваме допълнителни параметри за търсене, като например:
- брой - Връща броя на редовете, отговарящи на условията.
- сума - Връща сбора от избраните стойности.
- ср. - Връща средната стойност на избраните елементи.
- uniq - Връщане на приблизителния брой съвпадащи единични редове.
- topK - Връща масив от най-честите стойности на конкретна колона с помощта на алгоритъм.
Изпускане на таблици и бази данни
След това преминаваме към премахване на таблици и бази данни. Първо, нека изтрием таблица.
host :) DROP TABLE colleagues;
DROP TABLE colleagues
Query id: 21048fe4-d379-48ac-b9a7-71f0b3fe93e1
Ok.
0 rows in set. Elapsed: 0.001 sec.
host :)
Сега изтрийте базата данни.
host :) DROP DATABASE liquidweb;
DROP DATABASE liquidweb
Query id: 4ad9a51a-f89d-4be5-be9c-92b8cb38614b
Ok.
0 rows in set. Elapsed: 0.001 sec.
host :)
За да излезете от базата данни, въведете стандартната стойност за „изход“.
host :) exit
Bye.
root@host:~#
Създайте потребител
След като покрихме всички основни функции, ще създадем няколко потребители на база данни. Конфигурационният файл ClickHouse може да се намира в следния път /etc/clickhouse-client/config.xml. Отидете до този файл, отворете го с vim или nano и посочете стойностите в следния ред.
<config> <user>username</user> <password>password</password> <secure>False</secure></config>
Ще използваме нано редактора за редактиране на файла.
root@host:~# nano /etc/clickhouse-client/config.xml
root@host:~#
Въведете необходимата информация и след това запазете промените, като използвате Ctrl+S и Ctrl+X ключове
Свържете се с ClickHouse
Накрая, за да се свържете с ClickHouse, въведете следната команда в терминала.
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 :)
Заключение
В този урок открихме много аспекти на ClickHouse. Открихме как работи, кога може да се приложи и при какви обстоятелства е полезен. Идентифицирахме как да добавим ключ, хранилището и след това да инсталираме софтуера ClickHouse. По същия начин ние настроихме и конфигурирахме защитната стена, за да разрешим достъп. Освен това създадохме бази данни и таблици, добавихме колони и данни и след това ги актуализирахме и изтрихме. И накрая, ние демонстрирахме как да създавате потребители в конфигурационния файл.
Гордеем се, че сме най-полезните хора в хостинг™! Нашите екипи за поддръжка са пълни с опитни Linux техници и талантливи системни администратори, които имат задълбочени познания за множество технологии за уеб хостинг, включително тези, обсъдени в тази статия.
Ако имате някакви запитвания относно тази статия, ние винаги на разположение за предоставяне на информация по всякакви въпроси, свързани с тази статия, 24 часа в денонощието, 7 дни в седмицата, 365 дни в годината.
Ако сте напълно управляван VPS сървър, Cloud Dedicated, VMWare Private Cloud, Private Parent Server, Managed Cloud Servers или собственик на специален сървър и се чувствате неудобно да изпълнявате някоя от описаните стъпки, можем да се свържем по телефона на @800.580.4985, чат или билет за поддръжка, за да ви помогнем с този процес.