ClickHouse/docs/tr/whats_new/changelog/2018.md
2020-04-15 16:56:49 +03:00

123 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true e8cd92bba3 78 2018

ClickHouse sürümü 18.16

ClickHouse sürümü 18.16.1, 2018-12-21

Hata düzeltmeleri:

  • ODBC kaynağı ile sözlükleri güncelleme ile ilgili sorunlara yol açan bir hata düzeltildi. #3825, #3829
  • Toplama işlevlerinin JIT derlemesi artık LowCardinality sütunlarıyla çalışır. #3838

Geliştirmeler:

  • Add theed the low_cardinality_allow_in_native_format ayar (varsayılan: etkin). Devre dışı bırakıldığında, LOWCARDİNALİTY sütunları, SELECT sorguları için sıradan sütunlara dönüştürülür ve INSERT sorguları için sıradan sütunlar beklenir. #3879

İyileştirmeler oluşturun:

  • MacOS ve ARM üzerine inşa için düzeltmeler.

ClickHouse yayın 18.16.0, 2018-12-14

Yenilik:

  • DEFAULT ifadeler, yarı yapılandırılmış giriş biçimlerinde veri yüklenirken eksik alanlar için değerlendirilir (JSONEachRow, TSKV). Özelliği ile etkin insert_sample_with_metadata ayar. #3555
  • Bu ALTER TABLE sorgu şimdi var MODIFY ORDER BY bir tablo sütunu eklerken veya kaldırırken sıralama anahtarını değiştirme eylemi. Bu tablolar için yararlıdır MergeTree bu sıralama anahtarına dayalı olarak birleştirilirken ek görevler gerçekleştiren aile SummingMergeTree, AggregatingMergeTree ve bu yüzden. #3581 #3755
  • Tablolar için MergeTree aile, şimdi farklı bir sıralama anahtarı belirtebilirsiniz (ORDER BY ve dizin (PRIMARY KEY). Sıralama anahtarı dizin daha uzun olabilir. #3581
  • Add theed the hdfs tablo fonksiyonu ve HDFS hdfs'ye veri içe ve dışa aktarmak için tablo motoru. chenxing-xc
  • Base64 ile çalışmak için fonksiyonlar eklendi: base64Encode, base64Decode, tryBase64Decode. Alexander Krasheninnikov
  • Şimdi hassasiyetini yapılandırmak için bir parametre kullanabilirsiniz uniqCombined toplama işlevi (HyperLogLog hücrelerinin sayısını seçin). #3406
  • Add theed the system.contributors ClickHouse taahhüt yapılan herkesin adlarını içeren tablo. #3452
  • Bölüm için ihmal yeteneği eklendi ALTER TABLE ... FREEZE tüm bölümleri bir kerede yedeklemek için sorgu. #3514
  • Katma dictGet ve dictGetOrDefault dönüş değeri türünü belirtmeyi gerektirmeyen işlevler. Tür sözlük açıklamasından otomatik olarak belirlenir. Amos Kuşu
  • Şimdi tablo açıklamasında bir sütun için yorum belirtmek ve kullanarak değiştirebilirsiniz ALTER. #3377
  • Okuma için desteklenir Join basit tuşlarla tabloları yazın. Amos Kuşu
  • Şimdi seçenekleri belirtebilirsiniz join_use_nulls, max_rows_in_join, max_bytes_in_join, ve join_overflow_mode oluştururken bir Join tablo yazın. Amos Kuşu
  • Add theed the joinGet kullan allowsmanıza olanak sağlayan bir işlev Join bir sözlük gibi tablo yazın. Amos Kuşu
  • Add theed the partition_key, sorting_key, primary_key, ve sampling_key Col theum thens to the system.tables tablo tuşları hakkında bilgi vermek için tablo. #3609
  • Add theed the is_in_partition_key, is_in_sorting_key, is_in_primary_key, ve is_in_sampling_key Col theum thens to the system.columns Tablo. #3609
  • Add theed the min_time ve max_time Col theum thens to the system.parts Tablo. Bölümleme anahtarı aşağıdakilerden oluşan bir ifade olduğunda bu sütunlar doldurulur DateTime sütun. Emmanuel Donin de Rosière

Hata düzeltmeleri:

  • Düzeltmeler ve performans iyileştirmeleri için LowCardinality veri türü. GROUP BY kullanım LowCardinality(Nullable(...)). Değerlerini almak extremes. Yüksek mertebeden fonksiyonların işlenmesi. LEFT ARRAY JOIN. Dağılı GROUP BY. Dönen işlevler Array. Yürütme ORDER BY. Yazma Distributed tablolar (nicelulu). Geriye dönük uyumluluk için INSERT uygulayan eski istemcilerden gelen sorgular Native protokol. İçin destek LowCardinality için JOIN. Tek bir akışta çalışırken geliştirilmiş performans. #3823 #3803 #3799 #3769 #3744 #3681 #3651 #3649 #3641 #3632 #3568 #3523 #3518
  • Sabit nasıl select_sequential_consistency seçenek çalışır. Daha önce, bu ayar etkinleştirildiğinde, bazen yeni bir bölüme yazmaya başladıktan sonra tamamlanmamış bir sonuç döndürüldü. #2863
  • DDL yürütülürken veritabanları doğru belirtilir ON CLUSTER sorgular ve ALTER UPDATE/DELETE. #3772 #3460
  • Veritabanları doğru bir görünüm içinde alt sorgular için belirtilir. #3521
  • Bir hata düzeltildi PREWHERE ile FINAL için VersionedCollapsingMergeTree. 7167bfd7
  • Şimdi kullanabilirsiniz KILL QUERY henüz başlatılmamış olan sorguları iptal etmek için, tablonun kilitlenmesini bekliyorlar. #3517
  • Saatlerin gece yarısı geri hareket ettirilmesi durumunda düzeltilmiş tarih ve saat hesaplamaları (bu İran'da olur ve Moskova'da 1981'den 1983'e kadar olur). Önceden, bu, gerekenden bir gün önce sıfırlanma süresine yol açtı ve ayrıca tarih ve saatin metin biçiminde yanlış biçimlendirilmesine neden oldu. #3819
  • Bazı durumlarda sabit hatalar VIEW ve veritabanını atlayan alt sorgular. Kış Zhang
  • Aynı anda bir yarıştan okurken bir yarış durumu düzeltildi MATERIALIZED VIEW ve Silme bir MATERIALIZED VIEW nedeniyle değil kilitleme iç MATERIALIZED VIEW. #3404 #3694
  • Hata düzeltildi Lock handler cannot be nullptr. #3689
  • Sabit sorgu işleme zaman compile_expressions seçenek etkindir (varsayılan olarak etkindir). Gibi Nondeterministic sabit ifadeler now işlev artık açılmıyor. #3457
  • Sabit olmayan bir ölçek argümanı belirtilirken bir kilitlenme düzeltildi toDecimal32/64/128 işlevler.
  • Bir dizi eklemeye çalışırken bir hata düzeltildi NULL element inler Values bir sütuna Biçimlendir türü Array olarak Nullable (eğer input_format_values_interpret_expressions = 1). #3487 #3503
  • Sabit sürekli hata günlüğü DDLWorker ZooKeeper mevcut değilse. 8f50c620
  • Sabit dönüş türü için quantile* gelen fonksiyonlar Date ve DateTime argüman türleri. #3580
  • Sabit WITH Ifade olmadan basit bir takma ad belirtirse yan tümcesi. #3570
  • Adlandırılmış alt sorgular ve nitelikli sütun adları ile sorguların sabit işleme enable_optimize_predicate_expression etkindir. Kış Zhang
  • Hata düzeltildi Attempt to attach to nullptr thread group maddi görüşlerle çalışırken. Marek Vavruša
  • Belirli yanlış argümanları iletirken bir kilitlenme düzeltildi arrayReverse işlev. 73e3a7b6
  • Tampon taş theması Düzelt theildi extractURLParameter işlev. Geliştirilmiş performans. Sıfır bayt içeren dizelerin doğru işlenmesi eklendi. 141e9799
  • Sabit tampon taşması lowerUTF8 ve upperUTF8 işlevler. Üzerinde bu işlevleri yürütmek için yeteneği kaldırıldı FixedString bağımsız değişkenleri yazın. #3662
  • Silerken nadir bir yarış durumu düzeltildi MergeTree Tablolar. #3680
  • Okuma sırasında bir yarış durumu düzeltildi Buffer tablolar ve aynı anda performans ALTER veya DROP hedef masalarda. #3719
  • Sabit bir segfault eğer max_temporary_non_const_columns sınır aşıldı. #3788

Geliştirmeler:

  • Sunucu için işlenmiş yapılandırma dosyalarını yazmaz /etc/clickhouse-server/ dizin. Bunun yerine, onları kaydeder preprocessed_configs içindeki dizin path. Bu demektir /etc/clickhouse-server/ dizin için yazma erişimi yok clickhouse güvenliği artıran kullanıcı. #2443
  • Bu min_merge_bytes_to_use_direct_io seçenek varsayılan olarak 10 GiB olarak ayarlanır. Mergetree ailesinden tabloların büyük bölümlerini oluşturan bir birleştirme gerçekleştirilir O_DIRECTırı sayfa önbellek tahliyesini önleyen mod. #3504
  • Hızlandırılmış sunucu, çok sayıda tablo olduğunda başlar. #3398
  • Bir bağlantı havuzu ve HTTP eklendi Keep-Alive yinelemeler arasındaki bağlantılar için. #3594
  • Sorgu sözdizimi geçersiz ise, 400 Bad Request kod iade edilir HTTP arabirim (500 daha önce iade edildi). 31bc680a
  • Bu join_default_strictness option is set to ALL uyumluluk için varsayılan olarak. 120e2cbe
  • Kaldırılan günlüğü stderr şuradan re2 geçersiz veya karmaşık düzenli ifadeler için kütüphane. #3723
  • İçin eklendi Kafka tablo altyapısı: kafka'dan okumaya başlamadan önce abonelikleri denetler; tablo için kafka_max_block_size ayarı. Marek Vavruša
  • Bu cityHash64, farmHash64, metroHash64, sipHash64, halfMD5, murmurHash2_32, murmurHash2_64, murmurHash3_32, ve murmurHash3_64 işlevler artık herhangi bir sayıda bağımsız değişken ve bağımsız değişkenler için tuples şeklinde çalışır. #3451 #3519
  • Bu arrayReverse işlev artık herhangi bir dizi türü ile çalışır. 73e3a7b6
  • İsteğe bağlı bir parametre eklendi: yuva boyutu için timeSlots işlev. Kirill Shvakov
  • İçin FULL ve RIGHT JOIN, bu max_block_size ayar, sağ tablodan birleştirilmemiş veri akışı için kullanılır. Amos Kuşu
  • Add theed the --secure komut satırı parametresi clickhouse-benchmark ve clickhouse-performance-test TLS'Yİ etkinleştirmek için. #3688 #3690
  • Tür dönüştürme zaman yapısı bir Buffer tür tablo hedef tablonun yapısıyla eşleşmiyor. Vitaly Baranov
  • Add theed the tcp_keep_alive_timeout belirtilen zaman aralığı için hareketsizlikten sonra canlı tutma paketlerini etkinleştirme seçeneği. #3441
  • Bölüm anahtarı için değerlerin gereksiz alıntı kaldırıldı system.parts tablo tek bir sütundan oluşuyorsa. #3652
  • Modulo fonksiyonu için çalışır Date ve DateTime veri türleri. #3385
  • İçin eş anlamlı eklendi POWER, LN, LCASE, UCASE, REPLACE, LOCATE, SUBSTR, ve MID işlevler. #3774 #3763 Bazı işlev adları, SQL standardı ile uyumluluk için büyük / küçük harf duyarsızdır. Sözdizimsel şeker eklendi SUBSTRING(expr FROM start FOR length) SQL ile uyumluluk için. #3804
  • Yeteneği eklendi mlock karşılık gelen bellek sayfaları clickhouse-server bellek yetersiz zorla önlemek için yürütülebilir kod. Bu özellik varsayılan olarak devre dışıdır. #3553
  • Okuma sırasında geliştirilmiş performans O_DIRECT (ile min_bytes_to_use_direct_io seçeneği etkin). #3405
  • Geliştirilmiş performans dictGet...OrDefault sabit anahtar bağımsız değişkeni ve sabit olmayan bir varsayılan bağımsız değişken için işlev. Amos Kuşu
  • Bu firstSignificantSubdomain işlev artık etki alanlarını işler gov, mil, ve edu. Igor Hatarist Geliştirilmiş performans. #3628
  • Başlangıç için özel ortam değişkenlerini belirleme yeteneği clickhouse-server kullanarak SYS-V init.d tanım bylayarak script CLICKHOUSE_PROGRAM_ENV içinde /etc/default/clickhouse. Pavlo Bashynskyi
  • Clickhouse-server init komut dosyası için doğru dönüş kodu. #3516
  • Bu system.metrics tablo şimdi var VersionInteger metr andik ve system.build_options eklenen satır var VERSION_INTEGER, ClickHouse sürümünün sayısal formunu içeren, örneğin 18016000. #3644
  • Karşılaştırma yeteneği kaldırıldı Date gibi olası hataları önlemek için bir sayı ile yazın date = 2018-12-17, tarih etrafında tırnak yanlışlıkla ihmal nerede. #3687
  • Durumsal işlevlerin davranışı gibi düzeltildi rowNumberInAllBlocks. Daha önce sorgu analizi sırasında başlatma nedeniyle bir sayı daha büyük olan bir sonuç çıkardılar. Amos Kuşu
  • Eğer... force_restore_data dosya silinemez, bir hata mesajı görüntülenir. Amos Kuşu

İyileştirmeler oluşturun:

  • Güncelleme jemalloc olası bir bellek sızıntısını gideren kitaplık. Amos Kuşu
  • İle profil profilingleme jemalloc hata ayıklama yapıları için varsayılan olarak etkindir. 2cc82f5c
  • Yalnızca entegrasyon testlerini çalıştırma yeteneği eklendi Docker sistemde yüklü. #3650
  • Select sorgularında fuzz ifade testi eklendi. #3442
  • Daha fazla yarış koşullarını tespit etmek için paralel ve rastgele sırayla fonksiyonel testler gerçekleştiren taahhütler için bir stres testi eklendi. #3438
  • Bir Docker görüntüsünde clickhouse-server başlatmak için yöntem geliştirildi. Elghazal Ahmed
  • Bir Docker görüntüsü için, dosyaları kullanarak veritabanlarını başlatmak için destek eklendi /docker-entrypoint-initdb.d dizin. Konstantin Lebedev
  • Arm üzerine inşa için düzeltmeler. #3709

Geriye dönük uyumsuz değişiklikler:

  • Karşılaştırma yeteneği kaldırıldı Date bir sayı ile yazın. Yerine toDate('2018-12-18') = 17883, açık tür dönüştürme kullanmanız gerekir = toDate(17883) #3687

ClickHouse sürümü 18.14

ClickHouse yayın 18.14.19, 2018-12-19

Hata düzeltmeleri:

  • ODBC kaynağı ile sözlükleri güncelleme ile ilgili sorunlara yol açan bir hata düzeltildi. #3825, #3829
  • DDL yürütülürken veritabanları doğru belirtilir ON CLUSTER sorgular. #3460
  • Sabit bir segfault eğer max_temporary_non_const_columns sınır aşıldı. #3788

İyileştirmeler oluşturun:

  • Arm üzerine inşa için düzeltmeler.

ClickHouse yayın 18.14.18, 2018-12-04

Hata düzeltmeleri:

  • Sabit hata dictGet... tip sözlükler için işlev range, argümanlardan biri sabit ve diğeri değilse. #3751
  • Mesajlara neden olan Sabit hata netlink: '...': attribute type 1 has an invalid length Linux çekirdeği günlüğüne yazdırılmak üzere, bu sadece Linux çekirdeğinin yeterince taze sürümlerinde gerçekleşiyordu. #3749
  • Fonksiyon sabit segfault empty argüman için FixedString tür. Daniel, Dao Quang Minh.
  • Büyük bir değer kullanırken sabit aşırı bellek ayırma max_query_size ayar (bir bellek yığını max_query_size bayt bir kerede önceden tahsis edildi). #3720

Yapı değişiklikleri:

  • OS paketlerinden sürüm 7 LLVM/Clang kütüphaneleri ile sabit yapı (bu kütüphaneler çalışma zamanı sorgu derleme için kullanılır). #3582

ClickHouse yayın 18.14.17, 2018-11-30

Hata düzeltmeleri:

  • ODBC köprü işlemi ana sunucu işlemi ile sonlandırmak değil sabit durumlar. #3642
  • Sabit senkron ekleme içine Distributed uzak tablonun sütun listesinden farklı bir sütun listesi içeren tablo. #3673
  • Bir MergeTree tablosunu düşürürken bir kazaya yol açabilecek nadir bir yarış durumu düzeltildi. #3643
  • Sorgu iş parçacığı oluşturma ile başarısız olduğunda bir sorgu kilitlenme düzeltildi Resource temporarily unavailable hatasız. #3643
  • Sabit ayrıştırma ENGINE fık thera ne zaman CREATE AS table sözdizimi kullanıldı ve ENGINE fık thera daha önce belirt theilmişti AS table (hata, belirtilen motoru yok saymakla sonuçlandı). #3692

ClickHouse yayın 18.14.15, 2018-11-21

Hata düzeltmeleri:

  • Bellek yığınının boyutu, türün sütununu seri hale getirirken fazla tahmin edildi Array(String) bu yol açar “Memory limit exceeded” hatasızlar. Sorun 18.12.13 sürümünde ortaya çıktı. #3589

ClickHouse yayın 18.14.14, 2018-11-20

Hata düzeltmeleri:

  • Sabit ON CLUSTER küme güvenli (bayrak) olarak yapılandırıldığında sorgular <secure>). #3599

