本文介紹雲資料庫ClickHouse24.2.16476企業發布的功能詳情。
新特性
為splitBlockIntoParts添加日誌。
Keeper新增效能分析助手。
在模式推斷緩衝中添加缺失的設定。
效能最佳化
降低Serverless對資源調整的響應間隔,以避免彈性升降不及時導致查詢被中斷。
調整以下參數,用以確保在一些情境下使用垂直演算法Merge,從而提升Merge效能。
vertical_merge_algorithm_min_rows_to_activate=0 vertical_merge_algorithm_min_bytes_to_activate=134217728 vertical_merge_algorithm_min_columns_to_activate=0Replicated資料庫引擎下,只允許建立資料不落本地磁碟的表引擎,用以避免使用錯誤而導致的各種問題。
調整Keeper參數
digest_enabled=1,開啟即時一致性校正。調整Keeper參數
async_replication=1,在保證讀寫一致性的情況下,提升多個節點間資料複製的效能。最佳化了OSS的QPS和頻寬,使得在同樣的業務負載下減少了OSS的QPS和頻寬。
bug修複
調整Keeper參數
check_not_exists=1和create_if_not_exists=1,以避免ClickHouse-Server的一些調用下產生非預期報錯。修複了部分由於記憶體統計不準確而導致SQL提前結束的問題。
修複
S3::ClientCache中的資料競爭問題。更多詳情,請參見Fix data race in S3::ClientCache。修複極少數情況下因為非預期的projections導致part設定為broken的情況。
在MergeJoin中添加缺失的稀疏刪除操作,用以修複資料Join時的一個bug。更多詳情,請參見Add missing `sparse` removal in MergeJoin。
支援取消PostgreSQL表的查詢。更多詳情,請參見PostgreSQL source support cancel query by kitaisreal · Pull Request。
修複
unbin的緩衝區溢位問題。修複
SumIfToCountIfVisitor和有符號整數中的問題。修複在約束中使用帶IN的子查詢時出現的未就緒集錯誤。更多詳情,請參見Add missing settings in schema inference cache。
修複當存在條件
IS NULL時的不正確的最佳化。更多詳情,請參見Better handling of join conditions involving IS NULL checks。在DDLLoadingDependencyVisitor中忽略IN的子查詢。
修複收到ZooKeeper的硬體錯誤後,結束會話的問題。更多詳情,請參見Finalize session on hardware error from ZooKeeper。
正確列印Keeper中長時間處理的請求。
修複由於
non-monotonic CLOCK_MONOTONIC_COARSE引發的jemalloc斷言問題。更多詳情,請參見Fix jemalloc assertion due to non-monotonic CLOCK_MONOTONIC_COARSE。修複maxIntersections導致的crash。
遞迴移除單射函數鏈的UniqInjectiveFunctionsEliminationPass。更多詳情,請參見UniqInjectiveFunctionsEliminationPass recursively removing chain of injective functions。
修複無法串連到選擇的任何副本返回的錯誤。
構建帶有分析器的jemalloc。
修複keeper關閉會話可能會導致後續串連出錯的問題。
修複keeper啟動時確保有足夠的全域線程池。
修複檔案系統快取導致的記憶體統計錯誤。