ClickHouse 25.11 版本全解析:Geometry 正式类型化、EXECUTE AS 用户模拟与 Prometheus Query API 落地

ClickHouse 25.11 版本全解析:Geometry 正式类型化、EXECUTE AS 用户模拟与 Prometheus Query API 落地 ClickHouse 25.11 版本全解析Geometry 正式类型化、EXECUTE AS 用户模拟与 Prometheus Query API 落地【免费下载链接】ClickHouseClickHouse® is a real-time analytics database management system项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouse本文以 ClickHouse 官方 2025 年度 changelogdocs/changelogs/v25.11.1.558-stable.md为主线系统梳理 v25.11.1.558-stable 版本中引入的向后不兼容变更、新特性、实验特性、性能改进、修复与构建改进。读者读完本文后将掌握 25.11 版本的升级影响面、核心新功能的正确用法如 Geometry 类型、EXECUTE AS、Prometheus HTTP Query API、midpoint/argAndMin 函数等并能依据仓库源码理解这些特性背后的实现原理与适用前提。版本概览与升级前必读v25.11.1.558-stable是 ClickHouse 2025 年 11 月的稳定版本提交号16f22f3d744对比基线为v25.11.1.1-new (ae414ae37fc)。整个 changelog 由Backward Incompatible Change向后不兼容变更、New Feature新特性、Experimental Feature实验特性、Performance Improvement性能改进、Improvement改进、Bug Fix用户可见的 bug 修复、Build/Testing/Packaging Improvement构建/测试/打包改进、NO CL ENTRY与NOT FOR CHANGELOG等栏目构成。升级到 25.11 前必须重点评估以下行为变化其中多数会直接影响存量数据或存量 SQL1. Geometry 从 String 别名升级为完整数据类型影响面高。在 25.11 之前Geometry类型只是String的别名25.11 起它成为功能完整的独立类型PR #83344。从源码可以看到Geometry被实现为一个固定判别子顺序的Variant类型内部可容纳LineString、MultiLineString、MultiPolygon、Point、Polygon、Ring、MultiPoint七种几何类型见 src/DataTypes/DataTypeCustomGeo.cpp#L282-L310/// The order defines the global discriminators of the Variant, which are persisted /// in data. For backward compatibility, new geo types are appended at the end. DataTypes geo_types { type_factory.get(DataTypeLineStringName().getName()), /// 0 type_factory.get(DataTypeMultiLineStringName().getName()), /// 1 type_factory.get(DataTypeMultiPolygonName().getName()), /// 2 type_factory.get(DataTypePointName().getName()), /// 3 type_factory.get(DataTypePolygonName().getName()), /// 4 type_factory.get(DataTypeRingName().getName()), /// 5 type_factory.get(DataTypeMultiPointName().getName()), /// 6 };该类型支持读取WKB与WKT两种空间格式同文件还注册了 MySQL 兼容别名GEOMETRYsrc/DataTypes/DataTypeCustomGeo.cpp#L310。使用示例CREATE TABLE geo (geom Geometry) ENGINE Memory(); INSERT INTO geo VALUES ((1, 2)); -- 也支持从 WKT 文本转换 INSERT INTO geo_dst SELECT readWKT(geom) FROM geo;2. 移除已废弃的 Object 类型与 LIVE VIEW 功能Object 类型被移除PR #85718。凡依赖旧Object数据类型的表需要提前迁移可用JSON或Dynamic类型替代。LIVE VIEW 被彻底移除PR #88706。官方明确若你正在使用LIVE VIEW将无法升级到新版本。存量场景建议改用物化视图或Refreshable Materialized View相关实现与系统表system.view_refreshes在 25.11 中也有多处改进见下文。3. Variant 子列文件名转义兼容性开关为修复 Variant 中带特殊符号的类型如含\的时区 DateTime导致 Wide 数据部分存储异常的问题issue #69590Variant/Dynamic/JSON 类型的子列文件名现在会进行转义PR #87300。该改动会破坏与旧表含 Variant/Dynamic/JSON 数据类型的兼容。若需保持旧行为可通过 MergeTree 设置escape_variant_subcolumn_filenames0或在升级前将compatibility设置为上一版本。4. String 默认序列化格式变更with_size_stream从 25.11 起String数据类型的with_size_stream序列化格式默认启用PR #89329。该变更向后兼容但新序列化格式仅 25.10 之后版本支持意味着无法降级到 25.10 之前的版本。如果必须保留降级到 25.9 及更早版本的能力请在服务器配置的 merge_tree 段中显式设置merge_tree serialization_info_versionbasic/serialization_info_version string_serialization_versionsingle_stream/string_serialization_version /merge_tree5. 其他不兼容变更速览变更说明多个 plain-rewritable 磁盘叠加禁止在共享对象存储路径上创建多个plain-rewritable磁盘PR #89038避免不同元数据存储事务冲突导致的未定义行为HTTP 异常标记新增http_write_exception_in_output_format设置让客户端能更可靠地解析异常默认关闭以保持各格式行为一致PR #88818Kafka SASL 优先级修复CREATE TABLE中的表级 SASL 设置现在正确覆盖配置文件中的 consumer/producer 级设置PR #89401T64 编解码器修复修复压缩数据大小与元素大小不对齐时的Fatal错误issue #89282PR #89432新特性SQL、函数、类型与集成25.11 引入了 20 余项新特性覆盖访问控制、监控、地理、全文检索、Kafka、数据湖与向量检索等多个方向。EXECUTE ASSQL 级用户模拟impersonation新增EXECUTE ASSQL 语句支持以其他用户身份执行查询issue #39048PR #70775。其解析实现在 src/Parsers/Access/ParserExecuteAsQuery.cpp语法有两种形式EXECUTE AS target_user; -- 后续会话中的查询都以此用户身份执行 EXECUTE AS target_user subquery; -- 仅该子查询以此用户身份执行使用前提配置access_control_improvements.allow_impersonate_user1且当前用户被授予IMPERSONATE权限GRANT IMPERSONATE ON user1 TO user2; -- user2 可以模拟 user1 GRANT IMPERSONATE ON * TO user3; -- user3 可以模拟任意用户模拟期间currentUser()返回被模拟用户authenticatedUser()返回实际认证用户src/Parsers/Access/ParserExecuteAsQuery.cpp#L115-L124SELECT currentUser(), authenticatedUser(); -- 输出 default default EXECUTE AS james SELECT currentUser(), authenticatedUser(); -- 输出 james default值得注意的实现细节解析器会把子查询上的FORMAT、INTO OUTFILE、COMPRESSION、SETTINGS等输出选项提升hoist到外层EXECUTE ASAST 上保证内部executeQuery以 internal 模式返回原始块后外层管线仍能正确应用格式化。Prometheus HTTP Query APIquery_api25.11 支持了Prometheus HTTP Query API 的一部分PR #86132。在配置文件的prometheus段中添加type为query_api的规则即可启用prometheus endpoint/metrics/endpoint port9363/port handler url/api/v1/query/url typequery_api/type /handler handler url/api/v1/query_range/url typequery_api/type /handler /prometheus源码中支持的处理端点为/api/v1/query与/api/v1/query_rangesrc/Server/PrometheusRequestHandler.cpp#L427-L503并可通过 URL 前缀挂载query/query_api均映射到PrometheusRequestHandlerConfig::Type::Querysrc/Server/PrometheusRequestHandlerFactory.cpp#L203-L204。同时保留原有metrics、remote_write、remote_read等 handler 类型。默认的 Prometheus 配置模板参见 programs/server/config.xml#L1197-L1206。新增函数与运算符函数说明flipCoordinates展开数组中指定数量的维度并在 Tuple 列内交换指针PR #79634实现见 src/Functions/flipCoordinates.cppmidpoint计算多个参数的平均值支持数值与时间类型PR #89679。实现基于FunctionBinaryArithmeticMidpointImpl, NameMidpointsrc/Functions/midpoint.cpp声明于 25.11 引入argAndMin(arg, val)/argAndMax(arg, val)同时返回参数及其对应的最小/最大值即argMin/argMax的返回两者版本PR #89884实现见 src/AggregateFunctions/AggregateFunctionsArgMinArgMax.cpp#L640-L804arrayRemove(arr, elem)从数组中移除所有等于elem的元素PR #89585h3PolygonToCells用 h3 六边形填充几何图形PR #66262cume_dist窗口函数新增cume_dist窗口函数支持issue #86920PR #88102IS DISTINCT FROM增强运算符支持反向的IS DISTINCT FROM并支持不同类型但兼容的数值操作数如Nullable(UInt32)与Nullable(Int64)PR #87581分数LIMIT/OFFSET支持用分数形式选取表的比例数据PR #88755readWKT/WKB 支持配合新 Geometry 类型读取 WKT/WKB 文本hasAnyTokens/hasAllTokens输入扩展为支持字符串数组PR #89124midpoint的实际示例源码内置文档 src/Functions/midpoint.cpp#L25-L70SELECT midpoint(1, toUInt8(3), 0.5) AS result, toTypeName(result) AS type; -- 1.5 Float64UInt8 被提升到 64 位参与运算 SELECT midpoint(toDate(2025-01-01), toDate(2025-01-05)) AS result; -- 2025-01-03 SELECT midpoint(toDateTime(2025-01-01 00:00:00), toDateTime(2025-01-03 12:00:00)) AS result; -- 2025-01-02 06:00:00监控与运维类新特性system.unicode系统表包含 Unicode 字符及其属性列表issue #80055PR #80857实现为 src/Storages/System/StorageSystemUnicode.cpp并注册于 src/Storages/System/attachSystemTables.cpp。HTTP 内存指标X-ClickHouse-Progress与X-ClickHouse-Summary新增memory_usage字段可在客户端实时收集查询内存占用PR #88393。send_profile_events设置在 profile events 未被使用时减少网络流量PR #89588/#89972前者曾被回滚后重新合入。into_outfile_create_parent_directories设置自动创建INTO OUTFILE的父目录避免输出路径不存在时报错PR #88795。Web UI 下载按钮可下载完整结果集即使界面只显示部分PR #89768Web UI 还支持负值双向柱状图PR #89016、显示表属性PR #89771、查询文本区全宽缩放PR #89457等。EXPLAIN的input_headers选项为执行计划的各步骤补充输入头信息PR #88311。存储与数据湖集成Microsoft OneLake catalog 集成PR #89366可在SHOW DATABASES中默认展示数据湖 catalog 数据库。arrow_flight_request_descriptor_type设置支持 Dremio 等要求 command 风格 descriptor 的 Arrow Flight 服务器PR #89826。临时表CREATE OR REPLACE支持对临时表使用CREATE OR REPLACE语法PR #89450。Kafka新增kafka_schema_registry_skip_bytes设置跳过信封头部字节如 AWS Glue Schema Registry 的 19 字节前缀后再解析消息体PR #89621kafka_compression_codec/kafka_compression_level现在可用于两个 Kafka 引擎的 producer 端压缩PR #89073。文本索引 preprocessor索引构建新增preprocessor参数即分词前对每个文档做变换的任意表达式PR #88272。merge_max_dynamic_subcolumns_in_wide_partMergeTree 设置合并后限制 Wide 部分的动态子列数量不受数据类型参数约束PR #87646。禁用后台邻近 part 数据下载允许按查询粒度关闭PR #89668。e2kElbrus-2000实验平台新增平台支持PR #90159。实验特性ACME、全文搜索与 Alias 引擎ACME TLS 证书支持从 ACME 提供方RFC 8555获取 TLS 证书PR #66315。注意伴随一条配套防护若启用了 ACME 客户端但服务的域名列表为空服务器将直接停止相关提交见 NOT FOR CHANGELOG 区。全文搜索进入 private preview全文检索功能从实验阶段进入私有预览阶段PR #88928说明 API 已趋于稳定但仍受控开放。Alias 表引擎降级为实验特性Alias移至实验特性需allow_experimental_alias_table_engine1开启PR #89712。同时修复了 Alias 的多处稳定性问题禁止显式列定义列自动从目标表加载、禁止别名指向另一个别名、补齐supportsReplication、getStoragePolicy、lifetimeRows、storesDataOnDisk、tryLockForShare等存储接口PR #88552、#89812。性能改进JOIN、分区裁剪与文本索引25.11 的性能优化重点集中在 JOIN、分区裁剪、压缩、文本索引与 Parquet 读取上RIGHT/FULL JOIN 并行化改用ConcurrentHashJoin以更高并行度执行多种场景下最高提速约2 倍issue #78027PR #78462/#89737。不过该改动在开发期间经历过一次回滚见 NO CL ENTRY 区 Revert Use ConcurrentHashJoin随后被重新合入属于双 PR 提交的经典合并历史。分区裁剪加速在 10K 分区部分parts的表上重度分区裁剪的SELECT查询最高提速 8 倍PR #85535。JOIN 惰性列复制enable_lazy_columns_replication默认开启避免 Sparse/Replicated 等特殊列表示在输出格式中被转换为完整列减少内存拷贝PR #88752/#89316allow_special_serialization_kinds_in_output_formats也默认开启PR #89402。聚合优化GROUP BY 小整数使用固定哈希表时聚合状态可并行合并PR #87366DISTINCT查询可受益于聚合投影PR #88894HashSetTable::merge开销降低以加速部分 countDistinctPR #89727。LZ4 解压提速简化代码并优化算法选择逻辑PR #88360。Parquet reader v3 默认启用PR #88827同时支持 UUID 逻辑类型FixedString(16)PR #74484无时区时间戳按DateTime64(..., UTC)读取可用input_format_parquet_local_time_as_utc0恢复旧行为PR #87872。文本索引text index字典块缓存 哈希表替代二分查找PR #88786posting lists 缓存PR #88912新增服务器设置text_index_header_cache_policy、text_index_header_cache_size、text_index_header_cache_max_entries、text_index_header_cache_size_ratio缓存已反序列化的索引头PR #89513。optimize_read_in_order与query_plan_optimize_lazy_materialization可同时生效PR #88866惰性物化行数上限从 10 提升到 100PR #89772。分布式执行按 row group ID而非按文件拆分任务避免文件级倾斜PR #87508。S3 BACKUP 分区优化S3 内部按键名前缀分区对象为适配高请求速率新增两个 BACKUP 设置data_file_name_generator值为checksum时按内容哈希命名与data_file_name_prefix_length。示例checksum 为abcd1234ef567890abcd1234ef567890、data_file_name_prefix_length3时路径变为abc/d1234ef567890abcd1234ef567890键分布更均匀降低限流风险PR #88418。LIMIT BY 流式化当输入排序与 LIMIT BY 键一致时启用流式LIMIT BY变换PR #88969。ANY LEFT/RIGHT JOIN 改写为 ALL INNER JOIN在部分场景下允许PR #89403。其他ConstantNode 大值优化PR #81104、异步日志每条目原子操作减少PR #89651、runtime filters 多连接场景下下推修正PR #89725/#89741、aarch64 vsdo 修复PR #86096等。常规改进可观测性、缓存与生态25.11 的 Improvement 栏目包含约 75 项增强重点领域如下可观测性与系统表system.query_log新增is_internal列记录字典、可刷新物化视图等内部执行的查询PR #83277。system.trace_log新增thread_name列PR #89475system.replicas新增uuid列PR #89370。Keeper 请求各阶段耗时直方图指标服务器侧新增keeper_client_queue_duration_milliseconds、keeper_client_send_duration_milliseconds、keeper_client_roundtrip_duration_millisecondsKeeper 侧新增keeper_server_preprocess_request_duration_milliseconds、keeper_server_process_request_duration_milliseconds、keeper_server_queue_duration_milliseconds、keeper_server_send_duration_millisecondsPR #88158。S3 与 AzureBlobStorage 新增被限流器延迟的请求计数 profile eventsAzureBlobStorage 的 HTTP DELETE 请求不再被限流PR #88535。HTTP 查询结果缓存响应新增Age与Expires头Age表示结果是否来自缓存新增 profile eventsQueryCacheAgeSeconds、QueryCacheReadRows、QueryCacheReadBytes、QueryCacheWrittenRows、QueryCacheWrittenBytesPR #89759。输出格式相关设置不再影响查询缓存PR #89756。system.asynchronous_metrics修复错误的FilesystemCacheBytes等指标system.filesystem_caches提供指向同一路径的缓存原子视图PR #89640。system.columns新增statistics列显示表上已构建的统计类型自动创建的统计带(auto)后缀PR #89086system.part_logs现在存储去重块 IDPR #89928。system.flushSYSTEM FLUSH ASYNC INSERT QUEUE命令支持指定要刷新的表列表PR #89915。统计与缓存表级统计缓存MergeTree 设置refresh_statistics_interval控制统计缓存刷新间隔0 表示不建缓存会话设置use_statistics_cache控制查询是否使用表级统计PR #88670。S3 凭据缓存与 STS 端点交互的 S3 凭据可被缓存复用缓存量由s3_credentials_provider_max_cache_size控制PR #89734。bcrypt 认证缓存PR #87115。查询槽位/线程concurrent_threads_soft_limit_ratio_to_cores默认值在 config.xml 中修正为 0PR #86516。部分级ColumnsDescription缓存表含大量 parts/列时降低内存PR #89352。投影作二级索引允许使用普通投影作为二级索引谓词可读投影部分并生成位图在 PREWHERE 阶段高效过滤行PR #81021投影索引系列的第三步。存储与磁盘ALTER TABLE ... FREEZE支持并行执行PR #71743。存在坏磁盘时仍允许FETCH PARTITIONPR #58663。支持对不支持 append 写入磁盘的表使用non_replicated_deduplication_windowPR #89796。plain-rewritable 磁盘的内存元数据重构修复目录嵌套相关的多个 bugPR #89125system.detached_parts相关测试同步完善。引入 TTL drop merge 类型这类 merge 后不再更新下一次删除 TTL merge 计划PR #90077。S3s3_retry_attempts默认提升到 500针对 25.6保证 S3 重新分区或慢响应超过 10 分钟时备份仍能成功PR #89051。enable_shared_storage_snapshot_in_query默认开启以获得更强一致性PR #82634但随后发现其存在内存泄漏风险并在 bug fix 区被禁用PR #90770backport #90842。安全与访问控制所有ON CLUSTERDDL 以原始查询用户上下文执行改进权限校验PR #71334。SQL 定义的 role 可授予users.xml中定义的用户PR #88139。创建SQL SECURITY DEFINER视图时不再检查SET DEFINER current_user:definer访问PR #88968。CVE-2025-5318 修复修复 ClickHouse 内置 libssh 中的漏洞PR #90807注意该修复在 NO CL ENTRY 区有回滚记录最终状态以发布版本为准。生态与其他OpenSSL 升级到 3.5.4PR #81389ai-sdk-cpp更新以支持最新模型与 embeddingsPR #89384。chdig 更新到 v25.10PR #89452与 v25.11.1PR #89957。S3Queue 遵循disable_insertion_and_mutation服务器设置PR #89048S3Queue 清理时对 Keeper 使用更低的 RemoveRecursive 节点限制PR #90201。交互模式下clickhouse-client/clickhouse-local高亮与光标下标识符同名的其他标识符PR #89689以空白开头的查询不再写入历史PR #89116pager 运行时按 Ctrl-C 可取消查询PR #88935。input_format_parquet_local_time_as_utc默认行为调整见性能节create_table_empty_primary_key_by_default默认开启PR #89333/#89342。备份引擎修复SHOW CREATE DATABASE生成无效查询的问题PR #89341GCS 备份原生拷贝修复PR #89923。修复system.asynchronous_metrics、FilesystemCacheBytes相关指标MergeMutateSelectedEntry析构中的重逻辑移至finalize()避免长时间持锁PR #88898。Bug 修复稳定性与正确性重点25.11 的 Bug Fix 栏目包含 100 余项修复全部针对用户可见的问题。按其影响领域分组如下查询正确性修复分布式合并聚合涉及多远程分片或存在 IN 子查询时rows_before_limit_at_least不准确issue #63280PR #63511。修复INSERT INTO ... SELECT后显示0 rows in setissue #47800PR #79462。修复multiIf常参数与短路求值issue #72714PR #84546空元组在IN、reverse、CAST中的逻辑错误PR #89850/#89908equals罕见逻辑错误PR #90557concatWithSeparator常量非字符串列逻辑错误PR #90655。修复trim/ltrim/rtrim双参数不生效PR #90305、countIf(*)参数截断PR #89373、top_k单参数时未遵守 thresholdPR #88812 相关实际为 #88867。修复cramersV、cramersVBiasCorrected、theilsU、contingency中 phi-squared 计算错误PR #87831reverseUTF8对 4 字节 UTF-8 码点反转错误PR #88914。修复 PK 逆序时min(PK)/max(PK)结果错误PR #88796numbers系统表大步长时的逻辑错误与取模 bugPR #90123。修复L2DistanceTransposed在p为Nullable/LowCardinality(Nullable(T))时错误移除Nullable返回值PR #88974/#89397精度参数越界崩溃PR #90405以及数组参考向量与QBit非 Float64 元素类型间的距离计算错误PR #90485。修复LogicalExpressionOptimizerPass中字符串到整数/布尔隐式转换问题PR #90245。JOIN 相关跨连接重排序逻辑错误PR #88286、full_sorting_mergejoin 重复列逻辑错误PR #89495、OR 条件 唯一右表键的 JOIN 结果错误PR #89512、重复列Invalid number of rows in ChunkPR #90053、query_plan_convert_join_to_in逻辑错误PR #89554、ARRAY JOIN在enable_lazy_columns_replication下的崩溃PR #89551/#89717/#90066/#89997、runtime filter 与 join 算法匹配问题PR #89652/#89666。存储与数据格式Parquet修复 segfaultinput_format_parquet_local_file_min_bytes_for_seek0PR #88784、写入端created_by格式PR #87735、数据竞态PR #89174。JSON混合 Float/Bool 数组读取异常PR #88088 相关、compact parts 子列读取CANNOT_READ_ALL_DATAPR #90302、共享数据与动态路径不一致PR #90816、prewhere 非存在 JSON 路径 index_granularity_bytes0逻辑错误PR #90375、二进制反序列化栈溢出PR #89822。稀疏列CHECK 约束处理PR #89076、旧版本写入的 tuple 稀疏序列化兼容PR #89405。统计countmin 不支持LowCardinality(Nullable(String))PR #89343、统计条件类型不匹配估算异常PR #89596、mutation 上统计的未压缩校验和丢失PR #89381、String→Nullable(String) 变更后 uniq 统计文件不兼容PR #90311。其他SHOW COLUMNS/SHOW FUNCTIONS转义错误PR #89942、file()函数从 glob 获取格式失败PR #88947、skip index 在表定义中格式化错误导致METADATA_MISMATCHPR #90251、base32/base58 缓冲区大小计算PR #89133/#89929、压缩流中途报错时 HTTP 接口缓冲刷新PR #89256、lightweight updates 后查询条件缓存导致错误结果PR #90204、异步插入与 Distributed 关机竞态 use-after-freePR #89136。复制、Keeper 与数据湖Replicated database 恢复后长时间打印Failed to mark query-... as finishedPR #88671Keeper 启动时未正确重命名的 changelog 读取PR #89496。Iceberg 表 IN 子查询在分区裁剪前正确预计算PR #89177、icebergS3Cluster schema evolution 与 positional/equality deletesPR #88919Hive 分区并发读取数据竞态PR #90474与 25.8 升级不兼容PR #90202Paimon 无分区表处理PR #89793。MaterializedPostgreSQL 大写列名复制PR #89530MongoDB 引擎用户名含的 URL 校验PR #89970。安全与访问非存在 role 用户的clusterAllReplicas报ACCESS_ENTITY_NOT_FOUNDPR #89068查询掩码规则误应用于 DDLPR #89272命名集合隐藏密钥依赖display_secrets_in_show_and_selectPR #90765。构建、测试与打包改进移除 CMake 中剩余FindPackage用法构建不再依赖系统包PR #89380llvm-project 升级到 21.1.5PR #89533、fmtlib 12.1.0PR #89534、icu release-78.1PR #90060、curl 8.17.0PR #90061、libarchive 3.8.2PR #90062mongo-c-driver 2.1.2 与 mongo-cxx-driver 4.1.4PR #89013FreeBSD 13.4 sysrootPR #89617。CMake 配置阶段如 protoc使用编译器缓存PR #89613。压力测试服务器重启次数减至 5 次PR #89657Docker 中 initdb SQL 脚本 覆盖 TCP 端口时的 Connection refused 修复PR #88042。升级建议与总结结合 changelog 与源码证据25.11 升级应重点关注五件事检查是否存在LIVE VIEW——存在则无法升级需先迁移到物化视图评估 Geometry 旧用法——Geometry不再是 String涉及该类型的表需验证序列化与查询兼容若依赖旧 Variant 子列文件名布局设置escape_variant_subcolumn_filenames0确认降级窗口——String 默认with_size_stream序列化意味着无法降级到 25.10 之前需要时可显式配置serialization_info_versionbasic与string_serialization_versionsingle_stream关注已移除特性——Object 类型已删除依赖方需迁移到 JSON/Dynamic验证 JOIN/聚合行为——RIGHT/FULL JOIN 的 ConcurrentHashJoin 并行化、enable_lazy_columns_replication默认开启等优化改变了执行路径建议在升级后在预发环境跑一遍关键 JOIN 查询相关修复亦覆盖了惰性列复制在 ARRAY JOIN、remote query 等场景的边界问题。25.11 是 ClickHouse 在类型系统演进 查询性能并行化 可观测性完善三条主线上的一个密集发布Geometry 从别名走向一等公民、EXECUTE AS补齐了细粒度访问控制的最后一块拼图、Prometheus Query API 让 ClickHouse 可以直接充当 Prometheus 的查询后端。结合仓库源码阅读本文提到的实现文件src/DataTypes/DataTypeCustomGeo.cpp、src/Parsers/Access/ParserExecuteAsQuery.cpp、src/Server/PrometheusRequestHandler.cpp可以进一步验证每个特性的行为边界与配置细节。【免费下载链接】ClickHouseClickHouse® is a real-time analytics database management system项目地址: https://gitcode.com/GitHub_Trending/cli/ClickHouse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考