mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-29 11:02:08 +00:00
21 KiB
21 KiB
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ı açı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çindeconfig.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 whenarkenPage Down
- Bazı karmaşık sorguların doğru yorumlanması
GLOBAL IN
veUNION 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 fromMergeTree
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şleviSummingMergeTree
. - 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ştirdiroundToExp2
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
veidentity
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
, vegroupBitXor
(uyumluluk için, isimler altında da mevcutturBIT_AND
,BIT_OR
, veBIT_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ğerlerCSV
veJSONEachRow
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 olabilirALTER MODIFY
bir element üzerindeNested
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çinBuffer
Tablolar. - İçin geçersiz varsayılan değer düzeltildi
Enum
kullanırken s (minimum yerine 0)JSONEachRow
veTSKV
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++
yerinelibstdc++
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 edebilirsinizDiskSpaceReservedForMerge
metr theiksystem.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ükleyebilirsinizmax_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çintoStartOfHour(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.