ClickHouse¶
Bu makalede
Bilgi
ClickHouse, OLAP sınıfı analitik sorguları yürütmek için tasarlanmış yüksek performanslı sütunlu bir veritabanı yönetim sistemidir (VTYS). VTYS, düşük gecikme süresiyle büyük veri hacimlerini analiz etmeye odaklanmıştır ve analitik, izleme, günlük kaydı ve telemetri işleme görevlerinde yaygın olarak kullanılmaktadır.
ClickHouse. Anahtar Özellikler¶
- Sütunlu depolama: veriler satırlar yerine sütunlar halinde depolanır, bu da analitik sorgu yürütmeyi önemli ölçüde hızlandırır ve işlenen veri hacmini azaltır.
- Yüksek performans: büyük veri kümelerini işlemek için optimize edilmiştir ve vektörleştirilmiş işleme ve verimli CPU kullanımı sayesinde milyarlarca satır üzerinde sorgu yürütebilir.
- Veri sıkıştırma: özellikle analitik iş yükleri altında, depolanan veri miktarını önemli ölçüde azaltabilen (genellikle satır tabanlı VTYS'ye göre birkaç kat daha küçük) özel sıkıştırma algoritmaları kullanır.
- SQL uyumluluğu: mevcut uygulamaların göçünü basitleştiren ek analitik fonksiyonlarla genişletilmiş SQL sözdizimini destekler.
- Dağıtık işleme: yatay ölçeklendirme ve birden fazla sunucuda veri işleme için küme oluşturmayı sağlar.
- Veri replikasyonu: hata toleransı ve yüksek veri kullanılabilirliği sağlamak için yerleşik replikasyon desteği.
- Birden fazla veri formatı desteği: CSV, JSON, Parquet, Avro ve diğer formatlarda veri içe ve dışa aktarabilir.
- Materialize edilmiş görünümler: tekrarlayan sorguları hızlandırmak için arka planda otomatik olarak veri toplar.
- Harici kaynaklarla entegrasyon: MySQL, PostgreSQL, MongoDB, Kafka, S3 ve diğer sistemlerden doğrudan veri okumayı destekler.
Dağıtım Özellikleri¶
| ID | Yazılım Adı | Uyumlu OS | VM | BM | VGPU | GPU | Min CPU (Çekirdekler) | Min RAM (GB) | Min HDD/SSD (GB) | Aktif |
|---|---|---|---|---|---|---|---|---|---|---|
| 492 | ClickHouse | Ubuntu 24.04, Ubuntu 22.04 | + | + | + | + | 4 | 8 | 120 | SİPARİŞ VER |
-
Yüklü yazılım:
- ClickHouse Server >= 26.1.1
- ClickHouse Client >= 26.1.1
-
Kurulum özellikleri:
- Yazılım resmi geliştirici betiği aracılığıyla kurulmuştur;
- Kurulum süresi: 5-10 dakika;
- Veritabanı, çeşitli SQL istemcileri aracılığıyla ağ bağlantıları için kullanılabilir;
- Varsayılan olarak
roothesabından şifreyledefaultkullanıcısı kullanılır.
Yapılandırma ve veri dosyası konumları:
- Ana sunucu yapılandırması:
/etc/clickhouse-server/config.xml - Kullanıcı ayarları:
/etc/clickhouse-server/users.xml - Sunucu günlükleri:
/var/log/clickhouse-server/clickhouse-server.log/var/log/clickhouse-server/clickhouse-server.err.log
- Veri:
/var/lib/clickhouse/ - PID dosyası:
/run/clickhouse-server/clickhouse-server.pid - Sistem limitleri:
/etc/security/limits.d/clickhouse.conf
Bağlantılar için mevcut portlar:
| Port | Protokol | Amaç | Durum | İstemciler/Kullanım |
|---|---|---|---|---|
| 8123 | HTTP | HTTP arayüzü | Aktif | DBeaver, DataGrip, Tableau, web arayüzü, JDBC/ODBC |
| 9000 | TCP Native | ClickHouse yerel protokolü | Aktif | clickhouse-client, Python/Go sürücüleri |
| 9004 | MySQL | MySQL protokol emülasyonu | Aktif | MySQL Workbench, mysql istemcisi |
| 9005 | PostgreSQL | PostgreSQL protokol emülasyonu | Aktif | pgAdmin, psql istemcisi |
| 9009 | Interserver HTTP | Sunucular arası replikasyon | Aktif | Küme içi iletişim |
| 8443 | HTTPS | SSL ile HTTP arayüzü | Opsiyonel | SSL sertifikası yapılandırması gerektirir |
| 9100 | gRPC | gRPC arayüzü | Opsiyonel | gRPC istemcileri |
Not
8443 ve 9100 portları varsayılan olarak devre dışıdır ve /etc/clickhouse-server/config.xml dosyasında ek yapılandırma gerektirir.
Not
Aksi belirtilmedikçe, yazılımın en son sürümünü resmi geliştirici web sitesinden yükleriz.
ClickHouse Dağıtımından Sonra Başlangıç¶
Siparişin ödemesinden sonra kayıt sırasında belirtilen e-posta adresine sunucunun çalışmaya hazır olduğuna dair bir bildirim gönderilecektir. VPS'nin IP adresini ve bağlantı için kullanıcı adı ve şifreyi içerecektir. Şirketimizin müşterileri donanımı sunucu ve API kontrol panelinde yönetir - Invapi.
Yetkilendirme detayları:
- Sunucu IP adresi: e-postada ve kontrol panelinde sağlanır;
- Kullanıcı adı:
default; - Şifre:
roothesabının şifresiyle eşleşir ve e-posta adresine gönderilir.
Önemli
GUI istemcileri (DBeaver, DataGrip ve diğerleri) için port 8123 (HTTP arayüzü) kullanın. Port 9000 yalnızca yerel clickhouse-client için ayrılmıştır.
ClickHouse'a Bağlanma¶
Bağlantı Yöntemleri
Bu bölüm, clickhouse-client (komut satırı istemcisi) ve DBeaver (grafiksel arayüz) aracılığıyla ClickHouse'a bağlanmanın en yaygın yollarını açıklar. ClickHouse ayrıca diğer istemciler aracılığıyla bağlantıları destekler: DataGrip, Tableau, MySQL Workbench (port 9004 üzerinden), pgAdmin (port 9005 üzerinden) ve Python, Go, Java ve diğer diller için programlama kütüphaneleri.
clickhouse-client aracılığıyla bağlanma¶
ClickHouse, veritabanı işlemleri için yerel bir komut satırı istemcisi içerir.
1. Sunucudan bağlanma (yerel olarak):
2. Uzak bir makineden bağlanma:
3. Basit bir sorgu yürütme:
4. Veritabanları listesini görüntüleme:
DBeaver aracılığıyla bağlanma¶
DBeaver, ClickHouse dahil olmak üzere çeşitli veritabanlarıyla çalışmak için evrensel bir GUI istemcisidir.
1. DBeaver'ı yükleme
DBeaver'ı resmi web sitesinden indirin ve yükleyin.
2. Yeni bir bağlantı oluşturma
- DBeaver'ı başlatın
- Database >> New Database Connection seçin (veya
Ctrl+Shift+Ntuşlarına basın)

- Veritabanı listesinde ClickHouse'u bulun ve seçin

Nextdüğmesine tıklayın
3. Bağlantı parametrelerini yapılandırma
Ayarlar penceresinde aşağıdaki parametreleri belirtin:
Host: <Sunucunuzun IP adresi>
Port: 8123
Database/Schema: (boş bırakın veya default belirtin)
Username: default
Password: <root_şifresi>

Son derece önemli
DBeaver bağlantıları için port 8123 kullanın.
4. JDBC sürücüsünü indirme
İlk kez bağlanırken, DBeaver ClickHouse için JDBC sürücüsünü indirmenizi isteyecektir:
- Açılır pencerede
Downloaddüğmesine tıklayın:

- Sürücünün indirilmesinin tamamlanmasını bekleyin:

OKdüğmesine tıklayın
5. Bağlantıyı test etme
Test Connectiondüğmesine tıklayın;- Her şey doğru yapılandırılmışsa, bir mesaj görünecektir: Connected (XXX ms):

- Mesaj şunları içerecektir:
- Server: ClickHouse X.X.X.XXX
- Driver: ClickHouse JDBC Driver X.X.X
6. Kurulumu tamamlama
Finishdüğmesine tıklayın;- Bağlantı Database Navigator'da görünecektir;
- Veritabanlarını, tabloları ve diğer nesneleri görüntülemek için bağlantı ağacını genişletin.

Yaygın sorunlar:
| Hata | Neden | Çözüm |
|---|---|---|
transport error: 400 | 8123 yerine port 9000 kullanıldı | Port 8123'e değiştirin |
Connection refused | Yanlış IP veya güvenlik duvarı portu engelliyor | IP adresini ve güvenlik duvarı kurallarını doğrulayın |
Authentication failed | Yanlış kullanıcı adı veya şifre | Kimlik bilgilerini doğrulayın |
Hostname is not specified | SSH tüneli yanlışlıkla yapılandırma olmadan etkinleştirildi | Bağlantı ayarlarında SSH sekmesini kapatın |
ClickHouse Temel Operasyonla¶
Veritabanı oluşturma¶
Tablo oluşturma¶
CREATE TABLE my_database.events
(
event_date Date,
event_time DateTime,
user_id UInt32,
event_type String,
value Float64
)
ENGINE = MergeTree()
PARTITION BY toYYYYMM(event_date)
ORDER BY (event_date, user_id);
Veri ekleme¶
INSERT INTO my_database.events VALUES
('2024-12-25', '2024-12-25 10:00:00', 1, 'click', 1.5),
('2024-12-25', '2024-12-25 10:05:00', 2, 'view', 2.3),
('2024-12-25', '2024-12-25 10:10:00', 1, 'purchase', 99.99);
Veri seçme¶
Basit sorgu:
Veri toplama:
SELECT
event_type,
count() as events_count,
avg(value) as avg_value
FROM my_database.events
WHERE event_date = '2024-12-25'
GROUP BY event_type;
Zaman serileri:
SELECT
toStartOfHour(event_time) as hour,
count() as events_per_hour
FROM my_database.events
WHERE event_date >= '2024-12-01'
GROUP BY hour
ORDER BY hour;
CSV'den veri içe aktarma¶
Tablo oluşturma:
CREATE TABLE my_database.logs
(
timestamp DateTime,
level String,
message String
)
ENGINE = MergeTree()
ORDER BY timestamp;
Veri içe aktarma:
Kullanıcıları ve yetkileri yönetme¶
Kullanıcı oluşturma:
İzin verme:
Kullanıcıları görüntüleme:
Yetkileri görüntüleme:
Servisi yönetme¶
Servisi başlatma:
Servisi durdurma:
Servisi yeniden başlatma:
Servis durumu:
Günlükleri görüntüleme:
Not
Root kullanıcısı olarak çalışmıyorsanız, komutların önüne sudo ekleyin: sudo clickhouse start
Aktif portları kontrol etme¶
ClickHouse'un hangi portları dinlediğini görmek için:
Veya daha detaylı:
Yapılandırmada yapılandırılmış portları kontrol etmek için:
Belirli bir portu kontrol etmek için:
Beklenen port kontrol çıktısı:
LISTEN *:8123 clickhouse-serv (HTTP)
LISTEN *:9000 clickhouse-serv (Native TCP)
LISTEN *:9004 clickhouse-serv (MySQL)
LISTEN *:9005 clickhouse-serv (PostgreSQL)
LISTEN *:9009 clickhouse-serv (Interserver)
Not
ClickHouse yapılandırması ve optimizasyonu hakkında detaylı bilgi resmi geliştirici belgelerinde mevcuttur.
API kullanarak ClickHouse sunucusu siparişi¶
Bu yazılımı API kullanarak kurmak için bu talimatlara göz atın.
Bu sayfanın bazı içerikleri ya da yazıları AI tarafından oluşturulmuş veya çevrilmiş olabilir.