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

21 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true e8cd92bba3 79 2017

ClickHouse sürüm 1.1.54327, 2017-12-21

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

  • Veri kaybına yol açabilir çoğaltma Olası yarış koşulu ile Sabit hata. Bu sorun sürümleri 1.1.54310 ve 1.1.54318 etkiler. Bu sürümlerden birini çoğaltılmış tablolarla kullanırsanız, güncelleştirme önerilir. Bu sorun, aşağıdaki gibi uyarı iletilerindeki günlüklerde gösterilir Part ... from own log doesn't exist. Bu iletileri günlüklerde görmeseniz bile sorun geçerlidir.

ClickHouse sürümü 1.1.54318, 2017-11-30

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

  • SummingMergeTree motorunda birleştirmeler sırasında hatalı satır silme işlemleri düzeltildi
  • Unreplicated MergeTree motorlarında bir bellek sızıntısı düzeltildi
  • MergeTree motorlarında sık sık eklerle sabit performans düşüşü
  • Çoğaltma kuyruğunun çalışmayı durdurmasına neden olan bir sorun giderildi
  • Sunucu günlüklerinin sabit rotasyonu ve arşivlenmesi

ClickHouse sürümü 1.1.54310, 2017-11-01

Yenilik:

  • Tablo motorları MergeTree ailesi için özel bölümleme anahtarı.
  • Kafka masa motoru.
  • Yükleme için destek eklendi CatBoost modelleri ve ClickHouse saklanan verilere uygulayarak.
  • UTC olmayan tamsayı uzaklıklar ile saat dilimleri için destek eklendi.
  • Zaman aralıklarıyla aritmetik işlemler için destek eklendi.
  • Tarih ve DateTime türleri için değer aralığı 2105 yılına genişletilir.
  • Add theed the CREATE MATERIALIZED VIEW x TO y sorgu (materyalleştirilmiş bir görünümün verilerini depolamak için varolan bir tabloyu belirtir).
  • Add theed the ATTACH TABLE argüman olmadan sorgu.
  • Bir SummingMergeTree tablosunda-Map biten adları ile iç içe sütunlar için işleme mantığı için ayıklandı sumMap toplama işlevi. Şimdi bu tür sütunlarııkça belirtebilirsiniz.
  • IP trie sözlüğünün maksimum boyutu 128M girişlerine yükseltilir.
  • GetSizeOfEnumType işlevi eklendi.
  • SumWithOverflow toplama işlevi eklendi.
  • Cap'n Proto giriş biçimi için destek eklendi.
  • Artık zstd algoritmasını kullanırken sıkıştırma seviyesini özelleştirebilirsiniz.

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

  • Bellek dışında bir motor ile geçici tablolar oluşturulmasına izin verilmez.
  • View veya MaterializedView altyapısı ile tabloların açık oluşturulmasına izin verilmez.
  • Tablo oluşturma sırasında yeni bir onay örnekleme anahtar ifadesinin birincil anahtara dahil edildiğini doğrular.

Hata düzeltmeleri:

  • Sabit hangups zaman eşzamanlı bir dağıtılmış tabloya ekleme.
  • Sabit atomik olmayan ekleme ve çoğaltılmış tablolarda parçaların çıkarılması.
  • Materialized görünümüne eklenen veriler gereksiz tekilleştirme tabi değildir.
  • Yerel yinelemenin geciktiği ve uzak yinelemelerin kullanılamadığı dağıtılmış bir tabloya bir sorgu yürütmek artık bir hataya neden olmaz.
  • Kullanıcıların erişim izinlerine ihtiyacı yoktur default veritabanı artık geçici tablolar oluşturmak için.
  • Bağımsız değişkenler olmadan dizi türünü belirtirken çökmesini düzeltildi.
  • Sunucu günlüklerini içeren disk birimi dolu olduğunda sabit hangups.
  • Unix döneminin ilk haftası için toRelativeWeekNum işlevinde bir taşma düzeltildi.

