Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Cara Menginstal dan Mengonfigurasi ClickHouse di Ubuntu 20.04

Apa itu ClickHouse?

ClickHouse adalah DBMS (atau sistem manajemen basis data) yang berorientasi pada kolom sumber terbuka yang terutama digunakan untuk OLAP (atau Pemrosesan Kueri Analitik Online). Ini mampu menghasilkan data analitik dan pelaporan real-time yang sangat cepat menggunakan kueri SQL. Ini toleran terhadap kesalahan, skalabel, sangat andal, dan berisi kumpulan alat yang kaya fitur.

Dalam database biasa, data disimpan dalam tabel, kolom, dan baris. Dalam sebuah tabel, nilai terkait disimpan secara fisik berdampingan dalam satu baris, yang sangat penting untuk cara pengoperasiannya. Ini adalah cara kerja sebagian besar database tipe string.

Beberapa contoh bentuk database ini adalah:

  • MySQL
  • Posgres
  • SQLite

Data disimpan seperti yang ditunjukkan di bawah ini dalam database kolom:

Terlihat mirip, tetapi perbedaannya adalah sebagai berikut:nilai dari kolom yang berbeda disimpan secara terpisah, sedangkan data dari satu kolom disimpan bersama. Contoh tabel berorientasi kolom:

  • Vertikal
  • InfiniDB
  • Google Dremel

Catatan toko DBMS seperti itu dalam blok, dikelompokkan berdasarkan kolom daripada baris. Dengan tidak memuat data untuk kolom, mereka menghabiskan lebih sedikit waktu membaca data saat menjalankan kueri, memungkinkan DBMS untuk menghitung data dan mengembalikan hasil jauh lebih cepat daripada database yang dikelompokkan dalam blok. Biasanya, database berorientasi kolom paling baik diterapkan dalam skenario OLAP yang biasanya 100 kali lebih cepat dalam memproses sebagian besar kueri dibandingkan dengan database tipe string.

Seperti yang dapat kita lihat dari ilustrasi di atas, OLAP memungkinkan kita untuk mengatur data dalam jumlah besar dan melakukan kueri kompleks beberapa kali lipat lebih cepat daripada database biasa. Oleh karena itu, sangat berguna untuk bekerja dengan masukan dalam jumlah besar saat menganalisis data dan atau analisis bisnis diperlukan.

Penggunaan SQL

ClickHouse menggunakan dialek SQL, yang mirip dengan Bahasa Kueri Terstruktur standar, tetapi berisi ekstensi tambahan:berbagai array, fungsi tingkat tinggi, struktur bersarang, fungsi untuk bekerja dengan URL, dan kemampuan untuk bekerja dengan kamus eksternal, dll.

Sementara kami mendapatkan kecepatan dan pemrosesan data besar, kami juga kehilangan aspek lain termasuk opsi berikut:

  • Kurangnya transaksi.
  • Tipe data yang kuat dengan kebutuhan untuk casting eksplisit.
  • Harus menyimpan data perantara dalam RAM untuk beberapa operasi.
  • Kurangnya pengoptimal kueri yang lengkap.
  • Pembacaan titik data dalam database.

Meskipun demikian, ClickHouse menunjukkan kinerja tinggi dan menang melawan banyak pesaingnya. ClickHouse dikembangkan untuk memecahkan masalah dalam analisis web untuk Yandex.Metrica, sistem analisis web terpopuler ketiga di dunia. Ini juga digunakan oleh Cloudflare untuk memproses statistik situs web untuk penggunanya.

Prasyarat

Untuk menginstal, kita perlu:

  • Server 2 inti menggunakan RAM minimal 2 GB
  • OS Ubuntu 20.04 LTS
  • Akses ke akun pengguna root (karena semua tindakan dilakukan sebagai root).
Catatan:Jika perintah dijalankan sebagai pengguna biasa, perintah sudo harus disertakan dengan semua perintah.

Instalasi ClickHouse di Ubuntu 20.04

Sebelum menginstal, kami akan memperbarui sistem dan paket di server.

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 mengelola repositori dengan ClickHouse versi terbaru, jadi kami perlu menambahkannya. Juga, tambahkan kunci GPG untuk memeriksa repositori dan menginstal ClickHouse dengan aman dan pembaruan di masa mendatang.

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

Tambahkan repositori ke daftar repositori 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:~# 

Selanjutnya, kami memperbarui paket server kami.

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

Akhirnya, kita dapat menginstal ClickHouse. Saat diminta, masukkan kata sandi.

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

Mulai Layanan ClickHouse

Sekarang kita telah menginstal ClickHouse, mari kita jalankan di latar belakang.

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

Verifikasi Status

Pada langkah ini, kami hanya memeriksa untuk memastikan bahwa semuanya berfungsi seperti yang diharapkan.

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)