Yapı değişiklikleri:

  • Sabit sorunlar (sistemden llvm-7, macos) #3582

ClickHouse yayın 18.14.13, 2018-11-08

Hata düzeltmeleri:

  • Sabit Block structure mismatch in MergingSorted stream hatasız. #3162
  • Sabit ON CLUSTER küme yapılandırmasında güvenli bağlantıların açık olması durumunda sorgular ( <secure> bayrak). #3465
  • Kullanılan sorgularda bir hata düzeltildi SAMPLE, PREWHERE ve alias sütunları. #3543
  • Sabit bir nadir unknown compression method hata ne zaman min_bytes_to_use_direct_io ayar etkinleştirildi. 3544

Performans iyileştirmeleri:

  • Sorguların sabit performans gerilemesi GROUP BY AMD EPYC işlemciler üzerinde yürütülürken uint16 veya tarih türü sütunların. Igor Lapko
  • Uzun dizeleri işleyen sorguların sabit performans gerilemesi. #3530

İyileştirmeler oluşturun:

  • Arcadia yapı basitleştirilmesi için iyileştirmeler. #3475, #3535

ClickHouse yayın 18.14.12, 2018-11-02

Hata düzeltmeleri:

  • İki isimsiz alt sorgu katılmadan bir kilitlenme düzeltildi. #3505
  • Hatalı sorgular oluşturma sabit (boş WHERE yan tümcesi) dış veritabanlarını sorgularken. hotid
  • ODBC sözlüklerinde yanlış bir zaman aşımı değeri kullanılarak düzeltildi. Marek Vavruša

ClickHouse yayın 18.14.11, 2018-10-29

Hata düzeltmeleri:

  • Hata düzeltildi Block structure mismatch in UNION stream: different number of columns sınır sorgularında. #2156
  • İç içe geçmiş yapılar içinde diziler içeren tablolarda veri birleştirirken sabit hatalar. #3397
  • Sabit yanlış sorgu sonuçları eğer merge_tree_uniform_read_distribution ayar devre dışı (varsayılan: etkin). #3429
  • Yerel formatta dağıtılmış bir tabloya ekler üzerinde bir hata düzeltildi. #3411

ClickHouse yayın 18.14.10, 2018-10-23

  • Bu compile_expressions ayar (ifadelerin JIT derlemesi) varsayılan olarak devre dışıdır. #3410
  • Bu enable_optimize_predicate_expression ayar varsayılan olarak devre dışıdır.

ClickHouse yayın 18.14.9, 2018-10-16

Yenilik:

  • Bu WITH CUBE değiştirici için GROUP BY (alternatif sözdizimi GROUP BY CUBE(...) ayrıca kullanılabilir) vardır. #3172
  • Add theed the formatDateTime işlev. Alexandr Krasheninnikov
  • Add theed the JDBC masa motoru ve jdbc tablo işlevi (clickhouse-jdbc-bridge yüklenmesini gerektirir). Alexandr Krasheninnikov
  • ISO hafta numarası ile çalışmak için fonksiyonlar eklendi: toISOWeek, toISOYear, toStartOfISOYear, ve toDayOfYear. #3146
  • Şimdi kullanabilirsiniz Nullable Col forum forns for MySQL ve ODBC Tablolar. #3362
  • İç içe geçmiş veri yapıları, iç içe geçmiş nesneler olarak okunabilir JSONEachRow biçimli. Add theed the input_format_import_nested_json ayar. Veloman Yunkan
  • Paralel işleme birçok kişi için kullanılabilir MATERIALIZED VIEWs veri eklerken. Görmek parallel_view_processing ayar. Marek Vavruša
  • Add theed the SYSTEM FLUSH LOGS sorgu (sistem tablolarına zorla günlük basması gibi query_log) #3321
  • Şimdi önceden tanımlanmış kullanabilirsiniz database ve table bildirirken makrolar Replicated Tablolar. #3251
  • Okuma yeteneği eklendi Decimal mühendislik notasyonunda değerleri yazın (on yetkilerini gösterir). #3153

Deneysel özellikler:

  • GROUP BY CLA clauseuse for LowCardinality data types. #3138
  • İçin ifadelerin optimize hesaplama LowCardinality data types. #3200

Geliştirmeler:

  • İle sorgular için önemli ölçüde azaltılmış bellek tüketimi ORDER BY ve LIMIT. Görmek max_bytes_before_remerge_sort ayar. #3205
  • Yokluğ theunda JOIN (LEFT, INNER, …), INNER JOIN kabul edilir. #3147
  • Nitelikli yıldız işaretleri ile sorgularda düzgün çalışır JOIN. Kış Zhang
  • Bu ODBC table engine doğru bir uzak veritabanı SQL lehçesinde tanımlayıcıları alıntı yöntemi seçer. Alexandr Krasheninnikov
  • Bu compile_expressions ayar (ifadelerin JIT derlemesi) varsayılan olarak etkindir.
  • Varsa eşzamanlı damla veritabanı/tablo için sabit davranış ve varsa veritabanı/tablo oluşturun. Daha önce, bir CREATE DATABASE ... IF NOT EXISTS sorgu hata iletisi döndürebilir “File … already exists” ve CREATE TABLE ... IF NOT EXISTS ve DROP TABLE IF EXISTS sorgular dönebilir Table ... is creating or attaching right now. #3101
  • MySQL veya ODBC tablolarından sorgularken sabit bir sağ yarıya sahip ifadelerde ve ifadelerde uzak sunucuya geçirilir. #3182
  • MySQL ve ODBC tablolarından sorgularken bir WHERE yan tümcesinde sabit ifadelerle karşılaştırmalar uzak sunucuya geçirilir. Önceden, sadece sabitler ile karşılaştırmalar geçirildi. #3182
  • Terminalde satır genişliğinin doğru hesaplanması Pretty hiyeroglifli dizeler de dahil olmak üzere formatlar. Amos Kuşu.
  • ON CLUSTER için belirt forilebilir ALTER UPDATE sorgular.
  • Verileri okumak için geliştirilmiş performans JSONEachRow biçimli. #3332
  • İçin eş anlamlı eklendi LENGTH ve CHARACTER_LENGTH uyumluluk için fonksiyonlar. Bu CONCAT işlev artık büyük / küçük harfe duyarlı değildir. #3306
  • Add theed the TIMESTAMP eşanlamlı DateTime tür. #3390
  • Günlük satırı bir sorgu ile ilişkili olmasa bile, sunucu günlüklerinde query_id için ayrılmış alan her zaman vardır. Bu, sunucu metin günlüklerini üçüncü taraf araçlarla Ayrıştırmayı kolaylaştırır.
  • Gigabayt bir tamsayı sonraki düzeyini aştığında, bir sorgu tarafından bellek tüketimi kaydedilir. #3205
  • Yerel protokolü kullanan istemci kitaplığı sunucu ekleme sorgusu için beklediğinden daha az sütun yanlışlıkla gönderdiğinde durum için uyumluluk modu eklendi. Bu senaryo, clickhouse-cpp kitaplığını kullanırken mümkün oldu. Daha önce, bu senaryo sunucunun çökmesine neden oldu. #3171
  • Kullanıcı tanımlı bir ifade içinde clickhouse-copier şimdi kullanabilirsiniz partition_key alias (kaynak tablo bölümüne göre ek filtreleme için). Bu, bölümleme şeması kopyalama sırasında değişirse, ancak yalnızca biraz değişirse yararlıdır. #3166
  • Bu iş akışı Kafka motor, yüksek yüklerde veri okuma hızını otomatik olarak azaltmak için bir arka plan iş parçacığı havuzuna taşındı. Marek Vavruša.
  • Okuma desteği Tuple ve Nested gibi yapıların değerleri struct in the Cap'n'Proto format. Marek Vavruša
  • İçin en üst düzey etki alanlarının listesi firstSignificantSubdomain işlev artık etki alanını içerir biz. decaseal
  • Dış sözlüklerin yapılandırmasında, null_value varsayılan veri türü değeri olarak yorumlanır. #3330
  • İçin destek intDiv ve intDivOrZero fonksiyonlar için Decimal. b48402e8
  • İçin destek Date, DateTime, UUID, ve Decimal anahtar olarak türleri sumMap toplama işlevi. #3281
  • İçin destek Decimal harici sözlüklerde veri türü. #3324
  • İçin destek Decimal veri türü SummingMergeTree Tablolar. #3348
  • İçin uzmanlık eklendi UUID içinde if. #3366
  • Sayısı azal thedı open ve close bir gelen okurken sistem çağrıları MergeTree table. #3283
  • A TRUNCATE TABLE sorgu (sorgu için lider yineleme geçirilir) herhangi bir yineleme üzerinde çalıştırılabilir. Kirill Shvakov