İyileştirmeler oluşturun:

  • Birkaç üçüncü taraf Kütüphanesi (özellikle Poco) güncellendi ve git alt modüllerine dönüştürüldü.

ClickHouse sürümü 1.1.54304, 2017-10-19

Yenilik:

  • Yerel protokolde TLS desteği (etkinleştirmek, ayarlamak için tcp_ssl_port içinde config.xml ).

Hata düzeltmeleri:

  • ALTER çoğaltılmış tablolar için şimdi en kısa sürede çalışmaya başlamak çalışır.
  • Ayarı ile veri okurken çökmesini sabit preferred_block_size_bytes=0.
  • Sabit çöker clickhouse-client bas whenarken Page Down
  • Bazı karmaşık sorguların doğru yorumlanması GLOBAL IN ve UNION ALL
  • FREEZE PARTITION her zaman atomik olarak çalışır.
  • Boş posta istekleri şimdi 411 koduyla bir yanıt döndürür.
  • Gibi ifadeler için sabit yorumlama hataları CAST(1 AS Nullable(UInt8)).
  • Okurken bir hata düzeltildi Array(Nullable(String)) Col fromum fromns from MergeTree Tablolar.
  • Gibi sorguları ayrıştırırken sabit çökmesini SELECT dummy AS dummy, dummy AS b
  • Kullanıcılar geçersiz ile doğru güncellenir users.xml
  • Yürütülebilir bir sözlük sıfır olmayan bir yanıt kodu döndürdüğünde doğru işleme.

ClickHouse yayın 1.1.54292, 2017-09-20

Yenilik:

  • Add theed the pointInPolygon koordinat düzleminde koordinatlarla çalışmak için işlev.
  • Add theed the sumMap benzer dizilerin toplamını hesaplamak için toplama işlevi SummingMergeTree.
  • Add theed the trunc işlev. Yuvarlama fonksiyonlarının geliştirilmiş performansı (round, floor, ceil, roundToExp2) ve nasıl çalıştıklarının mantığını düzeltti. Mantığını değiştirdi roundToExp2 kesirler ve negatif sayılar için işlev.
  • ClickHouse yürütülebilir dosyası artık libc sürümüne daha az bağımlıdır. Aynı ClickHouse yürütülebilir dosya Linux sistemleri çok çeşitli çalıştırabilirsiniz. Derlenmiş sorguları kullanırken hala bir bağımlılık var (ayar ile compile = 1 , varsayılan olarak kullanılmaz).
  • Sorguların dinamik derlenmesi için gereken süreyi azalttı.

Hata düzeltmeleri:

  • Bazen üretilen bir hata düzeltildi part ... intersects previous part mesajlar ve kopya tutarlılığı zayıfladı.
  • ZooKeeper kapatma sırasında kullanılamıyorsa sunucunun kilitlenmesine neden olan bir hata düzeltildi.
  • Kopyaları geri yüklerken aşırı günlüğü kaldırıldı.
  • Birlik tüm uygulamasında bir hata düzeltildi.
  • Bir bloktaki ilk sütun dizi türüne sahipse, concat işlevinde bir hata düzeltildi.
  • İlerleme şimdi sistemde doğru görüntülenir.tablo birleştirir.

ClickHouse yayın 1.1.54289, 2017-09-13

