本文介紹云數據庫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=0
Replicated數據庫引擎下,只允許創建數據不落本地磁盤的表引擎,用以避免使用錯誤而導致的各種問題。
調整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啟動時確保有足夠的全局線程池。
修復文件系統緩存導致的內存統計錯誤。