Hata düzeltmeleri:

  • İle bir sorun düzeltildi Dictionary için tablolar range_hashed sözlükler. Bu hata 18.12.17 sürümünde oluştu. #1702
  • Yüklerken bir hata düzeltildi range_hashed söz dictionarieslükler (mesaj Unsupported type Nullable (...)). Bu hata 18.12.17 sürümünde oluştu. #3362
  • Sabit hatalar pointInPolygon birbirine yakın bulunan çok sayıda köşe ile çokgenler için yanlış hesaplamaların birikmesi nedeniyle işlev. #3331 #3341
  • Veri parçalarını birleştirdikten sonra, elde edilen parçanın sağlama toplamı, başka bir kopyadaki aynı birleştirme sonucundan farklıysa, birleştirme sonucu silinir ve veri kısmı diğer kopyadan indirilir (bu doğru davranıştır). Ancak, veri bölümünü indirdikten sonra, parçanın zaten var olduğu bir hata nedeniyle çalışma kümesine eklenemedi(çünkü veri kısmı birleşmeden sonra bir miktar gecikmeyle silindi). Bu, aynı verileri indirmek için döngüsel girişimlere yol açtı. #3194
  • Sorgularla toplam bellek tüketiminin yanlış hesaplanması düzeltildi (yanlış hesaplama nedeniyle, max_memory_usage_for_all_queries ayar yanlış çalıştı ve MemoryTracking metrik yanlış bir değere sahipti). Bu hata, 18.12.13 sürümünde oluştu. Marek Vavruša
  • İşlevselliğini sabit CREATE TABLE ... ON CLUSTER ... AS SELECT ... Bu hata, 18.12.13 sürümünde oluştu. #3247
  • İçin veri yapılarının sabit gereksiz hazırlanması JOINeğer sorgu başlatan sunucuda s JOIN yalnızca uzak sunucularda gerçekleştirilir. #3340
  • Sabit hatalar Kafka motor: verileri okumaya başladığınızda istisnalardan sonra kilitlenmeler ve tamamlandıktan sonra kilitler Marek Vavruša.
  • İçin Kafka tablolar, isteğe bağlı schema parametre geç notilm (edi (şema Cap'n'Proto biçimli). Vojtech Splichal
  • ZooKeeper sunucularının topluluğu, bağlantıyı kabul eden ancak el sıkışmaya yanıt vermek yerine hemen kapatan sunuculara sahipse, ClickHouse başka bir sunucuya bağlanmayı seçer. Daha önce, bu hata üretti Cannot read all data. Bytes read: 0. Bytes expected: 4. ve sunucu başlatılamadı. 8218cf3a
  • Zookeeper sunucularının topluluğu, DNS sorgusunun bir hata döndürdüğü sunucular içeriyorsa, bu sunucular yoksayılır. 17b8e209
  • Arasında sabit tip dönüşüm Date ve DateTime veri eklerken VALUES biçim (eğer input_format_values_interpret_expressions = 1). Daha önce, dönüşüm Unix dönem zamanındaki gün sayısının sayısal değeri ile Unix zaman damgası arasında gerçekleştirildi ve bu da beklenmedik sonuçlara yol açtı. #3229
  • Arasında düzeltilmiş tip dönüşümü Decimal ve tam sayı. #3211
  • Sabit hatalar enable_optimize_predicate_expression ayar. Kış Zhang
  • Varsayılan olmayan bir CSV ayırıcı kullanılıyorsa, kayan noktalı sayılarla CSV formatında bir ayrıştırma hatası düzeltildi ; #3155
  • Sabit arrayCumSumNonNegative fonksiyon (akümülatör sıfırdan az ise negatif değerler biriktirmez). Aleksey Studnev
  • Sabit nasıl Merge tablolar üstünde çalışır Distributed kullanırken tablolar PREWHERE. #3165
  • Hata düzeltmeleri ALTER UPDATE sorgu.
  • Sabit hatalar odbc 18.12 sürümünde görünen tablo işlevi. #3197
  • İle toplama fonksiyon operationlarının çalışmasını sabit StateArray birleştiriciler. #3188
  • Bir bölme sırasında bir kilitlenme düzeltildi Decimal sıfır değeri. 69dd6609
  • Kullanarak işlemler için sabit çıktı türleri Decimal ve tamsayı argümanları. #3224
  • Sırasında segfault sabit GROUP BY üzerinde Decimal128. 3359ba06
  • Bu log_query_threads ayar (sorgu yürütme her iş parçacığı hakkında bilgi günlüğe kaydetme) şimdi yalnızca log_queries (sorgularla ilgili bilgileri günlüğe kaydetme) seçeneği 1 olarak ayarlanır. Sin thece the log_query_threads seçenek varsayılan olarak etkindir, sorgu günlüğü devre dışı bırakılmış olsa bile iş parçacıkları hakkında bilgi daha önce günlüğe kaydedildi. #3241
  • Quantiles toplama fonksiyonunun dağıtılmış işleminde bir hata düzeltildi (hata mesajı Not found column quantile...). 292a8855
  • Aynı anda sürüm 18.12.17 sunucuları ve eski sunuculardan oluşan bir küme üzerinde çalışırken uyumluluk sorunu düzeltildi. Hem sabit hem de sabit olmayan uzunluktaki GROUP BY anahtarlarıyla dağıtılmış sorgular için, toplanacak büyük miktarda veri varsa, döndürülen veriler her zaman tam olarak toplanmadı (iki farklı satır aynı toplama anahtarlarını içeriyordu). #3254
  • Değiştirmelerin sabit kullanımı clickhouse-performance-test, sorgu testte bildirilen değiştirmelerin yalnızca bir kısmını içeriyorsa. #3263
  • Kullanırken bir hata düzeltildi FINAL ile PREWHERE. #3298
  • Kullanırken bir hata düzeltildi PREWHERE sırasında eklenen sütun overların üzerinde ALTER. #3298
  • Olmaması için bir çek eklendi arrayJoin için DEFAULT ve MATERIALIZED ifadeler. Önceden, arrayJoin veri eklerken bir hataya yol açtı. #3337
  • Olmaması için bir çek eklendi arrayJoin in a PREWHERE yan. Daha önce, bu gibi mesajlara yol açtı Size ... doesn't match veya Unknown compression method sorguları yürütürken. #3357
  • Değiştirilen optimizasyon ve eşitlik değerlendirmelerinden karşılık gelen ifadeyle zincirler sonra nadir durumlarda ortaya çıkabilecek sabit segfault. liuyimin-bytedance
  • İçin küçük düzeltmeler clickhouse-benchmark: daha önce, istemci bilgileri sunucuya gönderilmedi; şimdi yürütülen sorguların sayısı kapatılırken ve yineleme sayısını sınırlamak için daha doğru hesaplanır. #3351 #3352

Geriye dönük uyumsuz değişiklikler:

  • Kaldır theılan allow_experimental_decimal_type seçenek. Bu Decimal veri türü varsayılan kullanım için kullanılabilir. #3329

ClickHouse sürümü 18.12

ClickHouse yayın 18.12.17, 2018-09-16

Yenilik:

  • invalidate_query (bir dış sözlük güncelleştirilmesi gerekip gerekmediğini denetlemek için bir sorgu belirtmek için yeteneği) clickhouse kaynaklı. #3126
  • Kullanma yeteneği eklendi UInt*, Int*, ve DateTime veri türleri (birlikte Date type) as a range_hashed aralıkların sınırlarını tanımlayan dış sözlük anahtarı. Şimdi NULLık bir aralık belirlemek için kullanılabilir. Vasily Nemkov
  • Bu Decimal şimdi yazın destekler var* ve stddev* toplama fonksiyonları. #3129
  • Bu Decimal tip artık matematiksel fonksiyonları destekliyor (exp, sin ve böyle devam eder.) #3129
  • Bu system.part_log tablo şimdi var partition_id sütun. #3089

Hata düzeltmeleri:

  • Merge şimdi düzgün çalışıyor Distributed Tablolar. Kış Zhang
  • Sabit uyumsuzluk (gereksiz bağımlılık glibc sürüm) bu Clickhouse'u çalıştırmayı imkansız hale getirdi Ubuntu Precise ve eski sürümleri. Uyumsuzluk 18.12.13 sürümünde ortaya çıktı. #3130
  • Sabit hatalar enable_optimize_predicate_expression ayar. Kış Zhang
  • 18.12.13'ten önceki sürümlerde bir kopya kümesiyle çalışırken ve aynı anda daha yeni bir sürüme sahip bir sunucuda bir tablonun yeni bir kopyasını oluştururken ortaya çıkan geriye dönük uyumluluğa sahip küçük bir sorun düzeltildi (mesajda gösterilir Can not clone replica, because the ... updated to new ClickHouse version, mantıklı, ama olmamalı). #3122

Geriye dönük uyumsuz değişiklikler:

  • Bu enable_optimize_predicate_expression seçenek varsayılan olarak etkindir (oldukça iyimser olan). Sütun adları için arama için ilgili sorgu çözümleme hataları oluşursa, ayarla enable_optimize_predicate_expression 0'a. Kış Zhang

ClickHouse yayın 18.12.14, 2018-09-13

Yenilik:

  • İçin destek eklendi ALTER UPDATE sorgular. #3035
  • Add theed the allow_ddl kullanıcının DDL sorgularına erişimini kısıtlayan seçenek. #3104
  • Add theed the min_merge_bytes_to_use_direct_io seçeneği için MergeTree birleştirmenin toplam boyutu için bir eşik ayarlamanıza izin veren motorlar(eşiğin üstünde olduğunda, veri parçası dosyaları o_direct kullanılarak işlenecektir). #3117
  • Bu system.merges sistem tablosu şimdi içerir partition_id sütun. #3099

Geliştirmeler

  • Bir veri parçası mutasyon sırasında değişmeden kalırsa, yinelemeler tarafından indirilmez. #3103
  • Otomatik tamamlama ile çalışırken ayarların adları için kullanılabilir clickhouse-client. #3106

Hata düzeltmeleri:

  • Elemanları olan dizilerin boyutları için bir kontrol eklendi Nested eklerken alanları yazın. #3118
  • İle harici sözlükler güncellenmesi bir hata düzeltildi ODBC kaynak ve hashed depolama. Bu hata, 18.12.13 sürümünde oluştu.
  • Bir sorgudan geçici bir tablo oluştururken bir kilitlenme düzeltildi IN koşul. Kış Zhang
  • Olabilecek diziler için toplam işlevlerde bir hata düzeltildi NULL öğeler. Kış Zhang

ClickHouse yayın 18.12.13, 2018-09-10

Yenilik:

  • Add theed the DECIMAL(digits, scale) veri türü (Decimal32(scale), Decimal64(scale), Decimal128(scale)). Etkinleştirmek için ayarı kullanın allow_experimental_decimal_type. #2846 #2970 #3008 #3047
  • Yeni WITH ROLLUP değiştirici için GROUP BY (alternatif sözdizimi: GROUP BY ROLLUP(...)). #2948
  • JOIN ile sorgularda, yıldız karakteri SQL standardına uygun olarak tüm tablolardaki sütunların bir listesine genişletir. Ayarlayarak eski davranışı geri yükleyebilirsiniz asterisk_left_columns_only kullanıcı yapılandırma düzeyinde 1'e. Kış Zhang
  • Tablo fonksiyonları ile katılmak için destek eklendi. Kış Zhang
  • Clickhouse-client sekmesine basarak otomatik tamamlama. Sergey Shcherbin
  • CTRL + C clickhouse-client girilen bir sorguyu temizler. #2877
  • Add theed the join_default_strictness ayar (değerler: ", 'any', 'all'). Bu belirtmemenizi sağlar ANY veya ALL için JOIN. #2982
  • Sorgu işleme ile ilgili sunucu günlüğünün her satırı sorgu kimliğini gösterir. #2482
  • Artık clickhouse-client'da sorgu yürütme günlükleri alabilirsiniz ( send_logs_level ayar). Dağıtılmış sorgu işleme ile günlükleri tüm sunuculardan basamaklandırılır. #2482
  • Bu system.query_log ve system.processes (SHOW PROCESSLIST) bir sorgu çalıştırdığınızda tablolar artık tüm değiştirilen ayarları hakkında bilgi var (iç içe geçmiş yapısı Settings veriler). Add theed the log_query_settings ayar. #2482
  • Bu system.query_log ve system.processes tablolar artık sorgu yürütülmesine katılan iş parçacığı sayısı hakkında bilgi gösterir (bkz. thread_numbers sütun). #2482
  • Katma ProfileEvents ağ üzerinden okuma ve yazma ve diske okuma ve yazma için harcanan zamanı, ağ hatalarının sayısını ve ağ bant genişliği sınırlı olduğunda bekleyen harcanan zamanı ölçen sayaçlar. #2482
  • Katma ProfileEventsrusage gelen ((bekle zaman G/Ç hakkında daha fazla bilgi edinmek için bu kullanım, CPU zamanı bekle ve veri miktarını okuma ve kaydedilen, sayfa önbelleği olan ve olmayan) kullanıcı alanı ve çekirdek, sayfa hataları ve bağlam anahtarlarının yanı sıra taskstats ölçülerine CPU kullanımı hakkında bilgi almak için onları kullanabilirsiniz) sistem ölçümlerini içeren sayaçları. #2482
  • Bu ProfileEvents sayaçlar, genel olarak ve her sorgu için ve ayrıca sorguya göre kaynak tüketimini ayrıntılı olarak profillemenize izin veren her sorgu yürütme iş parçacığı için uygulanır. #2482
  • Add theed the system.query_thread_log her sorgu yürütme iş parçacığı hakkında bilgi içeren tablo. Add theed the log_query_threads ayar. #2482
  • Bu system.metrics ve system.events tablolar artık yerleşik belgelere sahiptir. #3016
  • Add theed the arrayEnumerateDense işlev. Amos Kuşu
  • Add theed the arrayCumSumNonNegative ve arrayDifference işlevler. Aleksey Studnev
  • Add theed the retention toplama işlevi. Sundy Li
  • Artık Plus operatörünü kullanarak toplama işlevlerinin durumlarını ekleyebilir (birleştirebilirsiniz) ve toplama işlevlerinin durumlarını negatif olmayan bir sabitle çarpabilirsiniz. #3062 #3034
  • Mergetree ailesindeki tablolar artık sanal sütuna sahip _partition_id. #3089

Deneysel özellikler:

  • Add theed the LowCardinality(T) veri türü. Bu veri türü otomatik olarak yerel bir değer sözlüğü oluşturur ve sözlüğü açmadan veri işlemeye izin verir. #2830
  • JIT derlenmiş işlevlerin bir önbellek ve derlemeden önce kullanım sayısı için bir sayaç eklendi. JIT derleme ifadeleri için compile_expressions ayar. #2990 #3077

Geliştirmeler:

  • Terkedilmiş yinelemeler olduğunda çoğaltma günlüğünün sınırsız birikimi ile ilgili sorun giderildi. Uzun bir gecikme ile kopyaları için etkili bir kurtarma modu eklendi.
  • Geliştirilmiş performans GROUP BY bunlardan biri dize ve diğerleri sabit uzunlukta olduğunda birden fazla toplama alanı ile.
  • Kullanırken geliştirilmiş performans PREWHERE ve ifad ofelerin örtülü olarak aktar ofılmasıyla PREWHERE.
  • Metin formatları için geliştirilmiş ayrıştırma performansı (CSV, TSV). Amos Kuşu #2980
  • İkili biçimlerde okuma dizeleri ve diziler geliştirilmiş performans. Amos Kuşu
  • Sorgular için artan performans ve azaltılmış bellek tüketimi system.tables ve system.columns tek bir sunucuda çok sayıda tablo olduğunda. #2953
  • Bir hataya neden olan büyük bir sorgu akışı durumunda bir performans sorunu düzeltildi ( _dl_addr fonksiyon görünür perf top, ancak sunucu çok fazla CPU kullanmıyor). #2938
  • Koşullar Görünüm içine atılır (ne zaman enable_optimize_predicate_expression etkin) değildir. Kış Zhang
  • İçin işlevsellik geliştirmeleri UUID veri türü. #3074 #2985
  • Bu UUID veri türü-Simyacı sözlüklerde desteklenir. #2822
  • Bu visitParamExtractRaw işlev iç içe geçmiş yapılarla düzgün çalışır. Kış Zhang
  • Ne zaman input_format_skip_unknown_fields ayarı etkin, nesne alanları JSONEachRow biçim doğru atlanır. BlahGeek
  • İçin... CASE koşullarla ifade, şimdi atlayabilirsiniz ELSE eşdeğer olan ELSE NULL. #2920
  • ZooKeeper ile çalışırken operasyon zaman aşımı artık yapılandırılabilir. urykhy
  • İçin bir ofset belirtebilirsiniz LIMIT n, m olarak LIMIT n OFFSET m. #2840
  • Kullanabilirsiniz SELECT TOP n için alternatif olarak sözdizimi LIMIT. #2840
  • Sistem tablolarına yazmak için sıranın boyutunu arttırdı, böylece SystemLog parameter queue is full hata sık sık olmaz.
  • Bu windowFunnel toplama işlevi artık birden çok koşulu karşılayan olayları destekler. Amos Kuşu
  • Yinelenen sütunlar bir USING için fık forra JOIN. #3006
  • Pretty biçimlerin artık genişliğe göre sütun hizalaması üzerinde bir sınırı vardır. Kullan... output_format_pretty_max_column_pad_width ayar. Bir değer daha genişse, yine de bütünüyle görüntülenecektir, ancak tablodaki diğer hücreler çok geniş olmayacaktır. #3003
  • Bu odbc tablo işlevi artık veritabanı/şema adını belirtmenizi sağlar. Amos Kuşu
  • Belirtilen bir kullanıcı adı kullanma yeteneği eklendi clickhouse-client yapılandırma dosyası. Vladimir Kozbin
  • Bu ZooKeeperExceptions sayaç üç sayaçlara ayrılmıştır: ZooKeeperUserExceptions, ZooKeeperHardwareExceptions, ve ZooKeeperOtherExceptions.
  • ALTER DELETE sorgular hayata görünümler için çalışır.
  • Temizleme ipliğini periyodik olarak çalıştırırken randomizasyon eklendi ReplicatedMergeTree çok sayıda olduğunda periyodik yük ani önlemek için tablolar ReplicatedMergeTree Tablolar.
  • İçin destek ATTACH TABLE ... ON CLUSTER sorgular. #3025

Hata düzeltmeleri:

  • İle bir sorun düzeltildi Dictionary tablolar (atar Size of offsets doesn't match size of column veya Unknown compression method özel). Bu hata 18.10.3 sürümünde göründü. #2913
  • Birleştirirken bir hata düzeltildi CollapsingMergeTree veri parçalarından biri boşsa tablolar (bu parçalar birleştirme sırasında oluşturulur veya ALTER DELETE tüm veriler silindiyse) ve vertical birleştirme için algoritma kullanıldı. #3049
  • Sırasında bir yarış durumu düzeltildi DROP veya TRUNCATE için Memory eş zamanlı tablolar SELECT, sunucu çökmelerine neden olabilir. Bu hata 1.1.54388 sürümünde göründü. #3038
  • Takarken veri kaybı olasılığı düzeltildi Replicated tablolar ise Session is expired hata döndürülür (veri kaybı tarafından tespit edilebilir ReplicatedDataLoss ölçü). Bu hata 1.1.54378 sürümünde oluştu. #2939 #2949 #2964
  • Sırasında bir segfault sabit JOIN ... ON. #3000
  • Sütun adlarını ararken hata düzeltildi WHERE ifade tamamen nitelikli bir sütun adından oluşur, örneğin WHERE table.column. #2994
  • Sabit “Not found column” uzak bir sunucudan bir alt sorgu ile bir In ifadesinden oluşan tek bir sütun isteniyorsa, dağıtılmış sorgular yürütülürken oluşan hata. #3087
  • Sabit Block structure mismatch in UNION stream: different number of columns kırıklardan biri yerel ve diğeri değilse dağıtılmış sorgular için oluşan hata ve taşınmanın en iyi duruma getirilmesi PREWHERE tetik .lenir. #2226 #3037 #3055 #3065 #3073 #3090 #3093
  • Sabit pointInPolygon dışbükey olmayan poligonların belirli durumları için işlev. #2910
  • Karşılaştırırken yanlış sonuç düzeltildi nan tamsayılarla. #3024
  • Sabit bir hata zlib-ng nadir durumlarda segfault yol açabilir kütüphane. #2854
  • Bir tabloya eklerken bir bellek sızıntısı düzeltildi AggregateFunction sütunlar, toplama işlevinin durumu basit değilse (belleği ayrı olarak ayırır) ve tek bir ekleme isteği birden çok küçük blokla sonuçlanırsa. #3084
  • Aynı şeyi oluştururken ve silerken bir yarış durumu düzeltildi Buffer veya MergeTree aynı anda tablo.
  • Tuples gibi bazı önemsiz olmayan türlerinden oluşan tuples karşılaştırırken bir segfault olasılığını düzeltildi. #2989
  • Belirli çalıştırırken bir segfault olasılığı düzeltildi ON CLUSTER sorgular. Kış Zhang
  • Sabit bir hata arrayDistinct fonksiyonu için Nullable dizi elemanları. #2845 #2937
  • Bu enable_optimize_predicate_expression seçenek şimdi doğru olan durumları destekler SELECT *. Kış Zhang
  • Zookeeper oturumunu yeniden başlatırken segfault düzeltildi. #2917
  • ZooKeeper ile çalışırken sabit potansiyel engelleme.
  • Bir iç içe veri yapıları eklemek için sabit yanlış kod SummingMergeTree.
  • Toplama işlevlerinin durumları için bellek ayırırken, hizalama doğru bir şekilde dikkate alınır, bu da toplama işlevlerinin durumlarını uygularken hizalama gerektiren işlemlerin kullanılmasını mümkün kılar. chenxing-xc

Güvenlik düzeltme:

  • ODBC veri kaynaklarının güvenli kullanımı. ODBC sürücüleri ile etkileşim ayrı bir clickhouse-odbc-bridge işleyiş. Üçüncü taraf ODBC sürücülerindeki hatalar artık sunucu kararlılığı veya güvenlik açıklarıyla ilgili sorunlara neden olmaz. #2828 #2879 #2886 #2893 #2921
  • Dosya yolunun yanlış doğrulanması düzeltildi catBoostPool tablo işlevi. #2894
  • Sistem tablolarının içeriği (tables, databases, parts, columns, parts_columns, merges, mutations, replicas, ve replication_queue) kullanıcının veri tabanlarına yapılandırılmış erişimine göre filtrelenir (allow_databases). Kış Zhang

Geriye dönük uyumsuz değişiklikler:

  • JOIN ile sorgularda, yıldız karakteri SQL standardına uygun olarak tüm tablolardaki sütunların bir listesine genişletir. Ayarlayarak eski davranışı geri yükleyebilirsiniz asterisk_left_columns_only kullanıcı yapılandırma düzeyinde 1'e.

Yapı değişiklikleri:

  • Çoğu entegrasyon testleri artık commit tarafından çalıştırılabilir.
  • Kod stili kontrolleri de commit tarafından çalıştırılabilir.
  • Bu memcpy CentOS7/Fedora üzerinde inşa ederken uygulama doğru seçilir. Etienne Champetier
  • Oluşturmak için clang kullanırken, bazı uyarılar -Weverything düzenli ek olarak, eklenmiştir -Wall-Wextra -Werror. #2957
  • Yapı hata ayıklama kullanır jemalloc hata ayıklama seçeneği.
  • ZooKeeper ile etkileşim için kütüphanenin arayüzü soyut olarak ilan edilir. #2950

ClickHouse sürümü 18.10

ClickHouse yayın 18.10.3, 2018-08-13

Yenilik:

  • HTTPS çoğaltma için kullanılabilir. #2760
  • Fonksiyonları eklendi murmurHash2_64, murmurHash3_32, murmurHash3_64, ve murmurHash3_128 mevcut ek olarak murmurHash2_32. #2791
  • ClickHouse ODBC sürücüsündeki null türleri için destek (ODBCDriver2 çıkış biçimi). #2834
  • İçin destek UUID anahtar sütunlarda.

Geliştirmeler:

  • Kümeler, yapılandırma dosyalarından silindiğinde sunucuyu yeniden başlatmadan kaldırılabilir. #2777
  • Dış sözlükler, yapılandırma dosyalarından kaldırıldıklarında sunucuyu yeniden başlatmadan kaldırılabilir. #2779
  • Katma SETTINGS için destek Kafka masa motoru. Alexander Marshalov
  • İçin iyileştirmeler UUID veri türü (henüz tamamlanmadı). #2618
  • Birleştikten sonra boş parçalar için destek SummingMergeTree, CollapsingMergeTree ve VersionedCollapsingMergeTree motorlar. #2815
  • Tamamlanan Mut recordsasyon recordsların eski kayıtları silinir (ALTER DELETE). #2784
  • Add theed the system.merge_tree_settings Tablo. Kirill Shvakov
  • Bu system.tables tablo artık bağımlılık sütunları var: dependencies_database ve dependencies_table. Kış Zhang
  • Add theed the max_partition_size_to_drop yapılandırma seçeneği. #2782
  • Add theed the output_format_json_escape_forward_slashes seçenek. Alexander Bocharov
  • Add theed the max_fetch_partition_retries_count ayar. #2831
  • Add theed the prefer_localhost_replica yerel bir yineleme tercihini devre dışı bırakmak ve işlemler arası etkileşim olmadan yerel bir yinelemeye gitmek için ayarlama. #2832
  • Bu quantileExact toplama işlevi döndürür nan boş bir toplama durumunda Float32 veya Float64 koymak. Sundy Li

Hata düzeltmeleri:

  • ODBC için bağlantı dizesi parametrelerinin gereksiz bir şekilde kaçması kaldırıldı, bu da bağlantı kurmayı imkansız hale getirdi. Bu hata 18.6.0 sürümünde oluştu.
  • İşleme mantığı düzeltildi REPLACE PARTITION çoğaltma sırasındaki komutlar. İki tane varsa REPLACE aynı bölüm için komutlar, yanlış mantık, bunlardan birinin çoğaltma kuyruğunda kalmasına ve yürütülmesine neden olabilir. #2814
  • Tüm veri parçaları boş olduğunda bir birleştirme hatası düzeltildi (birleştirme veya ALTER DELETE tüm veriler silindiyse). Bu hata 18.1.0 sürümünde göründü. #2930
  • Eşzamanlı için bir hata düzeltildi Set veya Join. Amos Kuşu
  • Sabit Block structure mismatch in UNION stream: different number of columns için oluşan hata UNION ALL bir alt sorgu içindeki sorgular SELECT sorgular yinelenen sütun adları içerir. Kış Zhang
  • Bir MySQL sunucusuna bağlanırken bir istisna oluşursa bir bellek sızıntısı düzeltildi.
  • Bir sorgu hatası durumunda sabit yanlış clickhouse-istemci yanıt kodu.
  • Farklı içeren hayata görünümleri sabit yanlış davranış. #2795

Geriye dönük uyumsuz değişiklikler

  • Dağıtılmış tablolar için kontrol tablosu sorguları için destek kaldırıldı.

Yapı değişiklikleri:

  • Ayırıcı değiştirildi: jemalloc şimdi yerine kullanılır tcmalloc. Bazı senaryolarda, bu hız %20'ye kadar artar. Ancak, %20'ye kadar yavaşlamış sorgular vardır. Bellek tüketimi, bazı senaryolarda geliştirilmiş kararlılık ile yaklaşık %10 oranında azaltılmıştır. Son derece rekabetçi yüklerle, userspace ve sistemdeki CPU kullanımı sadece hafif bir artış gösterir. #2773
  • Bir alt modülden libressl kullanımı. #1983 #2807
  • Bir alt modülden unixodbc kullanımı. #2789
  • Bir alt modülden mariadb-connector-c kullanımı. #2785
  • Test verilerinin kullanılabilirliğine bağlı olan depoya işlevsel test dosyaları eklendi (şimdilik, test verilerinin kendisi olmadan).

ClickHouse sürümü 18.6

ClickHouse yayın 18.6.0, 2018-08-02

Yenilik:

  • Sözdizimi üzerinde katılmak için ifadeler için destek eklendi: JOIN ON Expr([table.]column ...) = Expr([table.]column, ...) [AND Expr([table.]column, ...) = Expr([table.]column, ...) ...] İfade, and operatörü tarafından birleştirilen bir eşitlik zinciri olmalıdır. Eşitliğin her bir tarafı, tablolardan birinin sütunları üzerinde keyfi bir ifade olabilir. Tam sütun adlarının kullanımı desteklenir (table.name, database.table.name, table_alias.name, subquery_alias.name) doğru tablo için. #2742
  • HTTPS çoğaltma için etkinleştirilebilir. #2760

Geliştirmeler:

  • Sunucu, sürümünün düzeltme eki bileşenini istemciye geçirir. Yama sürümü bileşeni ile ilgili veriler system.processes ve query_log. #2646

ClickHouse sürümü 18.5

ClickHouse sürümü 18.5.1, 2018-07-31

Yenilik:

  • Karma fonksiyonu eklendi murmurHash2_32 #2756.

Geliştirmeler:

  • Şimdi kullanabilirsiniz from_env #2741 ortam değişkenlerinden yapılandırma dosyalarındaki değerleri ayarlamak için öznitelik.
  • Eklenen büyük / küçük harf duyarlı sürümleri coalesce, ifNull, ve nullIf functions #2752.

Hata düzeltmeleri:

  • Bir kopya başlatırken olası bir hata düzeltildi #2759.

ClickHouse sürümü 18.4

ClickHouse yayın 18.4.0, 2018-07-28

Yenilik:

  • Eklenen sistem tabloları: formats, data_type_families, aggregate_function_combinators, table_functions, table_engines, collations #2721.
  • Bir argüman olarak bir tablo yerine bir tablo işlevini kullanma yeteneği eklendi remote veya cluster table function #2708.
  • İçin destek HTTP Basic çoğaltma protokolünde kimlik doğrulama #2727.
  • Bu has fonksiyon artık bir dizi sayısal bir değer için arama sağlar Enum değerler Maxim Khrisanfov.
  • Gelen okurken keyfi mesaj ayırıcılar eklemek için destek Kafka Amos Kuşu.

Geliştirmeler:

  • Bu ALTER TABLE t DELETE WHERE sorgu, where koşulundan etkilenmeyen veri bölümlerini yeniden yazmaz #2694.
  • Bu use_minimalistic_checksums_in_zookeeper seçeneği için ReplicatedMergeTree tablolar varsayılan olarak etkindir. Bu ayar 1.1.54378, 2018-04-16 sürümüne eklendi. 1.1.54378'den eski sürümler artık yüklenemez.
  • Koşu için destek KILL ve OPTIMIZE belirten sorgular ON CLUSTER Kış Zhang.

Hata düzeltmeleri:

  • Hata düzeltildi Column ... is not under an aggregate function and not in GROUP BY bir in ifadesi ile toplama için. Bu hata 18.1.0 sürümünde göründü. (bbdd780b)
  • Bu bir hata düzeltildi windowFunnel aggregate function Kış Zhang.
  • Bu bir hata düzeltildi anyHeavy toplama fonksiyonu (a2101df2)
  • Kullanırken sabit sunucu çökmesi countArray() toplama işlevi.

Geriye dönük uyumsuz değişiklikler:

  • İçin parametreler Kafka motor değiştirildi Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_schema, kafka_num_consumers]) -e doğru Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_row_delimiter, kafka_schema, kafka_num_consumers]). Tablolar kullanıyorsanız kafka_schema veya kafka_num_consumers parametreleri, elle meta dosyaları düzenlemek zorunda path/metadata/database/table.sql ve Ekle kafka_row_delimiter parametre ile '' değer.