Yenilik:

  • SYSTEM sunucu yönetimi için sorgular: SYSTEM RELOAD DICTIONARY, SYSTEM RELOAD DICTIONARIES, SYSTEM DROP DNS CACHE, SYSTEM SHUTDOWN, SYSTEM KILL.
  • Dizilerle çalışmak için işlevler eklendi: concat, arraySlice, arrayPushBack, arrayPushFront, arrayPopBack, arrayPopFront.
  • Katma root ve identity ZooKeeper yapılandırması için parametreler. Bu, aynı ZooKeeper kümesinde tek tek kullanıcıları izole etmenizi sağlar.
  • Toplam fonksiyonları eklendi groupBitAnd, groupBitOr, ve groupBitXor (uyumluluk için, isimler altında da mevcuttur BIT_AND, BIT_OR, ve BIT_XOR).
  • Dış sözlükler dosya sisteminde bir soket belirterek Mysql'den yüklenebilir.
  • Harici sözlükler SSL üzerinden MySQL yüklenebilir (ssl_cert, ssl_key, ssl_ca parametre).
  • Add theed the max_network_bandwidth_for_user kullanıcı başına sorgular için genel bant genişliği kullanımını kısıtlamak için ayarlama.
  • İçin destek DROP TABLE geçici tablolar için.
  • Okuma desteği DateTime Unix zaman damgası biçimindeki değerler CSV ve JSONEachRow biçimliler.
  • Dağıtılmış sorgularda gecikmeli yinelemeler artık varsayılan olarak dışlanır (varsayılan eşik 5 dakikadır).
  • FIFO kilitleme sırasında kullanılır ALTER: bir ALTER sorgusu sürekli çalışan sorgular için süresiz olarak engellenmez.
  • Seçeneği ayarlamak için umask yapılandırma dosyasında.
  • İle sorgular için geliştirilmiş performans DISTINCT .

Hata düzeltmeleri:

  • ZooKeeper eski düğümleri silme işlemi geliştirildi. Daha önce, eski düğümler bazen çok sık ekler varsa silinmedi, bu da sunucunun diğer şeylerin yanı sıra kapanması için yavaş olmasına neden oldu.
  • ZooKeeper bağlantı için ana seçerken sabit randomizasyon.
  • Çoğaltma localhost ise, dağıtılmış sorgularda gecikmiş kopyaların dışlanması düzeltildi.
  • Bir veri parçası bir hata düzeltildi ReplicatedMergeTree tablo çalıştırdıktan sonra kırık olabilir ALTER MODIFY bir element üzerinde Nested yapılı.
  • SELECT sorgularına neden olabilecek bir hata düzeltildi “hang”.
  • Dağıtılmış DDL sorguları için iyileştirmeler.
  • Sorgu düzeltildi CREATE TABLE ... AS <materialized view>.
  • Çık themaz theı Çöz thedü ALTER ... CLEAR COLUMN IN PARTITION sorgu için Buffer Tablolar.
  • İçin geçersiz varsayılan değer düzeltildi Enum kullanırken s (minimum yerine 0) JSONEachRow ve TSKV biçimliler.
  • Bir sözlük ile bir sözlük kullanırken zombi süreçlerinin görünümünü çözdü executable kaynaklı.
  • Kafa sorgusu için sabit segfault.

ClickHouse geliştirmek ve birleştirmek için geliştirilmiş iş akışı:

  • Kullanabilirsiniz pbuilder ClickHouse inşa etmek.
  • Kullanabilirsiniz libc++ yerine libstdc++ Linux üzerine inşa edilmiştir.
  • Statik kod analiz araçlarını kullanma talimatları eklendi: Coverage, clang-tidy, cppcheck.

Yükseltme yaparken lütfen unutmayın:

  • MergeTree ayarı için artık daha yüksek bir varsayılan değer var max_bytes_to_merge_at_max_space_in_pool (bayt olarak birleştirilecek veri parçalarının maksimum toplam boyutu): 100 Gib'den 150 Gib'e yükseldi. Bu, disk Alt Sisteminde artan bir yüke neden olabilecek sunucu yükseltmesinden sonra çalışan büyük birleştirmelere neden olabilir. Sunucuda kullanılabilir boş alan, çalışan birleştirmelerin toplam miktarının iki katından azsa, bu, diğer tüm birleştirmelerin, küçük veri parçalarının birleştirmeleri de dahil olmak üzere çalışmayı durdurmasına neden olur. Sonuç olarak, INSERT sorguları iletiyle başarısız olur “Merges are processing significantly slower than inserts.” Kullan... SELECT * FROM system.merges durumu izlemek için sorgu. Ayrıca kontrol edebilirsiniz DiskSpaceReservedForMerge metr theik system.metrics tablo veya Grafit. Bunu düzeltmek için hiçbir şey yapmanıza gerek yoktur, çünkü büyük birleşimler bittikten sonra sorun kendiliğinden çözülür. Bu kabul edilemez bulursanız, önceki değeri geri yükleyebilirsiniz max_bytes_to_merge_at_max_space_in_pool ayar. Bunu yapmak için, gidin <merge_tree> config bölümünde.xml, set <merge_tree>``<max_bytes_to_merge_at_max_space_in_pool>107374182400</max_bytes_to_merge_at_max_space_in_pool> ve sunucuyu yeniden başlatın.

