本文介紹雲資料庫ClickHouse24.10企業發布的功能詳情。
新特性
時間對齊功能:toStartOfInterval函數現支援指定任意起點的時間對齊,相容TimescaleDB和PostgreSQL的時間桶功能,可對日期或時間戳記進行按指定間隔對齊。
增強數組操作函數:新增arrayZipUnaligned和arrayElementOrNull函數,提升了Spark 相容性和數組操作的靈活性。
支援
tupleElement(expr(), 'name')文法:支援以expr().name形式的運算式來處理命名元組,改善JSON處理能力。支援可重新整理的物化視圖:複製資料庫中支援可重新整理物化視圖(Refreshable Materialized Views),提升了物化視圖的使用靈活性。
重構Dynamic類型:當Dynamic資料類型達到限制時,不再將新類型強制轉換為String,而是以二進位格式儲存,所有類型都可以作為子列讀取。
遷移MongoDB驅動:遷移至新版mongocxx驅動,去除對舊協議的支援,新增對MongoDB所有資料類型的支援,並允許在MongoDB端執行WHERE和ORDER BY查詢。
支援按標籤刪除查詢緩衝:現支援通過標籤刪除查詢緩衝,例如:
SYSTEM DROP QUERY CACHE TAG 'abc'。增強Iceberg表讀取支援:提高了對Iceberg資料來源的支援和相容性。
效能最佳化
最佳化查詢進度顯示:新增progress-table參數,即時顯示查詢執行過程中的各種指標,並支援使用空格鍵動態切換進度表顯示。
改進JSON格式支援:新增input_format_json_empty_as_default設定,允許將JSON輸入中的空欄位視為預設值,提升了JSON處理靈活性。
非相容變更
UNION查詢中SETTINGS的行為調整:在包含子查詢的UNION查詢中,現在允許在FORMAT之前添加SETTINGS設定。如果SETTINGS出現多次,則最靠近子查詢的設定將生效。
Dynamic 類型行為調整:當達到Dynamic類型限制時,不會再將新類型強制轉換為String,而是儲存為二進位編碼的特殊資料結構。
bug修複
修複LowCardinality類型處理問題:修複了optimize_functions_to_subcolumns最佳化導致的列類型錯誤,現能正確處理 LowCardinality類型。
修複記憶體統計不準確問題:解決了記憶體統計不準確可能導致SQL查詢提前結束的問題。
修複JSON輸入問題:修複瞭解析JSON中Null 字元串格式出錯的問題。
修複系統查詢快取問題:修複了在特定情況下,查詢快取無法正確刪除的bug。
修複在MergeJoin中的稀疏刪除操作問題:修複 MergeJoin中缺失的稀疏刪除操作,解決了資料合併時的問題