ClickHouse sürümü 18.1

ClickHouse sürümü 18.1.0, 2018-07-23

Yenilik:

  • İçin destek ALTER TABLE t DELETE WHERE çoğaltılmamış MergeTree tabloları için sorgu (#2634).
  • İçin keyfi türleri için destek uniq* agrega fonksiyonları ailesi (#2010).
  • Karşılaştırma operatörlerinde keyfi türler için destek (#2026).
  • Bu users.xml dosya biçiminde bir alt ağ maskesi ayarlama sağlar 10.0.0.1/255.255.255.0. Bu, ortada sıfır olan IPv6 ağları için Maskeler kullanmak için gereklidir (#2637).
  • Add theed the arrayDistinct işlev (#2670).
  • SummingMergeTree altyapısı artık AggregateFunction türü sütunları ile çalışabilir (Constantin S. Pan).

Geliştirmeler:

  • Sürüm sürümleri için numaralandırma düzenini değiştirdi. Şimdi ilk bölüm sürüm yılını içeriyor (A. D., Moskova saat dilimi, eksi 2000), ikinci bölüm büyük değişikliklerin sayısını içeriyor (çoğu sürüm için artar) ve üçüncü bölüm yama sürümüdür. Aksi changelog belirtilmediği sürece bültenleri hala geriye dönük uyumludur.
  • Kayan noktalı sayıların bir dizeye daha hızlı dönüştürülmesi (Amos Kuşu).
  • Ayrıştırma hataları nedeniyle bir ekleme sırasında bazı satırlar atlanmışsa (bu, input_allow_errors_num ve input_allow_errors_ratio ayarları etkin), atlanan satır sayısı şimdi sunucu günlüğüne yazılır (Leonardo Cecchi).

Hata düzeltmeleri:

  • Geçici tablolar için TRUNCATE komutu düzeltildi (Amos Kuşu).
  • Yanıtı okurken bir ağ hatası olduğunda meydana gelen ZooKeeper istemci kütüphanesinde nadir bir kilitlenme düzeltildi (c315200).
  • Null türleri için bir döküm sırasında bir hata düzeltildi (#1322).
  • Yanlış sonuç düzeltildi maxIntersection() aralıkların sınırları çakıştığında işlev (Michael Furmur).
  • Bir işlev argümanında or ifade zincirinin yanlış dönüşümü düzeltildi (chenxing-xc).
  • İçeren sorgular için sabit performans düşüşü IN (subquery) başka bir alt sorgu içindeki ifadeler (#2571).
  • Bir kullanan dağıtılmış sorgularda farklı sürümleri ile sunucular arasında sabit uyumsuzluk CAST büyük harflerle olmayan işlev (fe8c4d6).
  • Harici bir DBMS sorguları için tanımlayıcıları alıntı eksik eklendi (#2635).

Geriye dönük uyumsuz değişiklikler:

  • DateTime için sıfır sayısını içeren bir dize dönüştürme çalışmaz. Örnek: SELECT toDateTime('0'). Bu da nedeni DateTime DEFAULT '0' tablolarda da çalışmıyor <null_value>0</null_value> sözlüklerde. Çözüm: değiştirin 0 ile 0000-00-00 00:00:00.

ClickHouse sürüm 1.1

ClickHouse sürümü 1.1.54394, 2018-07-12

Yenilik:

  • Add theed the histogram toplama fonksiyonu (Mikhail Surin).
  • Şimdi OPTIMIZE TABLE ... FINAL için bölümler belirt specifyingmeden kullanılabilir ReplicatedMergeTree (Amos Kuşu).

Hata düzeltmeleri:

  • Çoğaltılmış verileri gönderirken ve indirirken okumak ve yazmak için soketler için çok küçük bir zaman aşımı (bir saniye) ile ilgili bir sorun düzeltildi, bu da ağ veya diskte bir yük varsa daha büyük parçaları indirmeyi imkansız hale getirdi (parçaları indirmek için döngüsel girişimlerle sonuçlandı). Bu hata 1.1.54388 sürümünde oluştu.
  • Tabloda yinelenen veri blokları eklediyseniz zookeeper chroot kullanırken sorunlar giderildi.
  • Bu has işlev artık boş öğelere sahip bir dizi için doğru çalışıyor (#2115).
  • Bu system.tables tablo şimdi dağıtılmış sorgularda kullanıldığında düzgün çalışır. Bu metadata_modification_time ve engine_full sütunlar artık sanal değil. Tablodan yalnızca bu sütunlar sorgulanırsa oluşan bir hata düzeltildi.
  • Sabit nasıl boş TinyLog tablo boş bir veri bloğu ekledikten sonra çalışır (#2563).
  • Bu system.zookeeper zookeeper düğümün değeri NULL ise Tablo çalışır.

ClickHouse sürümü 1.1.54390, 2018-07-06

Yenilik:

  • Sorgular gönderilebilir multipart/form-data biçim (içinde query alan), sorgu işleme için harici veriler de gönderilirse yararlıdır (Olga Hvostikova).
  • CSV formatında veri okurken tek veya çift tırnak işleme etkinleştirmek veya devre dışı bırakmak için yeteneği eklendi. Bunu şu şekilde yapılandırabilirsiniz: format_csv_allow_single_quotes ve format_csv_allow_double_quotes ayarlar (Amos Kuşu).
  • Şimdi OPTIMIZE TABLE ... FINAL olmayan çoğaltılmış varyantları için bölüm belirtmeden kullanılabilir MergeTree (Amos Kuşu).

Geliştirmeler:

  • Geliştirilmiş performans, azaltılmış bellek tüketimi, ve doğru bellek tüketimi izleme kullanımı ile In operatör zaman bir tablo Endeksi kullanılabilir (#2584).
  • Bir veri parçası eklerken sağlama toplamlarının gereksiz denetimi kaldırıldı. Bu, çok sayıda çoğaltma olduğunda önemlidir,çünkü bu durumlarda toplam kontrol sayısı n^2'ye eşittir.
  • İçin destek eklendi Array(Tuple(...)) arg theum argumentsents for the arrayEnumerateUniq işlev (#2573).
  • Katma Nullable için destek runningDifference işlev (#2594).
  • Çok sayıda ifade olduğunda geliştirilmiş sorgu analizi performansı (#2572).
  • Birleştirme için veri parçalarının daha hızlı seçimi ReplicatedMergeTree Tablolar. ZooKeeper oturumunun daha hızlı iyileşmesi (#2597).
  • Bu format_version.txt için dosya MergeTree eksikse tablolar yeniden oluşturulur, bu da dizin yapısını dosyalar olmadan kopyaladıktan sonra ClickHouse başlatılırsa mantıklı olur (Ciprian Hacman).

Hata düzeltmeleri:

  • ZooKeeper ile çalışırken, sunucuyu yeniden başlatmadan önce oturumu ve readonly tablo durumlarını kurtarmayı imkansız hale getirebilecek bir hata düzeltildi.
  • Oturum kesilirse eski düğümlerin silinmemesine neden olabilecek ZooKeeper ile çalışırken bir hata düzeltildi.
  • Sabit bir hata quantileTDigest Float argümanları için işlev (bu hata 1.1.54388 sürümünde tanıtıldı) (Mikhail Surin).
  • Birincil anahtar sütunu, aynı boyuttaki imzalı ve imzasız tamsayılar arasındaki türleri dönüştürmek için işlevin içinde bulunuyorsa, mergetree tabloları için dizinde bir hata düzeltildi (#2603).
  • Sabit segfault eğer macros kullanılır ancak yapılandırma dosyasında değildir (#2570).
  • İstemci yeniden bağlanırken varsayılan veritabanına sabit anahtarlama (#2583).
  • Ne zaman meydana gelen bir hata düzeltildi use_index_for_in_with_subqueries ayar devre dışı bırakıldı.

Güvenlik düzeltme:

  • Mysql'e bağlandığında dosya göndermek artık mümkün değil (LOAD DATA LOCAL INFILE).

ClickHouse sürümü 1.1.54388, 2018-06-28

Yenilik:

  • İçin destek ALTER TABLE t DELETE WHERE çoğaltılmış tablolar için sorgu. Add theed the system.mutations bu tür sorguların ilerlemesini izlemek için tablo.
  • İçin destek ALTER TABLE t [REPLACE|ATTACH] PARTITION *MergeTree tabloları için sorgu.
  • İçin destek TRUNCATE TABLE sorgu (Kış Zhang)
  • Birkaç yeni SYSTEM çoğaltılmış tablolar için sorgular (RESTART REPLICAS, SYNC REPLICA, [STOP|START] [MERGES|FETCHES|SENDS REPLICATED|REPLICATION QUEUES]).
  • MySQL motoru ve ilgili tablo fonksiyonu ile bir tabloya yazma yeteneği eklendi (sundy-li).
  • Add theed the url() tablo fonksiyonu ve URL masa motoru (Alexander Sapin).
  • Add theed the windowFunnel toplama fonksiyonu (sundy-li).
  • Yeni startsWith ve endsWith dizeler için işlevler (Vadim Plakhtinsky).
  • Bu numbers() tablo işlevi artık ofset belirtmenizi sağlar (Kış Zhang).
  • Şifre için clickhouse-client etkileşimli olarak girilebilir.
  • Sunucu günlükleri artık syslog'a gönderilebilir (Alexander Krasheninnikov).
  • Paylaşılan kitaplık kaynağı ile sözlüklerde oturum açma desteği (Alexander Sapin).
  • Özel CSV sınırlayıcılar için destek (Ivan Zhukov)
  • Add theed the date_time_input_format ayar. Bu ayarı şu şekilde değiştirirseniz 'best_effort', DateTime değerleri biçimleri geniş bir yelpazede okunacaktır.
  • Add theed the clickhouse-obfuscator veri gizleme için yardımcı program. Kullanım örneği: performans testlerinde kullanılan verileri yayınlama.

Deneysel özellikler:

  • Hesaplamak için yeteneği eklendi and argümanlar sadece ihtiyaç duydukları yerde (Anastasia Tsarkova)
  • Yerel kod JIT derleme bazı ifadeler için artık kullanılabilir (pyos).

Hata düzeltmeleri:

  • Yinelemeler artık bir sorgu için görünmüyor DISTINCT ve ORDER BY.
  • İle sorgular ARRAY JOIN ve arrayFilter artık yanlış bir sonuç döndürmez.
  • İç içe geçmiş bir yapıdan bir dizi sütunu okurken bir hata düzeltildi (#2066).
  • Gibi bir having yan tümcesi ile sorguları analiz ederken bir hata düzeltildi HAVING tuple IN (...).
  • Özyinelemeli takma adlarla sorguları analiz ederken bir hata düzeltildi.
  • Tüm satırları filtreleyen PREWHERE bir koşul ile ReplacingMergeTree okurken bir hata düzeltildi (#2525).
  • HTTP arabirimindeki oturumları kullanırken kullanıcı profili ayarları uygulanmadı.
  • Clickhouse-local'deki komut satırı parametrelerinden ayarların nasıl uygulandığı düzeltildi.
  • ZooKeeper istemci kitaplığı artık sunucudan alınan oturum zaman aşımını kullanır.
  • İstemci zaman aşımı daha uzun sunucu yanıt bekledi ZooKeeper istemci kütüphanesinde bir hata düzeltildi.
  • Bölüm anahtar sütunlarındaki koşullarla sorgular için parçaların sabit budaması (#2342).
  • Birleşmeler şimdi mümkün CLEAR COLUMN IN PARTITION (#2315).
  • ODBC tablo işlevinde tür eşleme düzeltildi (sundy-li).
  • Tür karşılaştır formaları Düzelt forildi DateTime saat dilimi ile ve olmadan (Alexander Bocharov).
  • Sabit sözdizimsel ayrıştırma ve biçimlendirme CAST operatör.
  • Dağıtılmış tablo motoru için somutlaştırılmış bir görünüme sabit ekleme (Babacar Diassé).
  • Veri yazarken bir yarış durumu düzeltildi Kafka motor için hayata görünümleri (Yangkuan Liu).
  • Uzak () tablo işlevinde sabit SSRF.
  • Sabit çıkış davranışı clickhouse-client çok satırlı modda (#2510).

Geliştirmeler:

  • Çoğaltılmış tablolardaki arka plan görevleri artık ayrı iş parçacıkları yerine bir iş parçacığı havuzunda gerçekleştirilir (Silviu Caragea).
  • Geliştirilmiş lz4 sıkıştırma performansı.
  • Çok sayıda birleştirme ve alt sorgu ile sorgular için daha hızlı analiz.
  • Çok fazla ağ hatası olduğunda DNS önbelleği artık otomatik olarak güncellenir.
  • Çok fazla parçaya sahip olduğundan, materialized görünümlerden birine ekleme mümkün değilse, tablo ekleri artık oluşmaz.
  • Olay sayaçlarındaki tutarsızlık düzeltildi Query, SelectQuery, ve InsertQuery.
  • Gibi ifadeler tuple IN (SELECT tuple) tuple türleri eşleşirse izin verilir.
  • Çoğaltılmış tabloları olan bir sunucu, Zookeeper'ı yapılandırmasanız bile başlayabilir.
  • Mevcut CPU çekirdeklerinin sayısını hesaplarken, C gruplarındaki sınırlar şimdi dikkate alınmaktadır (Atri Sharma).
  • Systemd yapılandırma dosyasında yapılandırma dizinleri için chown eklendi (Mikhail Shiryaev).

Yapı değişiklikleri:

  • Gcc8 derleyicisi yapılar için kullanılabilir.
  • Alt modülden llvm oluşturma yeteneği eklendi.
  • Librdkafka kütüphanesinin sürümü v0.11.4 olarak güncellendi.
  • Sistem libcpuid kütüphanesini kullanma yeteneği eklendi. Kütüphane sürümü 0.4.0 olarak güncellendi.
  • Vectorclass kütüphanesini kullanarak yapı düzeltildi (Babacar Diassé).
  • Cmake şimdi varsayılan olarak ninja için dosyalar üretir (kullanırken olduğu gibi -G Ninja).
  • Libtermcap yerine libtınfo kütüphanesini kullanma yeteneği eklendi (Georgy Kondratiev).
  • Fedora Rawhide bir başlık dosyası çakışması düzeltildi (#2520).

Geriye dönük uyumsuz değişiklikler:

  • Çıkar escapingıldı Vertical ve Pretty* format Andlar ve silinen VerticalRaw biçimli.
  • 1.1.54388 (veya daha yeni) sürümüne sahip sunucular ve daha eski bir sürüme sahip sunucular dağıtılmış bir sorguda aynı anda kullanılıyorsa ve sorgunun cast(x, 'Type') ifade olmadan AS anahtar kelime ve kelime yok cast büyük harfle, bir istisna gibi bir mesajla atılır Not found column cast(0, 'UInt8') in block. Çözüm: tüm kümedeki sunucuyu güncelleyin.

ClickHouse sürümü 1.1.54385, 2018-06-01

Hata düzeltmeleri:

  • Bazı durumlarda zookeeper işlemlerinin engellenmesine neden olan bir hata düzeltildi.

ClickHouse sürümü 1.1.54383, 2018-05-22

Hata düzeltmeleri:

  • Bir tablo birçok yinelemeler varsa çoğaltma kuyruğunun bir yavaşlama düzeltildi.

ClickHouse sürümü 1.1.54381, 2018-05-14

Hata düzeltmeleri:

  • ClickHouse ZooKeeper sunucusuna bağlantı kaybettiğinde ZooKeeper bir düğüm sızıntısı düzeltildi.

ClickHouse sürüm 1.1.54380, 2018-04-21

Yenilik:

  • Tablo fonksiyonu eklendi file(path, format, structure). Örnek okuma baytları /dev/urandom: ln -s /dev/urandom /var/lib/clickhouse/user_files/random``clickhouse-client -q "SELECT * FROM file('random', 'RowBinary', 'd UInt8') LIMIT 10".

Geliştirmeler:

  • Alt sorgular sarılabilir () sorgu okunabilirliğini artırmak için parantez. Mesela: (SELECT 1) UNION ALL (SELECT 1).
  • Basit SELECT gelen sorgular system.processes tablo dahil değildir max_concurrent_queries sınır.

Hata düzeltmeleri:

  • Sabit yanlış davranış IN operatör ne zaman seçin MATERIALIZED VIEW.
  • Gibi ifadelerde bölüm indeksi ile sabit yanlış filtreleme partition_key_column IN (...).
  • Sabit yetersizlik yürütmek için OPTIMIZE eğer lider olmayan çoğaltma üzerinde sorgu REANAME masaya yapıldı.
  • Yürütülürken yetkilendirme hatası düzeltildi OPTIMIZE veya ALTER olmayan bir lider çoğaltma sorgular.
  • Sabit donma KILL QUERY.
  • Saatlerin kaybına yol açan ZooKeeper istemci kütüphanesinde bir hata, dağıtılmış DDL kuyruğunun dondurulması ve boş olmayan bir çoğaltma kuyruğundaki yavaşlamalar düzeltildi chroot önek ZooKeeper yapılandırmasında kullanılır.

Geriye dönük uyumsuz değişiklikler:

  • Gibi ifadeler için destek kaldırıldı (a, b) IN (SELECT (a, b)) (eşdeğer ifadeyi kullanabilirsiniz (a, b) IN (SELECT a, b)). Önceki sürümlerde, bu ifadeler belirsizliğe yol açtı WHERE filtreleme veya neden olan hatalar.

ClickHouse sürümü 1.1.54378, 2018-04-16

Yenilik:

  • Günlük düzeyi sunucuyu yeniden başlatmadan değiştirilebilir.
  • Add theed the SHOW CREATE DATABASE sorgu.
  • Bu query_id geç canilebilir clickhouse-client (elBroom).
  • Yeni ayar: max_network_bandwidth_for_all_users.
  • İçin destek eklendi ALTER TABLE ... PARTITION ... için MATERIALIZED VIEW.
  • Sistem tablosunda sıkıştırılmamış formdaki veri parçalarının boyutu hakkında bilgi eklendi.
  • Dağıtılmış tablolar için sunucudan sunucuya şifreleme desteği (<secure>1</secure> rep thelik thea config in <remote_servers>).
  • Tablo düzeyi için yapılandırma ReplicatedMergeTree Zookeeper saklanan veri miktarını en aza indirmek için aile: : use_minimalistic_checksums_in_zookeeper = 1
  • Yapılandırma clickhouse-client istem. Varsayılan olarak, sunucu adları artık istemine çıktı. Sunucunun görünen adı değiştirilebilir. Ayrıca gönderilen X-ClickHouse-Display-Name HTTP Başlığı (Kirill Shvakov).
  • Birden çok virgülle ayrılmış topics için belirt theilebilir Kafka motor (Tobias Adamson)
  • Bir sorgu tarafından durdurulduğunda KILL QUERY veya replace_running_query, müşteri alır Query was canceled eksik bir sonuç yerine istisna.

Geliştirmeler:

  • ALTER TABLE ... DROP/DETACH PARTITION sorgular, çoğaltma kuyruğunun önünde çalıştırılır.
  • SELECT ... FINAL ve OPTIMIZE ... FINAL tablo tek bir veri parçası olduğunda bile kullanılabilir.
  • A query_log el ile silindiyse tablo anında yeniden oluşturulur (Kirill Shvakov).
  • Bu lengthUTF8 fonksiyon daha hızlı çalışır (zhang2014).
  • Senkron ekler geliştirilmiş performans Distributed Tablolar (insert_distributed_sync = 1) çok sayıda parça olduğunda.
  • Sunucu kabul eder send_timeout ve receive_timeout istemciden ayarlar ve istemciye bağlanırken bunları uygular (bunlar ters sırada uygulanır: sunucu soketinin send_timeout için ayarlanır receive_timeout müşteriden alınan değer ve tersi).
  • Asenkron ekleme için daha sağlam kilitlenme kurtarma Distributed Tablolar.
  • Dönüş türü countEqual fonksiyon değiştirildi UInt32 -e doğru UInt64 (谢磊).

Hata düzeltmeleri:

  • Bir hata düzeltildi IN ifadenin sol tarafı olduğunda Nullable.
  • Tuples ile birlikte kullanıldığında doğru sonuçlar şimdi döndürülür IN bazı tuple bileşenleri tablo dizininde olduğunda.
  • Bu max_execution_time limit şimdi dağıtılmış sorgularla düzgün çalışır.
  • Bileşik sütunların boyutunu hesaplarken sabit hatalar system.columns Tablo.
  • Geçici bir tablo oluştururken bir hata düzeltildi CREATE TEMPORARY TABLE IF NOT EXISTS.
  • Sabit hatalar StorageKafka (##2075)
  • Sabit sunucu, belirli toplam işlevlerin geçersiz argümanlarından çöker.
  • Engellenen hata düzeltildi DETACH DATABASE için arka plan görevlerini durdurma sorgusu ReplicatedMergeTree Tablolar.
  • Too many parts toplu materialized görünümler (##2084) eklerken durum daha az olasıdır.
  • Bir ikame aynı düzeyde başka bir ikame tarafından takip edilmesi gerekiyorsa, yapılandırmada değiştirmelerin düzeltilmiş özyinelemeli işleme.
  • Bir oluştururken meta veri dosyasında sözdizimi düzeltildi VIEW bu bir sorgu ile kullanır UNION ALL.
  • SummingMergeTree şimdi bir bileşik anahtar ile iç içe veri yapılarının toplamı için doğru çalışır.
  • Lider seçerken bir yarış durumu olasılığı sabit ReplicatedMergeTree Tablolar.

Yapı değişiklikleri:

  • Yapı destekler ninja yerine make ve kullanımları ninja sürümleri oluşturmak için varsayılan olarak.
  • Yeniden adlandırılan paketler: clickhouse-server-base içinde clickhouse-common-static; clickhouse-server-common içinde clickhouse-server; clickhouse-common-dbg içinde clickhouse-common-static-dbg. Yüklemek için kullanın clickhouse-server clickhouse-client. Eski adlara sahip paketler, geriye dönük uyumluluk için depolara yüklenmeye devam edecektir.

Geriye dönük uyumsuz değişiklikler:

  • Sol tarafta bir dizi belirtilmişse, bir In ifadesinin özel yorumunu kaldırıldı. Daha önce, ifade arr IN (set) olarak yorum waslandı “at least one arr element belongs to the set”. Yeni sürümde aynı davranışı elde etmek için şunları yazın arrayExists(x -> x IN (set), arr).
  • Soket seçeneğinin yanlış kullanımı devre dışı bırakıldı SO_REUSEPORT, poco kitaplığında varsayılan olarak yanlış etkinleştirildi. Linux'ta artık adresleri aynı anda belirtmek için herhangi bir neden olmadığını unutmayın :: ve 0.0.0.0 for listen use just ::(varsayılan çekirdek yapılandırma ayarları ile) IPv4 ve IPv6 üzerinden hem bağlantı dinleme sağlar. Belirterek önceki sürümlerden davranışa da geri dönebilirsiniz <listen_reuse_port>1</listen_reuse_port> config.

ClickHouse sürümü 1.1.54370, 2018-03-16

Yenilik:

  • Add theed the system.macros tablo ve yapılandırma dosyası değiştirildiğinde makroların otomatik güncellenmesi.
  • Add theed the SYSTEM RELOAD CONFIG sorgu.
  • Add theed the maxIntersections(left_col, right_col) aynı anda kesişen aralıkların maksimum sayısını döndüren toplama işlevi [left; right]. Bu maxIntersectionsPosition(left, right) fonksiyonun başlangıcını döndürür “maximum” aralıklı. (Michael Furmur).

Geliştirmeler:

  • Bir veri eklerken Replicated tablo, daha az istek yapılır ZooKeeper (ve kullanıcı düzeyinde hataların çoğu ZooKeeper günlük).
  • Veri kümeleri için takma ad oluşturma yeteneği eklendi. Örnek: WITH (1, 2, 3) AS set SELECT number IN set FROM system.numbers LIMIT 10.

Hata düzeltmeleri:

  • Sabit Illegal PREWHERE birleştirme tablolarından okunurken hata DistributedTablolar.
  • Eğer IPv4 sadece Docker kaplarda clickhouse-server başlatmak için izin eklendi düzeltmeler.
  • Sistemden okurken bir yarış durumu düzeltildi system.parts_columns tables.
  • Bir senkron ekleme sırasında çift tamponlama kaldırıldı Distributed zaman aşımı için bağlantı neden olabilir tablo.
  • Başlamadan önce kullanılamayan bir kopya için aşırı uzun beklemelere neden olan bir hata düzeltildi SELECT sorgu.
  • Sabit yanlış tarihler system.parts Tablo.
  • İmkansız bir veri eklemek için yapılan bir hata düzeltildi Replicated tablo ise chroot yapılandırmada boş değildi ZooKeeper küme.
  • Boş bir dikey birleştirme algoritması düzeltildi ORDER BY Tablo.
  • Uzak tablo, bu sözlük istemcisi sunucu üzerinde yoksa bile sorgular sözlük kullanma olanağı sağlandı. Bu işlevsellik 1.1.54362 sürümünde kayboldu.
  • Gibi sorgular için davranışı geri SELECT * FROM remote('server2', default.table) WHERE col IN (SELECT col2 FROM default.table) ne zaman sağ tarafı IN bir uzaktan kumanda kullanmalı default.table yerel bir yerine. Bu davranış 1.1.54358 sürümünde bozuldu.
  • Kaldırılan gereksiz hata düzeyi günlüğü Not found column ... in block.

ClickHouse Yayın 1.1.54362, 2018-03-11

Yenilik:

  • Olmadan toplama GROUP BY boş bir set için (örneğin SELECT count(*) FROM table WHERE 0) şimdi SQL standardına uygun olarak toplam işlevler için boş değerlere sahip bir satırla bir sonuç döndürür. Eski davranışı geri yüklemek için (boş bir sonuç döndürür), empty_result_for_aggregation_by_empty_set 1'e.
  • İçin Tip dönüştürme eklendi UNION ALL. Farklı takma ad adlarına izin verilir SELECT pozisyon inlar UNION ALL, SQL standardına uygun olarak.
  • Keyfi ifadeler desteklenir LIMIT BY yanlar. Daha önce, yalnızca aşağıdakilerden kaynaklanan sütunları kullanmak mümkündü SELECT.
  • Dizini MergeTree tablolar şu durumlarda kullanılır IN birincil anahtarın sütunlarından bir ifade kümesine uygulanır. Örnek: WHERE (UserID, EventDate) IN ((123, '2000-01-01'), ...) (Anastasiya Tsarkova).
  • Add theed the clickhouse-copier kümeleri ve resharding veri (beta) arasında kopyalama aracı.
  • Tutarlı karma fonksiyonları eklendi: yandexConsistentHash, jumpConsistentHash, sumburConsistentHash. Onlar sonraki reshardings sırasında ağ trafiği miktarını azaltmak için bir sharding anahtar olarak kullanılabilir.
  • Eklenen fonksiyonlar: arrayAny, arrayAll, hasAny, hasAll, arrayIntersect, arrayResize.
  • Add theed the arrayCumSum fonksiyon (Javi Santana).
  • Add theed the parseDateTimeBestEffort, parseDateTimeBestEffortOrZero, ve parseDateTimeBestEffortOrNull çok çeşitli Olası biçimlerde metin içeren bir dizeden datetime okumak için işlevler.
  • Veriler, güncelleme sırasında harici sözlüklerden kısmen yeniden yüklenebilir (yalnızca belirtilen alanın değerinin önceki indirmeden daha büyük olduğu kayıtları yükleyin) (Arsen Hakobyan).
  • Add theed the cluster tablo işlevi. Örnek: cluster(cluster_name, db, table). Bu remote tablo işlevi, bir tanımlayıcı olarak belirtilirse, küme adını ilk bağımsız değişken olarak kabul edebilir.
  • Bu remote ve cluster tablo fonksiyonları kullanılabilir INSERT sorgular.
  • Add theed the create_table_query ve engine_full sanal sütunlar için system.tablesTablo . Bu metadata_modification_time sütun sanal.
  • Add theed the data_path ve metadata_path sütunlar için system.tablesvesystem.databases tablolar ve eklenen path Col theum then to the system.parts ve system.parts_columns Tablolar.
  • Birleştirme hakkında ek bilgi eklendi system.part_log Tablo.
  • Keyfi bir bölümleme anahtarı için kullanılabilir system.query_log tablo (Kirill Shvakov).
  • Bu SHOW TABLES sorgu şimdi de geçici tablolar gösterir. Geçici tablolar eklendi ve is_temporary sütun için system.tables (zhang2014).
  • Katma DROP TEMPORARY TABLE ve EXISTS TEMPORARY TABLE sorgular (zhang2014).
  • İçin destek SHOW CREATE TABLE geçici tablolar için (zhang2014).
  • Add theed the system_profile iç işlemler tarafından kullanılan ayarlar için yapılandırma parametresi.
  • Yükleme desteği object_id bir nitelik olarak MongoDB sözlükler (Pavel Litvinenko).
  • Okuma null harici bir sözlük için veri yüklerken varsayılan değer olarak MongoDB kaynak (Pavel Litvinenko).
  • Okuma DateTime değerleri Values tek tırnak işaretleri olmadan bir Unix zaman damgasından biçimlendirin.
  • Yük devretme desteklenir remote tablo işlevleri bazı yinelemeler istenen tablo eksik olduğunda durumlar için.
  • Çalıştırdığınızda yapılandırma ayarları komut satırında geçersiz kılınabilir clickhouse-server. Örnek: clickhouse-server -- --logger.level=information.
  • Uygulanan empty fonksiyonu bir FixedString argüman: dize tamamen boş bayttan oluşuyorsa (zhang2014) işlev 1 döndürür.
  • Add theed the listen_trybazı adresler dinlenemiyorsa (IPv4 veya IPv6 için engelli desteği olan sistemler için kullanışlıdır), dinleme adreslerinden en az birini bırakmadan dinlemek için yapılandırma parametresi.
  • Add theed the VersionedCollapsingMergeTree masa motoru.
  • Satır ve rasgele sayısal türleri için destek library sözlük kaynağı.
  • MergeTree tablolar birincil anahtar olmadan kullanılabilir (belirtmeniz gerekir ORDER BY tuple()).
  • A Nullable tipi olabilir CAST olmayan -Nullable bağımsız değişken değilse yazın NULL.
  • RENAME TABLE için yapılabilir VIEW.
  • Add theed the throwIf işlev.
  • Add theed the odbc_default_field_size bir ODBC kaynağından yüklenen değerin en büyük boyutunu genişletmenizi sağlayan seçenek (varsayılan olarak, 1024'tür).
  • Bu system.processes masa ve SHOW PROCESSLIST şimdi var is_cancelled ve peak_memory_usage sütun.

Geliştirmeler:

  • Sonuç üzerindeki sınırlar ve kotalar artık Ara verilere uygulanmıyor INSERT SELECT sorgular veya SELECT alt sorgular.
  • Daha az yanlış tetikleyici force_restore_data durumunu kontrol ederken Replicated sunucu başladığında tablolar.
  • Add theed the allow_distributed_ddl seçenek.
  • Nondeterministic işlevleri için ifadelerde izin verilmez MergeTree masa tuşları.
  • Değiştirmeleri olan dosyalar config.d dizinler alfabetik sırayla yüklenir.
  • Geliştirilmiş performans arrayElement elemanlardan biri olarak boş bir dizi ile sabit çok boyutlu bir dizi durumunda işlev. Örnek: [[1], []][x].
  • Sunucu, yapılandırma dosyalarını çok büyük ikamelerle (örneğin, çok büyük IP ağları listeleri) kullanırken daha hızlı başlar.
  • Bir sorgu çalıştırırken, tablo değerli işlevleri bir kez çalıştırın. Önceden, remote ve mysql tablo değerli işlevler, tablo yapısını uzak bir sunucudan almak için aynı sorguyu iki kez gerçekleştirdi.
  • Bu MkDocs belg .eleme üret .eci kullanılır.
  • Bir tablo sütunu silmeye çalıştığınızda, DEFAULT/MATERIALIZED diğer sütunların ifadeleri bağlıdır, bir istisna atılır (zhang2014).
  • İçin sayı 0 olarak metin biçimlerinde boş bir satır ayrıştırmak için yeteneği eklendi Float veri türleri. Bu özellik daha önce mevcuttu, ancak 1.1.54342 sürümünde kayboldu.
  • Enum değerleri kullanılabilir min, max, sum ve diğer bazı fonksiyonlar. Bu durumlarda, karşılık gelen sayısal değerleri kullanır. Bu özellik daha önce mevcuttu, ancak 1.1.54337 sürümünde kayboldu.
  • Katma max_expanded_ast_elements yinelemeli genişleyen takma adlar sonra AST boyutunu kısıtlamak için.

Hata düzeltmeleri:

  • Gereksiz sütunlar hatalı alt sorgulardan kaldırıldığında veya içeren alt sorgulardan kaldırılmadığında sabit durumlar UNION ALL.
  • İçin birleştirir bir hata düzeltildi ReplacingMergeTree Tablolar.
  • Sabit senkron eklemeler Distributed Tablolar (insert_distributed_sync = 1).
  • Belirli kullanımlar için sabit segfault FULL ve RIGHT JOIN alt sorgularda yinelenen sütunlarla.
  • Belirli kullanımlar için sabit segfault replace_running_query ve KILL QUERY.
  • Sabit sipariş source ve last_exception Col theum thens in the system.dictionaries Tablo.
  • Sabit hata zaman DROP DATABASE sorgu meta verileri ile dosyayı silmedi.
  • Sabit DROP DATABASE sorgu için Dictionary veritabanılar.
  • Sabit düşük hassasiyet uniqHLL12 ve uniqCombined 100 milyondan fazla öğe için işlevler (Alex Bocharov).
  • Aynı anda varsayılan açık ifadeleri hesaplamak için gerektiğinde örtülü varsayılan değerlerin hesaplanması düzeltildi INSERT sorgular (zhang2014).
  • Bir sorgu için nadir bir durum düzeltildi MergeTree tablo bitiremedi (chenxing-xc).
  • Bir çalışırken meydana gelen bir kilitlenme düzeltildi CHECK sorgu için Distributed tüm parçalar yerel ise tablolar (chenxing.xcc).
  • Düzenli ifadeler kullanan işlevlerle hafif bir performans gerilemesi düzeltildi.
  • Karmaşık ifadelerden çok boyutlu diziler oluştururken bir performans gerilemesi düzeltildi.
  • Ekstra bir neden olabilecek bir hata düzeltildi FORMAT bir bölümde görün toecek bölüm .sql meta veriler içeren dosya.
  • Neden bir hata düzeltildi max_table_size_to_drop s deleteilmeye çalış aılırken uygulanacak sınır MATERIALIZED VIEWıkça belirtilen bir tabloya bakıyor.
  • Eski istemcilerle sabit uyumsuzluk (eski istemciler bazen DateTime('timezone') anlamadıkları tür).
  • Okurken bir hata düzeltildi Nested kullanılarak eklenen yapıların sütun elemanları ALTER ancak, bu sütunların koşulları taşındığında eski bölümler için boş PREWHERE.
  • Tabloları sanal olarak filtrelerken bir hata düzeltildi _table sorgu columnslardaki sütunlar Merge Tablolar.
  • Kullanırken bir hata düzeltildi ALIAS Col inum inns in Distributed Tablolar.
  • Gelen toplam fonksiyonları ile sorgular için dinamik derleme imkansız hale bir hata düzeltildi quantile aile.
  • Kullanırken çok nadir durumlarda meydana gelen sorgu yürütme boru hattında bir yarış durumu düzeltildi Merge çok sayıda tablo içeren tablolar ve kullanırken GLOBAL alt sorgular.
  • Farklı boyutlarda dizileri geçerken bir kilitlenme düzeltildi arrayReduce birden çok bağımsız değişkenden toplam işlevleri kullanırken işlev.
  • İle sorgu useların kullanılması yasaktır UNION ALL in a MATERIALIZED VIEW.
  • Başlatma sırasında bir hata düzeltildi part_log sunucu başlatıldığında sistem tablosu (varsayılan olarak, part_log devre dışı) olur.

Geriye dönük uyumsuz değişiklikler:

  • Kaldır theılan distributed_ddl_allow_replicated_alter seçenek. Bu davranış varsayılan olarak etkindir.
  • Kaldır theılan strict_insert_defaults ayar. Bu işlevi kullanıyorsanız, clickhouse-feedback@yandex-team.com.
  • Kaldır theılan UnsortedMergeTree motor.

ClickHouse Yayın 1.1.54343, 2018-02-05

  • Dağıtılmış DDL sorgularında ve dağıtılmış tabloların oluşturucularında küme adlarını tanımlamak için makro desteği eklendi: CREATE TABLE distr ON CLUSTER '{cluster}' (...) ENGINE = Distributed('{cluster}', 'db', 'table').
  • Şimdi gibi sorgular SELECT ... FROM table WHERE expr IN (subquery) kullanılarak iş arelenir table dizin.
  • Çoğaltılmış tablolara eklerken çoğaltmaların işlenmesi geliştirildi, böylece artık çoğaltma kuyruğunun yürütülmesini yavaşlatmazlar.

ClickHouse Sürümü 1.1.54342, 2018-01-22

Bu sürüm önceki sürüm 1.1.54337 için hata düzeltmeleri içerir:

  • 1.1.54337'de bir gerileme düzeltildi: varsayılan kullanıcı salt okunur erişime sahipse, sunucu mesajla başlamayı reddediyor Cannot create database in readonly mode.
  • 1.1.54337 bir gerileme sabit: systemd ile sistemlerde, günlükleri her zaman ne olursa olsun yapılandırma syslog yazılır; watchdog komut dosyası hala init kullanır.d.
  • Docker görüntüde yanlış varsayılan yapılandırma: 1.1.54337 bir gerileme düzeltildi.
  • Graphıtemergetree sabit nondeterministic davranış (günlük mesajları görebilirsiniz Data after merge is not byte-identical to the data on another replicas).
  • Çoğaltılmış tablolara sorguyu OPTİMİZE ettikten sonra tutarsız birleştirmelere yol açabilecek bir hata düzeltildi (günlük iletilerinde görebilirsiniz Part ... intersects the previous part).
  • (ZHANG2014 tarafından) hedef tabloda MATERİALİZED sütunlar mevcut olduğunda arabellek tabloları şimdi düzgün çalışır.
  • NULL uygulanmasında bir hata düzeltildi.

ClickHouse Sürümü 1.1.54337, 2018-01-18

Yenilik:

  • Çok boyutlu diziler ve tuples depolanması için destek eklendi (Tuple veri türü) tablolarda.
  • Masa fonksiyonları için destek DESCRIBE ve INSERT sorgular. Alt sorgular için destek eklendi DESCRIBE. Örnekler: DESC TABLE remote('host', default.hits); DESC TABLE (SELECT 1); INSERT INTO TABLE FUNCTION remote('host', default.hits). İçin destek INSERT INTO TABLE ayrıca INSERT INTO.
  • Saat dilimleri için geliştirilmiş destek. Bu DateTime veri türü ayrıştırma ve metin biçimlerinde biçimlendirme için kullanılan saat dilimi ile açıklamalı. Örnek: DateTime('Europe/Moscow'). Zaman dilimleri için işlevlerde belirtildiğinde DateTime bağımsız değişkenler, dönüş türü saat dilimini izler ve değer beklendiği gibi görüntülenir.
  • Fonksiyonları eklendi toTimeZone, timeDiff, toQuarter, toRelativeQuarterNum. Bu toRelativeHour/Minute/Second fonksiyonlar bir tür değeri alabilir Date bir argüman olarak. Bu now işlev adı büyük / küçük harf duyarlıdır.
  • Add theed the toStartOfFifteenMinutes fonksiyon (Kirill Shvakov).
  • Add theed the clickhouse format sorguları biçimlendirme aracı.
  • Add theed the format_schema_path configuration parameter (Marek Vavruşa). It is used for specifying a schema in Cap'n Proto biçimli. Şema dosyaları yalnızca belirtilen dizinde bulunabilir.
  • Yapılandırma değiştirmeleri için destek eklendi (incl ve conf.d) dış sözlüklerin ve modellerin konfigürasyonu için (Pavel Yakunin).
  • İçin belgeler içeren bir sütun eklendi system.settings tablo (Kirill Shvakov).
  • Add theed the system.parts_columns her veri bölümünde sütun boyutları hakkında bilgi içeren tablo MergeTree Tablolar.
  • Add theed the system.models yüklenen hakkında bilgi içeren tablo CatBoost makine öğrenme modelleri.
  • Add theed the mysql ve odbc tablo fonksiyonu ve karşılık gelen MySQL ve ODBC uzak veritabanlarına erişmek için tablo motorları. Bu işlevsellik beta aşamasındadır.
  • Türünde bir argüman geçme imkanı eklendi AggregateFunction için groupArray toplama işlevi (böylece bazı toplama işlevinin bir dizi durumunu oluşturabilirsiniz).
  • Agrega fonksiyon birleştiricilerinin çeşitli kombinasyonlarındaki kısıtlamalar kaldırıldı. Örneğin, kullanabilirsiniz avgForEachIf keza avgIfForEach farklı davranışlara sahip toplam fonksiyonlar.
  • Bu -ForEach toplama işlevi Birleştiricisi, birden çok bağımsız değişkenin toplama işlevleri için genişletilir.
  • Toplam fonksiyonları için destek eklendi Nullable işlevin bir non döndürdüğü durumlarda bile argümanlar-Nullable sonuç (Silviu Caragea'nın katkısıyla eklendi). Örnek: groupArray, groupUniqArray, topK.
  • Add theed the max_client_network_bandwidth için clickhouse-client (Kirill Shvakov).
  • İle kullanıcılar readonly = 2 setting are allowed to work with TEMPORARY tables (CREATE, DROP, INSERT…) (Kirill Shvakov).
  • İle birden fazla tüketici kullanmak için destek eklendi Kafka motor. İçin genişletilmiş yapılandırma seçenekleri Kafka (Marek Vavruša).
  • Add theed the intExp3 ve intExp4 işlevler.
  • Add theed the sumKahan toplama işlevi.
  • To * Number* ornull işlevleri eklendi, burada * Number * sayısal bir türdür.
  • İçin destek eklendi WITH CLA anus anes for an INSERT SELECT sorgu (yazar: zhang2014).
  • Eklenen ayarlar: http_connection_timeout, http_send_timeout, http_receive_timeout. Özellikle, bu ayarlar çoğaltma için veri parçalarını indirmek için kullanılır. Bu ayarları değiştirmek, ağ aşırı yüklenmişse daha hızlı yük devretme olanağı sağlar.
  • İçin destek eklendi ALTER tip tablolar için Null (Anastasiya Tsarkova).
  • Bu reinterpretAsString işlev, bellekte bitişik olarak depolanan tüm veri türleri için genişletilir.
  • Add theed the --silent seçeneği için clickhouse-local aracı. Bu stderr yazdırma sorgu yürütme bilgi bastırır.
  • Tip değerlerini okumak için destek eklendi Date ay ve/veya Ayın gün iki basamak (Amos kuş) yerine tek bir basamak kullanılarak belirtilen bir biçimde metinden.

Performans iyileştirmeleri:

  • Agrega fonksiyonlarının geliştirilmiş performansı min, max, any, anyLast, anyHeavy, argMin, argMax dize argümanlarından.
  • Fonksiyonların geliştirilmiş performansı isInfinite, isFinite, isNaN, roundToExp2.
  • Ayrıştırma ve biçimlendirmenin geliştirilmiş performansı Date ve DateTime değerleri metin biçiminde yazın.
  • Kayan nokta sayılarının ayrıştırılmasında geliştirilmiş performans ve hassasiyet.
  • İçin bellek kullanımını azalt fortı JOIN sol ve sağ parçaların, içinde bulunmayan aynı adlara sahip sütunlara sahip olması durumunda USING .
  • Agrega fonksiyonlarının geliştirilmiş performansı varSamp, varPop, stddevSamp, stddevPop, covarSamp, covarPop, corr hesaplama kararlılığını azaltarak. Eski fonksiyonlar isimler altında mevcuttur varSampStable, varPopStable, stddevSampStable, stddevPopStable, covarSampStable, covarPopStable, corrStable.

Hata düzeltmeleri:

  • Bir çalıştırdıktan sonra sabit veri tekilleştirme DROP veya DETACH PARTITION sorgu. Önceki sürümde, bir bölümü bırakmak ve aynı verileri tekrar eklemek işe yaramadı çünkü eklenen bloklar kopya olarak kabul edildi.
  • Yanlış yorumlanmasına yol açabilecek bir hata düzeltildi WHERE için fık forra CREATE MATERIALIZED VIEW ile sorgular POPULATE .
  • Kullanarak bir hata düzeltildi root_path param parametereter in the zookeeper_servers yapılandırma.
  • Geçen sabit beklenmedik sonuçlar Date arg toum argumentent to toStartOfDay .
  • Sabit addMonths ve subtractMonths fonksiyonlar ve aritmetik INTERVAL n MONTH sonuç bir önceki yıla sahip olduğu durumlarda.
  • İçin eksik destek eklendi UUID için veri türü DISTINCT , JOIN , ve uniq agrega fonksiyonları ve dış sözlükler (Evgeniy Ivanov). İçin destek UUID hala eksik.
  • Sabit SummingMergeTree satırların sıfıra toplandığı durumlarda davranış.
  • İçin çeşitli düzeltmeler Kafka engine (Marek Vavruša).
  • Sabit yanlış davranış Join masa motoru (Amos kuş).
  • FreeBSD ve OS X altında yanlış ayırıcı davranışı düzeltildi.
  • Bu extractAll fonksiyon artık boş eşleşmeleri destekliyor.
  • Kullanımını engelleyen bir hata düzeltildi libressl yerine openssl .
  • Sabit CREATE TABLE AS SELECT geçici tablolardan sorgu.
  • Çoğaltma kuyruğunu güncelleme sabit olmayan atomicity. Bu, sunucu yeniden başlatılıncaya kadar eşlemelerin eşitlenmemesine neden olabilir.
  • Sabit Olası taşma gcd , lcm ve modulo (% operatör) (Maks Skorokhod).
  • -preprocessed dosyalar şimdi değiştirdikten sonra oluşturulur umask (umask config değişmiş) olabilir.
  • Parçaların arka plan kontrol bir hata düzeltildi (MergeTreePartChecker ) özel bir bölüm anahtarı kullanırken.
  • Tuples sabit ayrıştırma (değerleri Tuple veri türü) metin biçimlerinde.
  • Uyumsuz türlerle ilgili geliştirilmiş hata mesajları multiIf , array ve diğer bazı fonksiyonlar.
  • İçin yeniden tasarlanmış destek Nullable türler. Bir sunucu çökmesine yol açabilir sabit hatalar. İlgili hemen hemen tüm diğer hatalar düzeltildi NULL destek: INSERT SELECT yanlış tür dönüşümleri, sahip ve PREWHERE içinde Nullable için yetersiz destek, join_use_nulls mod, argümanlar olarak Nullable türleri OR operatör, vb.
  • Veri türlerinin iç semantiği ile ilgili çeşitli hatalar düzeltildi. Örnekler: gereksiz toplama Enum type Fi fieldsel fieldsds in SummingMergeTree ; hizalama Enum yazmak Pretty format ,lar vb.
  • Bileşik sütunların izin verilen kombinasyonları için daha sıkı kontroller.
  • İçin çok büyük bir parametre belirlerken taşma düzeltildi FixedString veri türü.
  • Bu bir hata düzeltildi topK genel bir durumda toplama işlevi.
  • Toplam fonksiyonların n-ary varyantlarının argümanlarında dizi boyutlarının eşitliği için eksik kontrol eklendi -Array birleştirici.
  • Bir hata düzeltildi --pager için clickhouse-client (yazar: ks1322).
  • Sabit hassasiyet exp10 işlev.
  • Davranışı Düzelt theildi visitParamExtract belgelere daha iyi uyum için işlev.
  • Yanlış veri türleri belirtildiğinde kilitlenme düzeltildi.
  • Davranışı düzeltildi DISTINCT tüm sütunların sabitler olması durumunda.
  • Kullanarak durumunda sabit sorgu biçimlendirme tupleElement tuple öğesi dizini olarak karmaşık bir sabit ifadeyle işlev.
  • Bir hata düzeltildi Dictionary için tablolar range_hashed sözlükler.
  • Sonucunda aşırı satırlara yol açan bir hata düzeltildi FULL ve RIGHT JOIN (Amos Kuşu).
  • Geçici dosyaları oluştururken ve kaldırırken bir sunucu çökmesi düzeltildi config.d yapılandırma yeniden yükleme sırasında dizinler.
  • Sabit SYSTEM DROP DNS CACHE sorgu: önbellek temizlendi, ancak küme düğümlerinin adresleri güncelleştirilmedi.
  • Davranışı düzeltildi MATERIALIZED VIEW çalıştırdıktan sonra DETACH TABLE for the table under the view (Marek Vavruša).

İyileştirmeler oluşturun:

  • Bu pbuilder aracı oluşturur için kullanılır. Yapı işlemi, yapı ana bilgisayarı ortamından neredeyse tamamen bağımsızdır.
  • Farklı işletim sistemi sürümleri için tek bir yapı kullanılır. Paketler ve ikili Linux sistemleri geniş bir yelpazede ile uyumlu yapılmıştır.
  • Add theed the clickhouse-test paket. Fonksiyonel testleri çalıştırmak için kullanılabilir.
  • Kaynak tarball artık depoya yayınlanabilir. Github kullanmadan yapıyı yeniden oluşturmak için kullanılabilir.
  • Travis CI ile sınırlı entegrasyon eklendi. Travis oluşturma süresi sınırları nedeniyle, yalnızca hata ayıklama yapı sınanır ve sınamaların sınırlı bir alt kümesi çalıştırılır.
  • İçin destek eklendi Cap'n'Proto varsayılan yapı içinde.
  • Dokümantasyon kaynaklarının biçimini değiştirdi Restricted Text -e doğru Markdown.
  • İçin destek eklendi systemd (Vladimir Smirnov). Bazı işletim sistemi görüntüleri ile uyumsuzluk nedeniyle varsayılan olarak devre dışı bırakılır ve manuel olarak etkinleştirilebilir.
  • Dinamik kod üretimi için, clang ve lld içine gömülü clickhouse ikilik. Olarak da çağr alsoıla invokedbilirler clickhouse clang ve clickhouse lld .
  • GNU uzantılarının koddan kaldırılması. Etkin -Wextra seçenek. İle inşa ederken clang varsayılan değer libc++ yerine libstdc++.
  • Elde clickhouse_parsers ve clickhouse_common_io kütüphaneler hızlandırmak için çeşitli araçlar oluşturur.

Geriye dönük uyumsuz değişiklikler:

  • İşaret formatlerin biçimi Log içeren tabloları yazın Nullable sütunlar geriye dönük uyumsuz bir şekilde değiştirildi. Bu tablolar varsa, bunları dönüştürmek gerekir TinyLog yeni sunucu sürümünü başlatmadan önce yazın. Bunu yapmak için değiştirin ENGINE = Log ile ENGINE = TinyLog karşılık gelen .sql dosya içinde metadata dizin. Masanız yoksa Nullable sütun veya tablonuzun türü değilse Log o zaman hiçbir şey yapmanıza gerek yok.
  • Kaldır theılan experimental_allow_extended_storage_definition_syntax ayar. Şimdi bu özellik varsayılan olarak etkindir.
  • Bu runningIncome işlev olarak yeniden adlandırıldı runningDifferenceStartingWithFirstvalue karışıklığı önlemek için.
  • Kaldır theılan FROM ARRAY JOIN arr array JOİN, tablo olmadan (Amos Bird) doğrudan FROM sonra belirtildiğinde sözdizimi.
  • Kaldır theılan BlockTabSeparated sadece gösteri amaçlı kullanılan format.
  • Toplu işlevler için durum biçimini değiştirdi varSamp, varPop, stddevSamp, stddevPop, covarSamp, covarPop, corr. Bu toplama işlevlerinin durumlarını tablolarda depoladıysanız ( AggregateFunction veri türü veya ilgili durumları ile hayata görünümleri), yazınız clickhouse-feedback@yandex-team.com.
  • Önceki sunucu sürümlerinde belgelenmemiş bir özellik vardı: bir toplama işlevi parametrelere bağlıysa, yine de AggregateFunction veri türünde parametreler olmadan belirtebilirsiniz. Örnek: AggregateFunction(quantiles, UInt64) yerine AggregateFunction(quantiles(0.5, 0.9), UInt64). Bu özellik kayboldu. Belgesiz olmasına rağmen, gelecek sürümlerde tekrar desteklemeyi planlıyoruz.
  • Enum veri türleri min / max toplama işlevlerinde kullanılamaz. Bu yetenek bir sonraki sürümde iade edilecektir.

Yükseltme yaparken lütfen unutmayın:

  • Bir kümede, bazı yinelemelerin Clickhouse'un eski sürümünü çalıştırdığı ve bazılarının yeni sürümü çalıştırdığı noktada yuvarlanan bir güncelleme yaparken, çoğaltma geçici olarak durdurulur ve ileti unknown parameter 'shard' günlüğünde görünür. Kümenin tüm yinelemeleri güncelleştirildikten sonra çoğaltma devam eder.
  • Clickhouse'un farklı sürümleri küme sunucularında çalışıyorsa, aşağıdaki işlevleri kullanarak dağıtılmış sorguların yanlış sonuçları olması olasıdır: varSamp, varPop, stddevSamp, stddevPop, covarSamp, covarPop, corr. Tüm küme düğümlerini güncelleştirmelisiniz.

2017 için Changelog