ClickHouse sürümü 1.1.54284, 2017-08-29

  • Bu, önceki 1.1.54282 sürümü için bir hata düzeltme sürümüdür. Bu ZooKeeper parçalar dizininde sızıntıları giderir.

ClickHouse yayın 1.1.54282, 2017-08-23

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

  • Sabit DB::Exception: Assertion violation: !_path.empty() dağıtılmış bir tabloya eklerken.
  • Giriş verileri'; ' ile başlarsa RowBinary biçiminde eklerken ayrıştırma düzeltildi.
  • Errors during runtime compilation of certain aggregate functions (e.g. groupArray()).

ClickHouse Yayın 1.1.54276, 2017-08-16

Yenilik:

  • Bir seçme sorgusu için bölüm ile isteğe bağlı eklendi. Örnek sorgu: WITH 1+1 AS a SELECT a, a*a
  • INSERT, dağıtılmış bir tabloda eşzamanlı olarak gerçekleştirilebilir: Tamam, yalnızca tüm veriler tüm parçalara kaydedildikten sonra döndürülür. Bu ayar tarafından etkinleştirilir ınsert_distributed_sync = 1.
  • 16 baytlık tanımlayıcılarla çalışmak için UUID veri türü eklendi.
  • Tablo ile uyumluluk için CHAR, FLOAT ve diğer türlerin takma adları eklendi.
  • Sayılara zaman dönüştürmek için fonksiyonları toYYYYMM, toYYYYMMDD ve toYYYYMMDDhhmmss eklendi.
  • Kümelenmiş DDL sorguları için sunucuları tanımlamak için IP adreslerini (ana bilgisayar adı ile birlikte) kullanabilirsiniz.
  • İşlevde sabit olmayan argümanlar ve negatif uzaklıklar için destek eklendi substring(str, pos, len).
  • İçin max_size parametresi eklendi groupArray(max_size)(column) toplama işlevi ve performansını optimize etti.

Ana değişiklikler:

  • Güvenlik iyileştirmeleri: tüm sunucu dosyaları 0640 izinleriyle oluşturulur (üzerinden değiştirilebilir config parametresi).
  • Geçersiz sözdizimi ile sorgular için geliştirilmiş hata mesajları.
  • MergeTree verilerinin büyük bölümlerini birleştirirken bellek tüketimini önemli ölçüde azalttı ve performansı artırdı.
  • ReplacingMergeTree motoru için veri birleştirmelerinin performansını önemli ölçüde artırdı.
  • Birden çok kaynak ekler birleştirerek dağıtılmış bir tablodan zaman uyumsuz ekler için geliştirilmiş performans. Bu işlevi etkinleştirmek için distributed_directory_monitor_batch_ınserts = 1 ayarını kullanın.

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

  • Toplam durumların ikili biçimini değiştirdi groupArray(array_column) diziler için fonksiyonlar.