Baris di bawah ini yang perlu kita perhatikan.

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

Konfigurasikan Firewall

Jika Anda tidak menggunakan firewall, lewati langkah ini. Jika Anda berencana untuk terhubung dari jarak jauh dan mengaktifkan firewall, maka langkah ini diperlukan. Buka dan edit file konfigurasi, dan batalkan komentar pada baris di bawah ini.

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

Setelah pengeditan selesai, simpan file menggunakan Ctrl+S dan Ctrl+X kunci, lalu mulai ulang layanan ClickHouse.

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

Buka Port

Selanjutnya, buka port 8123 di firewall untuk mengizinkan akses untuk alamat IP Anda.

ufw allow from YOUR_IP_SERVER/32 to any port 8123

Kemudian, buka port 9000 untuk client-clickhouse-client Alamat 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:~#  

Verifikasi Koneksi

Untuk memeriksa apakah semuanya berfungsi saat menghubungkan dari jarak jauh, gunakan kueri berikut.

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

Perintah dan Interaksi Basis Pembelajaran

Di ClickHouse, kita dapat membuat dan menjatuhkan database menggunakan sintaks SQL yang dimodifikasi. Mari kita lihat contoh di bawah ini. Pertama, mari kita sambungkan ke 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 :)  

Buat Basis Data

Setelah kita berada di baris perintah ClickHouse, kita membuat database bernama liquidweb menggunakan sintaks berikut.

host :) CREATE DATABASE liquidweb;

CREATE DATABASE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.004 sec. 

host :) 

Di ClickHouse, tabelnya hampir sama dengan database lain dengan sekumpulan data terkait dalam format terstruktur. Kita dapat menentukan kolom dan tipenya, menambahkan baris, dan melakukan berbagai jenis kueri terhadap DB.

Buat Tabel

Sebelum kita membuat tabel, penting untuk mengetahui dan memahami jenis kolom yang tersedia untuk digunakan. Jenis kolom berikut ini dapat dijalankan:

  • UInt64 — Tabel ini digunakan untuk menyimpan bilangan bulat mulai dari 0 hingga 18446744073709551615.
  • Float64 — Setiap tabel yang menggunakan Float64 dapat menyimpan angka floating-point seperti 10.5, 18754.067, dll.
  • Tali — Di sini, tabel string menggantikan VARCHAR, BLOB, CLOB, dan tipe lain dari DBMS yang berbeda
  • Tanggal — Tabel ini digunakan untuk menyimpan tanggal dalam format YYYY-MM-DD.
  • TanggalWaktu — Di sini, tabel DateTime digunakan untuk menyimpan tanggal dan waktu dalam format YYYY-MM-DD HH:MM:SS yang lebih tepat

Struktur Data

ClickHouse mendefinisikan struktur data yang mendasari dengan menjelaskan data yang tepat, kemampuan untuk query tabel, mode akses bersamaan ke tabel, dan dukungan untuk indeks. ClickHouse memiliki kemampuan berbeda yang cocok untuk kondisi penggunaan yang berbeda.

MergeTree

Mekanisme yang paling banyak digunakan adalah operasi mesin tabel yang disebut MergeTree . Fungsi ini dirancang untuk memasukkan data dalam jumlah besar ke dalam tabel. Sangat disarankan untuk penggunaan database produksi karena dukungannya yang dioptimalkan untuk memasukkan sejumlah besar aset real-time, serta keandalan dan dukungan kuerinya.

Pilih Basis Data

Mari kita lanjutkan ke latihan selanjutnya. Pertama, mari kita pilih database tempat kita akan membuat tabel.

host :) USE liquidweb;

USE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Buat Tabel

Selanjutnya, kita membuat tabel bernama kolega .

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

Mari kita tinjau nilai apa yang kita tambahkan.

  • id - Ini adalah kolom kunci utama. Setiap baris harus memiliki pengenal unik.
  • nama - Kolom dengan nilai string.
  • url - Kolom dengan nilai string yang berisi tautan ke profil.
  • dibuat - Tanggal munculnya karyawan di sistem.

Setelah mendefinisikan kolom dalam tabel, kami kemudian menentukan MergeTree mekanisme penyimpanan meja. Selanjutnya, kita tentukan kolomnya, lalu tentukan kolom level tabel.

  • KUNCI UTAMA - Menentukan kolom kunci utama.
  • PESAN OLEH - Nilai tabel yang disimpan diurutkan berdasarkan kolom id.

Tambahkan Data

Sekarang kita bisa bekerja dengan tabel. Mari tambahkan beberapa data ke rekan kerja tabel.

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

Ayo tambahkan lebih banyak 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 :)  

Tambahkan Kolom

Saat kami menambahkan beberapa nilai, kami menyadari bahwa kami lupa menambahkan kolom lain, jadi kami harus menambahkannya di bawah.

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

