
深入解读 ClickHouse v24.7.1.2915-stableVariant 紧凑序列化、新函数与性能优化全景【免费下载链接】ClickHouseClickHouse® is a real-time analytics database management system项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouseClickHouse v24.7.1.2915-stable提交 a37d2d43da7是一次以 MergeTree 存储格式变更和函数库扩展为主线的稳定版本发布与 v24.7.1.1-newaa023477a92对比共涵盖数百项变更。本文基于官方变更日志 docs/changelogs/archive/v24.7.1.2915-stable.md 完整梳理该版本的向后不兼容变更、新特性、性能优化与关键修复并结合当前仓库源码剖析 Variant 紧凑序列化等核心机制的实现细节帮助使用者评估升级影响并掌握本版本新增能力。版本概览项目值发布版本v24.7.1.2915-stable提交哈希a37d2d43da7对比基线v24.7.1.1-newaa023477a92主要影响面Variant 二进制序列化格式、MergeTree 表设置、函数库、Client/Keeper 客户端、S3Queue/DeltaLake 等外部存储集成向后不兼容变更升级前必读本节共 5 项变更直接影响存储格式、DDL 合法性和系统表结构是升级评估的核心。1. Variant 类型二进制序列化引入 compact 模式这是本版本最重要的格式级变更。Variant 数据类型的判别器discriminator列新增compact模式避免在“同一 granule 中只出现单一 variant 或只有 NULL 值”的场景下逐行重复写入相同的判别器。该行为由 MergeTree 表设置use_compact_variant_discriminators_serialization控制默认开启。官方说明中指出Variant 类型仍属于实验性类型因此序列化格式的向后不兼容变更是可以接受的PR #62774。仓库源码可以印证该机制的完整实现核心位于 SerializationVariant.h其中定义了判别器序列化的两种模式struct DiscriminatorsSerializationMode { enum Value { BASIC 0, /// Store the whole discriminators column. COMPACT 1, /// Dont write discriminators in granule if all of them are the same. }; // ... };头文件注释进一步给出了 compact 模式下 granule 的二进制布局granule 行数granule 格式granule 数据其中 granule 格式分两种见 SerializationVariant.hPLAINgranule 内存在不同判别器时逐行原样序列化所有判别器COMPACTgranule 内所有行判别器相同时仅序列化这一个判别器值。写入路径上SerializationVariant.cpp 的serializeBinaryBulkStatePrefix根据设置选择模式并把模式值以 8 字节小端形式写入判别器流的头部供反序列化端识别UInt64 mode settings.use_compact_variant_discriminators_serialization ? DiscriminatorsSerializationMode::COMPACT : DiscriminatorsSerializationMode::BASIC; writeBinaryLittleEndian(mode, *discriminators_stream);而 ISerialization.h 中SerializeBinaryBulkSettings::use_compact_variant_discriminators_serialization默认为falseSerializationObjectSharedData.cpp 在构建 MergeTree 数据共享信息时会将其置为true——这与“MergeTree 表默认启用”的 changelog 描述一致同时说明非 MergeTree 场景如普通格式读写仍走 BASIC 模式读写两种模式的数据因此可以互通。升级提示若你依赖 Variant 实验特性并跨版本混跑集群旧节点写入的 BASIC 格式数据可以被新节点读取头部模式字节显式声明但新节点以 COMPACT 模式写入的数据旧节点无法解析建议整集群统一升级到本版本后再启用该特性。2. 禁止 Replicated 数据库下的 POPULATE 物化视图CREATE MATERIALIZED VIEW ... ENGINE Replicated*MergeTree POPULATE AS SELECT ...在 Replicated 数据库下被禁止PR #63963。原有写法需要改为先建表再单独执行INSERT INTO ... SELECT或放弃 POPULATE 让物化视图只处理后续写入的数据。3. clickhouse-keeper-client 路径必须使用字符串字面量clickhouse-keeper-client现在只接受字符串字面量形式的路径例如必须写ls /hello/world而不再接受裸字符串ls /hello/worldPR #65494。依赖旧语法的 shell 脚本需要同步修改。4. 指标更名KeeperOutstandingRequets → KeeperOutstandingRequests修复了指标名中的拼写错误issue #66179PR #66206。注意这是一次破坏性更名Prometheus 抓取配置、Grafana 面板和告警规则中引用旧指标名的位置都要更新。5. system.functions 移除 is_deterministic 字段system.functions表不再提供is_deterministic列PR #66630。以该列做函数元数据筛查的脚本应改用description或其他途径判断函数确定性。新特性New Feature本版本新增 12 项面向用户的特性覆盖 SQL 函数、表函数、窗口函数、客户端认证与对象存储等方向。命名元组构造与 tupleNamestuple函数被扩展为可在查询中直接构造命名元组并新增tupleNames函数从元组中提取字段名PR #54881。配套地代码中还处理了避免为null、true、false等关键字生成命名元组的边界情况。ASOF JOIN 支持 full_sorting_join 算法ASOF JOIN现可配合full_sorting_join算法使用关闭了长期存在的 issue #54493PR #55051。对需要有序时间线对齐的大表近似连接场景这是一个算法选择上的实质补充。fuzzQuery 表函数新增表函数fuzzQuery可对给定查询字符串做随机变异例如SELECT query FROM fuzzQuery(SELECT 1);该函数服务于查询模糊测试fuzzing场景是 ClickHouse 持续用“以查测库”方式发现解析器/分析器问题的配套工具PR #62103。窗口函数 percent_rank新增窗口函数percent_rankPR #62747计算当前行在其分区内的相对排名(rank - 1) / (总行数 - 1)与rank、dense_rank、cume_dist等函数构成完整的排名函数族。clickhouse-client 支持 JWT 认证clickhouse-client支持 JWTJSON Web Token认证PR #62829与 ClickHouse 服务端的 JWT 用户身份识别能力形成闭环便于在短时凭证场景中对接身份系统。changeYear/changeMonth/changeDay/changeHour/changeMinute/changeSecond 日期时间函数新增六个日期时间分量修改函数PR #63186例如SELECT changeMonth(toDate(2024-06-14), 7) -- 返回 2024-07-14这类函数用于“在保留其他分量的前提下平移某一时间维度”比手工加减toIntervalMonth语义更明确可自动处理月末回卷等边界。启动脚本Startup Scripts引入启动脚本机制允许在服务启动阶段执行预配置的查询PR #64889。运维上可用于启动即完成初始 DDL 引导、默认用户初始化等一次性配置动作。客户端配置 accept_invalid_certificate客户端配置新增accept_invalid_certificate开关允许客户端通过安全 TCP 连接使用自签名证书的服务器PR #65238。它是如下两组openSSL客户端设置的简写openSSL client verificationModenone/verificationMode invalidCertificateHandler nameAcceptCertificateHandler/name /invalidCertificateHandler /client /openSSLsystem.error_log 系统表新增system.error_log保存system.errors中错误值的周期性落盘历史PR #65381。system.errors只反映当前错误状态而system.error_log提供持久化的错误轨迹便于事后排障。groupConcat 聚合函数新增聚合函数groupConcatPR #65451语义约等于arrayStringConcat(groupArray(column), ,)支持两个可选参数分隔符字符串和处理的元素个数上限例如SELECT groupConcat(name, , , 10) FROM tAzureQueue 存储新增 AzureQueue 存储支持PR #65458为 Azure 队列场景提供对象存储通道。Parquet 页索引写入开关新增设置用于开关 Parquet 文件中的 page index 写入PR #65475。page index 有助于 Parquet 读取端的列内裁剪该开关给了使用者在写入体积与读取性能之间的调节手段。logger.console_log_level 可配置系统管理员现在可以配置logger.console_log_levelPR #65559独立于日志文件级别控制控制台输出的日志级别。file 表函数自动补全通配符file表函数传入目录路径时会自动在末尾追加通配符*PR #66019避免“传入目录却读不到文件”的常见坑。clickhouse-client 非交互模式 --memory-usage 选项非交互模式的客户端新增--memory-usage选项PR #66393用于观测单次执行的内存占用情况。性能改进Performance Improvement本版本包含 9 项明确标注的性能优化涉及格式优化、整数转字符串、Join 哈希表复用和 MergeTree 有序读路径optimize_functions_to_subcolumns默认开启PR #58661对嵌套类型的列级函数调用可下推为子列读取减少整列加载。若开启后出现兼容性问题可以显式关闭该设置。整数转字符串算法替换PR #61661itoa 算法由修改版 amdn/itoa 换为修改版 jeaiii/itoa是热路径上的普遍性提速。parallel_hash Join 哈希表大小缓存PR #64553parallel_hash算法创建的哈希表大小被采集并缓存后续查询可据此预分配空间省去反复扩容开销。有序读缓冲优化PR #64607对带主键ORDER BY且 WHERE 条件高选择性的查询采用缓冲方式读取以跳过不相关区间由设置read_in_order_use_buffering控制默认开启官方提示该优化会增加查询内存占用。plain_rewritable 元数据加载提速PR #65634。只读磁盘 ATTACH 表更省资源不再加载过期的 partPR #65635。Set 索引支持 minmax 超矩形PR #65676Set 二级索引可借助 minmax 超矩形进一步剪枝。卸载过期 part 的主键索引PR #65852降低常驻内存总量。replaceRegexpAll/replaceRegexpOne 简单模式加速PR #66185当模式不含元字符、字符类、标志或分组等“平凡”特征时走快速路径性能显著提升。功能改进Improvement改进类变更数量最多以下按主题分组完整列出便于检索。MergeTree、Replicated 与去重语义optimize_trivial_insert_select默认关闭多数情况下有益但若观察到 INSERT SELECT 变慢或内存上升可手动重新开启或设置SET compatibility 24.6PR #58970。MV 去重逻辑重写修复三类典型误判目的表数据被拆分为多个 block 且并行插入时误判重复、MV 聚合产生相同结果时误去重、不同 MV 产生的相同 block 被误去重PR #61601后续又以 PR #66144 补充。只读磁盘 attach 不加载过期 partPR #65635。带 projection 的表执行轻量级删除时可在“抛异常默认”与“删除对应 projection 后执行轻量删除”之间选择PR #65594。DatabaseCatalog 使用最多database_catalog_drop_table_concurrency个线程加速 DROP TABLEPR #66065。修复 SHOW MERGES 剩余时间显示错误PR #66735。distributed_ddl_output_mode的none_only_active模式不再误抛TIMEOUT_EXCEEDEDPR #66218。修复 TRUNCATE DATABASE 曾被当作 DROP DATABASE 而中断复制的问题PR #67129Backport。外部数据源与湖仓集成DeltaLake支持读取分区数据并通过读取元数据而非数据来推断 schemaPR #63201。PostgreSQL支持取消内部查询——ClickHouse 查询结束或用户取消时内部 PostgreSQL 查询随之取消PR #65722、#65771新增postgresql_connection_attempt_timeout映射到连接 URL 的connect_timeout与postgresql_connection_pool_retries两个连接设置PR #66232支持查询计划 LIMIT 下推PR #65454。S3 对象存储查询重试窗口调整为 8.5 分钟、100 次备份恢复调整为 1.2 小时、1000 次PR #65232修复 Azure Blob Storage 日志中未掩码账户密钥的问题PR #65273。S3Queue 引擎系列改进PR #65046s3queue_processing_threads_num默认值改为按物理 CPU 核数推导原为 1s3queue_loading_retries默认 10修复system.s3queue异常列的模糊 Uncaught exceptionMEMORY_LIMIT_EXCEEDED不再计入重试文件 commit 推迟到插入完全结束之后新增s3queue_max_processed_files_before_commit、s3queue_max_processed_rows_before_commit、s3queue_max_processed_bytes_before_commit、s3queue_max_processing_time_sec_before_commit四个 commit/flush 控制设置。ORC支持按写入方时区读取 ORC 文件PR #66025。Orc/Avro 解析修复 Avro 负 block size 数组规范允许解析失败PR #66130。RocksDB 后端Keeper 支持 rocksdb 作为后端存储PR #56626。查询引擎、优化器与分析器IN谓词的分区裁剪当过滤表达式是PARTITION BY表达式的一部分时生效PR #65335。自定义键并行副本支持cluster_for_parallel_replicasPR #65453使自定义键并行副本可用于 MergeTree 表。arrayMin/arrayMax扩展至所有可比较类型PR #65455。参数化视图函数支持别名仅新分析器PR #65190。allow_experimental_analyzer改由分布式查询发起方控制保障混合版本集群的兼容与正确性PR #65777。新增 Profile EventSelectQueriesWithPrimaryKeyUsage统计利用主键裁剪 WHERE 的 SELECT 数量PR #64492。JSONExtract 系列函数重构支持更多类型含实验性 Dynamic 类型PR #66046。generateSnowflakeID支持以参数指定 machine ID避免大集群 ID 冲突PR #66374。空参数调用concat()现在合法PR #65887。Variant 与 Dynamic 子列支持 null map 子列PR #66178。命名集合管理支持忽略ON CLUSTER子句的设置复制存储场景PR #66288。依赖库升级pocketfft更新至最新提交PR #66291、azure-sdk-for-cpp升级PR #66292。客户端、运维与资源管理clickhouse-client/clickhouse-local崩溃时打印堆栈与诊断信息PR #61109clickhouse-local提示符简化为:)PR #65510。clickhouse-local现在遵循配置文件中的max_server_memory_usage与max_server_memory_usage_to_ram_ratio默认按系统内存 90% 限制与 server 行为一致PR #65697并支持在 clickhouse-local 中控制命名集合PR #65973。cgroups v2 内存统计改进排除页缓存占用PR #65470容器内根 cgroup空名称场景下正确识别 cgroups v2 的 CPU 限制PR #66237。Keeper 遵循 cgroup CPU 限制PR #65819。ZooKeeper 负载均衡改进当前会话在最优节点不可用前不因fallback_session_lifetime过期并新增可用区感知AZ-aware均衡PR #65570。新增config_reload_interval_ms配置项控制配置重载频率PR #65559 之后的 #65545。compiled_expression_cache_size与compiled_expression_cache_elements_size出现在system.server_settingsPR #65584。交互式客户端禁用 CtrlZ 挂起常见陷阱PR #66511Query was cancelled不再重复打印两次PR #66005。提供将文件备份进 ClickHouse 的脚本PR #65699新增交互式clickhouse-disks客户端并支持从本地目录添加本地磁盘PR #64446。新增基于 x509 SubjectAltName 扩展的用户身份识别PR #65626。交互式客户端的clickhouse-disks、SHOW INDEX | INDEXES | INDICES | KEYS按主键列在主键中的位置排序输出原按列名排序PR #61131。文件缓存后台下载默认关闭因后台线程在查询上下文之外释放内存可能导致 Memory limit exceeded待相关问题修复并新增后台下载上限设置后再启用PR #65534。组合协议composable protocolsTLS 层现接受certificateFile与privateKeyFile参数PR #63985。字典主键类型校验选项不校验时 simple 布局下任意列类型会被隐式转换为 UInt64PR #66595。clickhouse-local不再受 macOS 上getFQDNOrHostName()慢调用影响提示符显示PR #65510 关联的 #65803 修复。修复读取 JSON 文件时列名大小写不敏感匹配input_format_json_case_insensitive_column_matchingPR #61750。修复 s390x 上多列聚合损坏、Dwarf5 越界解析等架构相关问题PR #65062、#65501。关键修复Critical Bug Fix影响崩溃、逻辑错误、数据丢失或 RBAC 的 4 项严重修复低基数列在函数调用中尺寸异常PR #65298修复 LowCardinality 列参与函数调用时的意外尺寸问题。循环依赖检测PR #65405关闭 issue #65355CREATE/REPLACE/RENAME/EXCHANGE现在检查表间循环依赖并抛异常此前此类循环依赖可导致服务器启动死锁同时修复若干依赖关系创建的 bug。maxIntersections 崩溃PR #65689。用户定义中的 VALID UNTIL 子句PR #66409关闭 issue #66405修复重启后有效期被重置的问题。用户可见 Bug 修复Bug Fix以下为该版本修复的用户可见行为问题按主题归纳完整条目见原变更日志正确性相关结果错误或异常修复FINAL read-in-order 优化启用时non-intersecting-parts优化导致的错误查询结果官方给出的临时规避方案是关闭do_not_merge_across_partitions_select_final与split_parts_ranges_into_intersecting_and_non_intersecting_finalPR #65505。修复merge-filters优化在合并两个过滤表达式且未做短路求值时可能抛异常的问题该优化被暂时禁用PR #66126。修复窗口函数WINDOW查询在 PARTITION 列使用稀疏序列化且并行执行时可能产生的错误结果PR #66579。修复谓词含非确定性函数时count()结果错误PR #66510。修复分布式查询结果中稀有缺数据情况issue #61432PR #66174。修复外部引擎表如 PostgreSQL在 outer join 下过滤条件被过度下推导致结果不正确的问题现在 outer join 场景 WHERE 条件不再发送到外部数据库PR #66402。修复groupArrayIntersect的merge()行为错误及数值/通用类型的deserialise()问题PR #66103。修复bitTest/bitTestAll/bitTestAny在越界 bit 索引时不报错现在报错issue #65517PR #65818bitShiftLeft/bitShiftRight同理issue #65516PR #65838。修复新分析器下uniq*函数参数中注入函数消除被破坏的问题PR #65140has函数对非常量 LowCardinality 参数的多个错误PR #66088group_by_use_nullstrue下 Column identifier is already registered 错误PR #66400。修复IS NULL相关 join 条件处理ON (a b AND a IS NOT NULL AND b IS NOT NULL) OR (a IS NULL AND b IS NULL)现在正确改写为ON a b并修复其他非IS NULL条件存在时的错误优化PR #65835。修复(column IS NULL)表达式在旧分析器下触发 Unknown identifier/Column is not under aggregate function 的问题PR #66654IN 首个参数为标量子查询时报 getResultType is not supported for QUERY query node新分析器PR #66655。修复兼容性级别 23.4 未正确生效PR #65737、GROUP BY 常量表达式 Cannot find columnPR #66433、约束中 IN 子查询 Not-ready setPR #66261、SumIfToCountIfVisitor有符号整数问题PR #66146。修复unbin/unhex缓冲区溢出PR #66106解析空元组哈希时读取未初始化内存PR #66562ColumnTuple::insertManyFrom中column_length未更新PR #66626。修复从 Memory 表读取变更max_types后 Dynamic 子列结果错误PR #66066analyzer 中 Dynamic 子列解析导致读整列的问题PR #66004Variant 子列读取的 PARAMETER_OUT_OF_BOUNDPR #66659。修复 projection 去重 merge 的 NOT_FOUND_COLUMN_IN_BLOCKPR #65573drop column 后 merge 卡住的稀有情况PR #66707盘上出现非预期 projection 时 part 被误判为 brokenPR #66898Backport。修复 EmbeddedRocksDB 带 TTL 写入损坏 SST 文件PR #65816S3Queue 内存持续增长PR #65839S3Queue 文件列表整批被过滤时报 Index out of bound for blob metadataPR #65523。修复parseDateTime中%F/%D占位符的错误异常PR #65768arrayAUC的 tie 处理对齐 sklearnPR #65840Npy 导入坏嵌套层级时的逻辑错误PR #66461。修复旧 part无自适应索引粒度表PREWHERE 不读列时的逻辑错误issue #56640PR #59173MergeJoin 中稀疏序列化列被当作嵌套类型列而未做转换PR #65632。修复join_any_take_last_row现在在任何使用 hash join 的查询中生效PR #65820system.numbers_mt无索引可用时 limit 处理PR #66231cross join 缺失列物化PR #66413fuzzer 发现的indexHint边界PR #66286。修复 Replicated 数据库下即使设置database_replicated_allow_heavy_create也禁止 CREATE AS SELECT 的历史回退PR #66980Backport单分片 Distributed 上的 Merge 表报 Cannot convert column because it is non constant...PR #67146Backport。RBAC 与安全通过直接查询或Dictionary表引擎访问字典现在要求dictGet权限PR #65359。修复用户级 S3 认证在增量备份下失效PR #65481。修复 Azure Blob Storage 日志中账户密钥未掩码PR #65273。稳定性与竞态取消查询时取消缓冲区 bugPR #64478TCPHandler致命错误路径的数据竞态PR #65744AccessControl 析构崩溃增加显式 shutdownPR #64993ZooKeeper 客户端收到硬件错误如 Keeper 软内存限制触发后会话卡在不可用状态PR #66140GRPCServer关闭时可能挂起issue #65622PR #66061S3ClientCache数据竞态PR #66644Allocator::realloc内存跟踪不正确PR #66548watchdog 持有已轮转日志文件句柄PR #66334。MySQL 协议 TLS 连接服务端与客户端两侧及SSL_ERROR_WANT_READ/WRITE零超时处理PR #65917、#65938、#65941Prometheus 请求处理器的逻辑错误PR #66621。ALTER TABLE ... ON CLUSTER ... MODIFY SQL SECURITY崩溃PR #64957create table b empty as a的 AST 格式化错误PR #64951从元数据填充 parts 列columns.txt 不存在时PR #64757。schema 推断缓存遗漏input_format_csv_skip_first_lines、input_format_tsv_skip_first_lines、input_format_csv_try_infer_numbers_from_strings、input_format_csv_try_infer_strings_from_quoted_tuples四个会影响推断结果的设置PR #65980from_env替换覆盖的配置合并错误PR #66034复制存储下删除命名集合PR #66599。MaterializedMySQL 的 TABLE OVERRIDE 将 MySQL NULL 映射到非 NULL 字段时崩溃PR #54649ODBC 表可空字段PR #65738S3 引擎/表函数中归档内文件的_size列语义澄清PR #65993age函数有符号整数溢出PR #66831dictGetOrDefault旧分析器短路求值 bugPR #65802。构建、测试与打包改进将模板方法实例化分散到不同 .cpp 文件避免过大的翻译单元拖慢编译PR #64818。无状态stateless测试提速并降低并行任务数PR #65186、#66305、#66363修复 gdb 捕获错误导致测试挂起PR #66411。新增base64URLEncode/base64URLDecode测试与分析器测试PR #65979新增 gRPC 协议无状态测试PR #66284。修复 GitHub CI 实例因超时被终止后产物未收集、完整测试报告缺失的问题PR #66036修复test_grpc_protocol::test_progressPR #66063。修复自 v24.6.1.4423-stable 以来 ppc64le 动态 OpenSSL 构建cmake -DENABLE_OPENSSL_DYNAMIC1 -DCMAKE_TOOLCHAIN_FILEcmake/linux/toolchain-ppc64le.cmake出现ld.lld: error: duplicate symbol: OPENSSL_cleanse的问题PR #66733。其他内部变更说明原变更日志中还有NO CL CATEGORY、NO CL ENTRY与NOT FOR CHANGELOG / INSIGNIFICANT三个区段均非面向用户的功能变更NO CL CATEGORY / NO CL ENTRY两条 Backport 记录PR #67040、#67392及若干不带 changelog 条目的 Revert 操作如回滚 Use 1MB HTTP buffers、Resubmit http_external_tables_memory_tracking test、insertion deduplication on retries for materialised views 等PR #65155、#65498、#65500、#65686、#66134。NOT FOR CHANGELOG / INSIGNIFICANT约 300 条内部维护项主要为 CI 流水线重构自动发布工作流、job 过滤与跳过策略、构建报告、OOM 通知、flaky 测试修复00763_lock_buffer_long、01254_dict_load_after_detach_attach.sql、test_replicated_database::test_alter_attach等大量编号测试、依赖更新libunwind 8.1.7、rocksdb v6.23.3、vectorscan 5.4.x、Azure SDK 1.12、s2geometry、re2、OpenSSL 非同步访问官方修复、jemalloc 构建选项调整启用 profiler、禁后台线程、移除告警日志以及若干内部接口重构如IColumn类型契约检查、ASTViewTargets拆分、LLVM 18 准备。这些条目对终端用户无直接影响本文不一一展开完整清单请以 原变更日志 为准。升级建议与适用前提升级窗口选择若生产集群使用 Variant 实验类型升级前确认所有节点同步升级避免跨版本读写 COMPACT 格式数据混跑期可临时关闭use_compact_variant_discriminators_serialization。监控联动搜索并更新所有引用KeeperOutstandingRequets的抓取与告警配置涉及system.functions.is_deterministic的元数据脚本需改写。DDL 检查审计 Replicated 数据库下的POPULATE物化视图建表语句确认表间不存在循环依赖新检测在启动阶段即可能报错。行为开关回退optimize_trivial_insert_select与文件系统缓存后台下载默认关闭、optimize_functions_to_subcolumns默认开启——出现性能回退时可按 changelog 建议显式SET覆盖或设置compatibility 24.6回退行为。客户端脚本clickhouse-keeper-client中裸路径改字符串字面量若依赖客户端挂起CtrlZ或交互式clickhouse-disks旧行为按上文条目调整。以上内容全部基于仓库内变更日志 docs/changelogs/archive/v24.7.1.2915-stable.md 与当前源码SerializationVariant.h、SerializationVariant.cpp交叉印证适用于评估 v24.7.x 分支的升级与特性采用。【免费下载链接】ClickHouseClickHouse® is a real-time analytics database management system项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考