Değişikliklerin tam listesi:

  • Add theed the output_format_json_quote_denormals json formatında nan ve ınf değerleri çıktısı sağlayan ayar.
  • Dağıtılmış bir tablodan okurken optimize edilmiş akış tahsisi.
  • Değer değişmezse ayarlar salt okunur modda yapılandırılabilir.
  • Preferred_block_size_bytes ayarında belirtilen blok boyutu üzerindeki kısıtlamaları karşılamak için mergetree motorunun tamsayı olmayan granüllerini alma yeteneği eklendi. Amaç, RAM tüketimini azaltmak ve büyük sütunlu tablolardan gelen sorguları işlerken önbellek konumunu arttırmaktır.
  • Gibi ifadeler içeren dizinlerin verimli kullanımı toStartOfHour(x) gibi koşullar için toStartOfHour(x) op сonstexpr.
  • MergeTree motorları için yeni ayarlar eklendi (yapılandırmada merge_tree bölümü.xml):
    • replicated_deduplication_window_seconds yinelenen tablolar ekler tekilleştirme için izin verilen saniye sayısını ayarlar.
    • cleanup_delay_period, eski verileri kaldırmak için temizleme işleminin ne sıklıkta başlatılacağını ayarlar.
    • replicated_can_become_leader, bir kopyanın lider olmasını (ve birleştirme atamasını) engelleyebilir.
  • Hızlandırılmış Temizleme ZooKeeper eski verileri kaldırmak için.
  • Kümelenmiş DDL sorguları için birden fazla iyileştirme ve düzeltme. Özellikle ilgi çekici olan yeni ayardır distributed_ddl_task_timeout, kümedeki sunuculardan bir yanıt beklemek için zamanı sınırlar. Tüm ana bilgisayarlarda bir ddl isteği gerçekleştirilmediyse, bir yanıt bir zaman aşımı hatası içerir ve bir zaman uyumsuz modunda bir istek yürütülür.
  • Sunucu günlüklerinde yığın izlerinin geliştirilmiş gösterimi.
  • Add theed the “none” sıkıştırma yöntemi için değer.
  • Yapılandırmada birden çok dictionaries_config bölümünü kullanabilirsiniz.xml.
  • Bu dosya sisteminde bir soket üzerinden MySQL bağlanmak mümkündür.
  • Sistem.parçalar tablosu, bayt cinsinden işaretlerin boyutu hakkında bilgi içeren yeni bir sütuna sahiptir.

Hata düzeltmeleri:

  • Bir birleştirme tablosu kullanarak dağıtılmış tablolar artık bir koşulla bir SELECT sorgusu için doğru şekilde çalışır. _table alan.
  • Veri parçalarını kontrol ederken ReplicatedMergeTree nadir bir yarış durumu düzeltildi.
  • Sabit Olası donma “leader election” bir sunucu başlatırken.
  • Veri kaynağının yerel bir kopyasını kullanırken max_replica_delay_for_distributed_queries ayarı göz ardı edildi. Bu sorun giderildi.
  • Sabit yanlış davranış ALTER TABLE CLEAR COLUMN IN PARTITION varolan olmayan bir sütunu temizlemeye çalışırken.
  • Boş diziler veya dizeleri kullanırken multiİf işlevinde bir istisna düzeltildi.
  • Sabit aşırı bellek ayırmaları yerel biçimi serisini kaldırırken.
  • Trie sözlüklerin sabit yanlış otomatik güncelleme.
  • Örnek kullanırken bir birleştirme tablosundan bir GROUP BY yan tümcesi ile sorguları çalıştırırken bir özel durum düzeltildi.
  • Distributed_aggregation_memory_efficient = 1 kullanırken grup çökmesi düzeltildi.
  • Şimdi veritabanını belirtebilirsiniz.ın ve JOİN sağ tarafında tablo.
  • Paralel toplama için çok fazla iplik kullanıldı. Bu sorun giderildi.
  • Sabit nasıl “if” işlev FixedString argümanları ile çalışır.
  • 0 ağırlığında kırıkları için dağıtılmış bir tablodan yanlış çalıştı seçin. Bu sorun giderildi.
  • Çalışma CREATE VIEW IF EXISTS no longer causes crashes.
  • Sabit yanlış davranış input_format_skip_unknown_fields=1 ayarlanır ve negatif sayılar vardır.
  • Sabit bir sonsuz döngü içinde dictGetHierarchy() sözlükte bazı geçersiz veriler varsa işlev.
  • Sabit Syntax error: unexpected (...) bir In veya JOIN yan tümcesi ve birleştirme tablolarındaki alt sorgularla dağıtılmış sorguları çalıştırırken hatalar.
  • Sözlük tablolarından bir seçme sorgusunun yanlış yorumlanması düzeltildi.
  • Sabit “Cannot mremap” 2 milyardan fazla öğe içeren ın ve JOIN yan tümcelerinde diziler kullanılırken hata oluştu.
  • Kaynak olarak MySQL ile sözlükler için yük devretme düzeltildi.