Mengedit Data

Sekarang kita perlu mengubah data lama entah bagaimana. Di versi 19.13, ClickHouse tidak mendukung pembaruan dan penghapusan baris individual karena penerapannya. Namun, ClickHouse mendukung pembaruan dan penghapusan massal dan juga memiliki sintaks sendiri untuk operasi ini.

Sekarang kami memperbarui baris kami.

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

Setelah WHERE , kami mengatur parameter filter dan juga dapat menghapus parameter yang tidak perlu.

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

Hapus Kolom

Untuk menghapus kolom dari tabel, lakukan hal berikut.

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

Pengambilan Data melalui Kueri

Selanjutnya, kami melanjutkan untuk mendemonstrasikan pengambilan data menggunakan kueri. ClickHouse menggunakan sintaks SQL di sini dengan tambahannya. Mari kita coba mengumpulkan beberapa informasi dasar.

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 :) 
  • PILIH - Pilih beberapa parameter.
  • DARI - Tentukan tabel mana yang akan kita terima nilainya.
  • DI MANA - Tetapkan parameter dan filter mengenai nilai mana dan berapa banyak.

Kami juga dapat menggunakan parameter pencarian tambahan, seperti:

  • hitung - Mengembalikan jumlah baris yang cocok dengan kondisi.
  • jumlah - Mengembalikan jumlah nilai yang dipilih.
  • rata-rata - Mengembalikan rata-rata item yang dipilih.
  • unik - Mengembalikan perkiraan jumlah baris tunggal yang cocok.
  • topK - Mengembalikan larik nilai paling sering dari kolom tertentu menggunakan algoritme.

Lepaskan Tabel dan Basis Data

Selanjutnya, kita beralih ke menjatuhkan tabel dan database. Pertama, mari kita hapus sebuah tabel.

host :) DROP TABLE colleagues;

DROP TABLE colleagues

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Sekarang, hapus databasenya.

host :) DROP DATABASE liquidweb;

DROP DATABASE liquidweb

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

Ok.

0 rows in set. Elapsed: 0.001 sec. 

host :) 

Untuk keluar dari database, masukkan nilai 'keluar' standar.

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

Buat Pengguna

Sekarang kita telah membahas semua fitur dasar, kita akan membuat beberapa pengguna database. File konfigurasi ClickHouse dapat ditemukan di jalur berikut /etc/clickhouse-client/config.xml. Buka file ini, buka dengan vim atau nano, dan tentukan nilainya dalam urutan berikut.

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

Kami akan menggunakan editor nano untuk mengedit file.

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

Masukkan informasi yang diperlukan lalu simpan perubahan menggunakan Ctrl+S dan Ctrl+X kunci

Hubungkan ke ClickHouse

Terakhir, untuk terhubung ke ClickHouse, masukkan perintah berikut di 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 :) 

Kesimpulan

Dalam tutorial ini, kami menemukan banyak aspek ClickHouse. Kami menemukan cara kerjanya, kapan itu bisa diterapkan, dan dalam situasi apa berguna. Kami mengidentifikasi cara menambahkan kunci, repositori, dan kemudian menginstal perangkat lunak ClickHouse. Demikian juga, kami kemudian kami mengatur dan mengkonfigurasi firewall untuk memungkinkan akses. Selanjutnya, kami membuat database dan tabel, menambahkan kolom dan data, lalu memperbarui dan menghapusnya. Terakhir, kami mendemonstrasikan cara membuat pengguna di file konfigurasi.

Kami bangga menjadi Manusia Paling Bermanfaat di Hosting™! Tim Dukungan kami diisi dengan teknisi Linux berpengalaman dan administrator sistem berbakat yang memiliki pengetahuan mendalam tentang berbagai teknologi hosting web, termasuk yang dibahas dalam artikel ini.

Jika Anda memiliki pertanyaan tentang artikel ini, kami selalu tersedia untuk memberikan informasi untuk setiap pertanyaan yang berkaitan dengan artikel ini, 24 jam sehari, 7 hari seminggu 365 hari setahun.

Jika Anda adalah server VPS yang Dikelola Sepenuhnya, Cloud Dedicated, VMWare Private Cloud, server Private Parent, Server Cloud Terkelola, atau pemilik server Dedicated, dan Anda merasa tidak nyaman melakukan salah satu langkah yang diuraikan, kami dapat dihubungi melalui telepon di @800.580.4985, chat atau tiket dukungan untuk membantu Anda dalam proses ini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perintah SQL

  2. Bagaimana DevOps Harus Menggunakan DBaaS (Database-as-a-Service) Untuk Mengoptimalkan Pengembangan Aplikasinya​

  3. SQL Union – Panduan Komprehensif tentang Operator UNION

  4. Masalah Halloween – Bagian 2

  5. Mengatasi Pengoptimalan yang Terlewatkan