ClickHouse için Güçlü Yeni Bir JSON Veri Tipi Geliştirildi
(clickhouse.com)Giriş
- JSON, modern veri sistemlerinde yarı yapılandırılmış ve yapılandırılmamış verileri işlemek için standart format haline geldi.
- ClickHouse, JSON'un öneminin farkında ve JSON'u büyük ölçekte etkili şekilde kullanma konusunda bazı zorlukları çözüyor.
Zorluklar
-
Zorluk 1: Gerçek anlamda sütun odaklı depolama
JSON verilerini diğer sütun tipleri gibi verimli şekilde işlemek için JSON yollarının sütun odaklı biçimde depolanması gerekir. -
Zorluk 2: Dinamik olarak değişen veri ve tip entegrasyonu sorunu
Veri bütünlüğünü korumak için JSON yollarında farklı veri tiplerinin saklanabilmesi gerekir. -
Zorluk 3: Disk üzerindeki sütun veri dosyalarının patlamasını önleme
Çok sayıda benzersiz JSON anahtarı olduğunda sütun dosyalarının aşırı artmasını önlemek için sütun oluşturulmasına sınır konulmalıdır. -
Zorluk 4: Yoğun depolama
Benzersiz ama seyrek görülen çok sayıda JSON anahtarı olduğunda NULL veya varsayılan değerlerin tekrar tekrar depolanmaması gerekir.
Yeni JSON veri tipi
- ClickHouse, yüksek performanslı JSON veri işleme için yeni bir JSON veri tipi sunuyor.
- Bu tip, dinamik olarak değişen verileri desteklerken yüksek veri sıkıştırması ve sorgu performansını korur.
- JSON ayrıştırma için ipuçları sağlayarak performans ayarlanabilir.
Yapı taşı 1 - Variant tipi
- Variant tipi, aynı tablo sütunu içinde farklı veri tiplerindeki değerlerin verimli şekilde saklanmasını sağlar.
- Her veri tipi için ayrı bir alt sütun kullanarak veri bütünlüğünü korur.
Yapı taşı 2 - Dynamic tipi
- Dynamic tipi, Variant tipini genişleterek tipleri önceden tanımlamadan çeşitli veri tiplerinin saklanmasını sağlar.
- Depolanan tip sayısını sınırlayarak sütun dosyalarının aşırı artmasını önler.
ClickHouse JSON tipi
- Variant ve Dynamic tiplerine dayalı yeni JSON tipi uygulanarak tüm zorluklar çözülüyor.
- JSON nesnesinin yapısından bağımsız olarak saklanabilir ve JSON yolları alt sütunlar olarak kullanılarak değerler okunabilir.
GN⁺ özeti
- ClickHouse'un yeni JSON veri tipi, büyük ölçekli veri analizinde JSON'un performans sorunlarını çözmeye odaklanıyor.
- Bu tip, çeşitli veri tiplerini destekliyor ve yüksek performans ile ölçeklenebilirlik sağlıyor.
- JSON'un yanı sıra XML, YAML gibi diğer yarı yapılandırılmış tipleri de destekleyebilecek bir temel oluşturuyor.
- ClickHouse kullanan geliştiriciler için faydalı olup veri sıkıştırması ve sorgu performansında avantajlar sunuyor.
1 yorum
Hacker News yorumu
PostHog'da ClickHouse kullanma kararı verdikleri en iyi kararlardan biriydi. Performansı ölçeklendirirken aynı veri kümesiyle daha fazla ürün geliştirebildiler
JSON'a veri tipleri eklemenin bunun JSON olarak kalıp kalmadığı konusunda merak var
ClickHouse'ta bu özelliği görmek güzel
ClickHouse'u değerlendirirken Apache Pinot'yu da düşünmeye değer
Dinamik olarak değişen veriler için ilgi çekici görünüyor
ClickHouse'un JSON desteğini uzun zamandır bekliyordu; yeni tür ve dinamik sütunlar özellikle faydalı olacak
ClickHouse harika bir araç
Birkaç hafta önce ClickHouse'u denediğinde, sütun adlarına göre dosya adlandırdığı için uzun dosya adları ve slash karakterleri nedeniyle dosya sisteminde hatalar oluşmuştu
ClickHouse yeterince kullanılmıyor
clickhouse-local, SQL ile CSV işleme konusunda çok başarılı; Google Sheets veya Excel'den bıkanlara şiddetle tavsiye ediyor