本文介紹雲資料庫ClickHouse24.8企業發布的功能詳情。
新特性
增加了ASOF JOIN以支援full_sorting_join演算法,提升排序JOIN的效率。
擴充了tuple函數,現支援構造帶有命名元組的查詢。
新增了一些函數,包括tupleNames、fuzzQuery、percent_rank、changeYear、changeMonth、changeDay、changeHour、changeMinute、changeSecond和groupConcat。
在使用file表函數時,系統會自動在目錄路徑的末尾追加萬用字元*,以簡化目錄操作。
增加了讀取MULTILINESTRING幾何資料的支援,使用readWKTLineString函數讀取WKT格式的多行字串。
為Parquet檔案引入了新的配置,允許使用者禁用或啟用寫入頁面索引功能。
引入了Hive風格的分區機制,支援File、URL、S3、AzureBlobStorage和HDFS等引擎,最佳化了巨量資料集的查詢管理。
新增了printf函數,提供與Spark相容的格式化輸出功能。
為S3表引擎新增了虛擬列_etag,從而提升了對S3資料的處理效率。
新增了查詢快取的命名空間機制,針對同一查詢使用不同標籤的情況,將其視為不同的快取項目。
新增了系統資料表system.error_log,該表記錄了system.errors表中的錯誤歷史資訊,定期寫入磁碟。
新增
--memory-usage用戶端選項,以便在非互動模式下查看記憶體使用量情況。
效能最佳化
最佳化了二進位序列化的Variant資料類型,啟用緊湊模式以減少冗餘資料存放區。
最佳化了S3表引擎的資料存取效能,提升了查詢速度。
非相容變更
禁止在Replicated資料庫中使用
CREATE MATERIALIZED VIEW ... ENGINE Replicated*MergeTree POPULATE AS SELECT文法。在之前的版本中,支援LowCardinality資料類型的備選文法(通過WithDictionary尾碼)已被棄用。建議您對錶結構進行修改,採用標準的LowCardinality資料類型。
bug修複
修複了使用Buffer儲存與分布式目標表配合時出現的邏輯錯誤,尤其是在查詢中使用表的多次引用時可能導致查詢失敗的問題。
修複了基於Gamma函數(如Chi-Squared、Student、Fisher)的隨機分布函數在使用接近零的負數參數時,導致長時間計算或死迴圈的問題。
最佳化了arrayWithConstant函數處理大數組時的效能,限制了每個數組的最大大小為 1 GB。
修複了低級記憶體管理中出現的格式問題,提升了記憶體配置的穩定性。
解決了使用Buffer儲存時與分布式目標表的相容性問題。
修複了join操作中與
IS NULL條件相關的最佳化錯誤。