Süper hızlı OLAP zaman serisi analitiği için ClickHouse'a yüksek performanslı dışa aktarım. Büyük veri analizi, IoT metrikleri ve günlük kaydı için tasarlanmıştır.
Platform içi telemetri depolaması ClickHouse'ta DeviceRawData tablosunu kullanır. Harici veritabanı hedeflerine yapılan outbound yazımlar ise hedef sistemde ProxusDeviceData tablosuna gider.
Telemetri tablosunda mühendislik birimleri Unit kolonu ile saklanır ve kolon tipi LowCardinality(String) olarak optimize edilmiştir. Bu sayede standart ve özel birimler birlikte verimli şekilde tutulur.
Resmi Dokümantasyon
clickhouse.com
Konfigürasyon Parametreleri
| Parametre | Zorunlu | Tip | Varsayılan | Açıklama |
|---|---|---|---|---|
| Host | Hayır | string | localhost | ClickHouse host adı. |
| Port | Hayır | int | 8123 | ClickHouse HTTP portu. |
| User | Hayır | string | default | Veritabanı kullanıcısı. |
| Password | Hayır | string | (boş) | Kullanıcı şifresi. |
| Database | Hayır | string | default | Hedef veritabanı adı. |
İç Davranış
Hata Toleransı & Outbox Deseni
ClickHouse erişilemez durumdaysa:
- Telemetri NATS JetStream outbox akışında tamponlanır.
- Bağlayıcı sürekli olarak bağlantıyı yeniden dener.
- Çevrimiçi olduğunda, outbox partileri ClickHouse'a boşaltılır.
Performans Özellikleri
- Asenkron Ekleme: ClickHouse'un yerel asenkron ekleme özelliğini kullanır.
- Sıkıştırma: Veriler LZ4 sıkıştırması ile
RowBinaryformatında serileştirilir. - Bölümleme (Partitioning): Eğer tabloyu Proxus oluşturursa, aya göre bölümler (
toYYYYMM(Time)).
Oluşturulan Tablolar
- Telemetri:
DeviceRawData - Loglar:
Logs - Metrikler:
DeviceMetrics