ClickHouse geliştirmek ve birleştirmek için geliştirilmiş iş akışı:

  • Yapılar Arcadia'da monte edilebilir.
  • Clickhouse'u derlemek için gcc 7'yi kullanabilirsiniz.
  • Ccache+distcc kullanarak paralel yapılar artık daha hızlı.

ClickHouse yayın 1.1.54245, 2017-07-04

Yenilik:

  • Dağıtılmış DDL (örneğin, CREATE TABLE ON CLUSTER)
  • Çoğaltılan sorgu ALTER TABLE CLEAR COLUMN IN PARTITION.
  • Sözlük tabloları için motor (bir tablo şeklinde sözlük verilerine erişim).
  • Sözlük veritabanı motoru (bu tür veritabanı otomatik olarak bağlı tüm dış sözlükler için sözlük tabloları vardır).
  • Kaynağa bir istek göndererek sözlükteki güncellemeleri kontrol edebilirsiniz.
  • Nitelikli sütun adları
  • Çift tırnak işaretleri kullanarak tanımlayıcıları alıntı.
  • HTTP arabirimindeki oturumlar.
  • Çoğaltılmış bir tablo için en iyi duruma getirme sorgusu yalnızca lider üzerinde çalışabilir.

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

  • Kaldırıldı set GLOBAL.

Küçük değişiklikler:

  • Şimdi bir uyarı tetiklendikten sonra günlük tam yığın izleme yazdırır.
  • Başlangıçta hasarlı / ekstra veri parçalarının sayısının doğrulanmasını rahatlattı(çok fazla yanlış pozitif vardı).

Hata düzeltmeleri:

  • Kötü bir bağlantı düzeltildi “sticking” dağıtılmış bir tabloya eklerken.
  • GLOBAL IN şimdi dağıtılmış bir tabloya bakan bir birleştirme tablosundan bir sorgu için çalışır.
  • Bir Google Compute Engine sanal makinesinde yanlış sayıda çekirdek tespit edildi. Bu sorun giderildi.
  • Önbelleğe alınmış harici sözlüklerin yürütülebilir bir kaynağının nasıl çalıştığındaki değişiklikler.
  • Null karakter içeren dizelerin karşılaştırması düzeltildi.
  • Float32 birincil anahtar alanlarının sabitler ile karşılaştırılması düzeltildi.
  • Önceden, bir alanın boyutunun yanlış bir tahmini, aşırı büyük tahsisatlara neden olabilir.
  • Alter kullanarak bir tabloya eklenen null bir sütun sorgularken bir kilitlenme düzeltildi.
  • Satır sayısı sınırdan az ise, null bir sütuna göre sıralama yaparken bir kilitlenme düzeltildi.
  • Yalnızca sabit değerlerden oluşan alt sorgu ile bir sipariş düzeltildi.
  • Daha önce, çoğaltılmış bir tablo başarısız bir bırakma tablosundan sonra geçersiz durumda kalabilir.
  • Boş sonuçları olan skaler alt sorgular için takma adlar artık kaybolmaz.
  • Şimdi derleme kullanılan bir sorgu .so dosyası zarar görürse bir hata ile başarısız değil.