跳到主要内容
版本:V1.2.0

V1.2.0

版本信息

  • 发布时间:2026 年 3 月 25 日

  • 版本号:V1.2.0

  • RPM 版本号:seekdb-1.2.0.0-100000222026032420

版本概览

seekdb V1.2.0 版本是一个里程碑式的功能增强版本,标志着 seekdb 从单机数据库向高可用架构迈出了关键一步。该版本引入了主备库高可用解决方案,大幅提升了数据库的容灾能力;支持 Fork Database,满足整库数据多版本管理的需求;新增 Diff & Merge 语法,提供了类似 Git 的数据分支对比和合并能力;同时通过内部架构优化和向量/全文性能优化,为企业级应用场景提供更加可靠和高效的数据库服务。

新特性

主备库

seekdb 发布首个高可用解决方案,支持最大性能模式的主备库异步复制架构,使用 gRPC 框架进行 RPC 通信,可在任意时刻拷贝基线数据,后续同步增量日志。当主库出现计划内或计划外的不可用时,备库可以接管服务,提供无损切换和有损切换两种容灾能力,最大限度降低服务停机时间。以解决单机数据库的单点故障问题,提供业务连续性保障;满足企业级应用对数据安全和容灾的需求。

功能亮点:

  • 备库异步搭建:可以在任意时刻异步搭建备库,无需停止主库服务。
  • 实时日志同步:通过网络从主库拉取增量日志,支持实时同步。
  • 无损切换(switchover):上游存在时执行切换,检查日志完整性。
  • 有损切换(failover):上游不存在时执行切换,提供紧急接管能力。
  • 切换验证(switchover verify):支持切换命令验证,只做切换检查不实际执行变更。
  • 级联备库支持:支持主库 > 备库 1 > 备库 2 的级联架构。
  • 松耦合设计:备库感知主库,主库不感知备库,支持一主多备。

功能限制:

  • 备库读能力限制:备库提供只读服务,可能存在 schema 落后数据位点的情况。
  • 向量备库读:向量备库读未完整支持,后续版本会进行优化。
  • 备库重启读可能回退:同步位点不持久化,重启可能出现读回退。
  • 切换后需修改连接串:切换后需要修改应用连接串。

Fork Database

seekdb V1.1.0 版本支持了 Fork Table 功能,提供了一种与数据量无关的快速复制方式,高效支撑 AI Coding、知识库、A/B Test 等场景的多数据版本管理。为了适用更多场景、提升多表 Fork 的易用性,新版本在此基础上提供了 Fork Database 功能。具体来讲,Fork Database 会在指定时间点(系统自动选取的快照时刻)为源 Database 创建目标 Database 副本,目标 Database 在逻辑上等价于源 Database 在该快照时刻的数据视图,包含源库中所有用户表及数据,可作为独立的 Database 对象进行后续读写操作。适用于需要做整库数据版本管理的场景。

功能特点:

  • 库级原子快照:目标库内所有表共享同一 fork 快照版本,多表关联查询、外键约束在 fork 后保持逻辑一致。
  • 数据库属性继承:目标库继承源库的字符集(charset)、排序规则(collation)等数据库级属性。
  • 空库支持:支持 fork 不含任何用户表的空数据库,目标库将为空库。
  • 多次 fork:支持对同一源库多次 fork 到不同目标库,每次 fork 使用各自快照时刻,各目标库相互独立。
  • 库内外键保留:源库中表间外键关系在目标库中完整保留并生效;跨库外键在 fork 时被跳过,不在目标库中创建。

功能限制:

  • 备库读能力限制:不支持 Procedure/Function/Trigger/Sequence/统计信息等对象的 Fork。

Table Diff & Merge

新版本推出 Diff & Merge 功能,为数据管理提供了类似 Git 的数据分支对比和合并能力,解决 AI 时代的数据变更需求。该特性包含三大核心功能:Fork(创建数据副本)、DIFF(对比数据差异)和 MERGE(按策略合并数据)。适用于 AI 代码验证和数据修改上线、多分支开发隔离、实验结果回收分析、模型训练迭代等场景。与传统方式相比,实现了数据变更从"不可观测、难控制" 到 "可观测、可控制" 的转变,让数据管理更安全、可审计、易协作。

特性优化

增量数据 DDL 采样优化

V1.2.0 版本前,大量数据导入后创建向量或全文索引时,因 DDL 采样未考虑增量数据,采样和实际数据间可能存在较大偏差,导致并行建索引存在明显的长尾现象。新版本优化了 DDL 采样策略,支持行采样和混合采样,以降低增量数据采样偏差,提升并行任务拆分的均衡度,进而提升并行建索引性能。

向量索引并发写入性能优化

移除 HNSW 向量索引粗粒度读写锁,支持并发 DML,提升系统 QPS。

全文索引查询性能优化

新版本在全文检索 TopK 和增量数据场景进行了深度优化。通过实现存储层的轻量级 advance_scan 机制,优化 BM25 表达式计算参数,并改进增量数据查询算法,大幅提升了全文索引检索的效率。在实际测试中,该优化在纯增量数据部分场景下可将 TopK 查询性能提升 80%,在混合数据场景下也能实现显著的性能改善。

系统架构优化

对 seekdb 内核进行深度重构,移除无实际意义的多租户、分布式相关功能,实现内部架构优化,减少代码复杂度,降低资源开销,简化运维管理。

缺陷修复

向量索引修复

  • 修复删除索引报错 -4016 的问题 (c9cb3c49)
  • 修复向量索引查询中 need_res_cnt 未被 FIXED_MAGNIFICATION_RATIO_EACH_ITERATIVE 限制的问题 (1d6444cc)
  • 修复暴力搜索路径中的 complete-data 逻辑问题 (853efa1a)
  • 修复离线 DDL 失败时删除索引卡住的问题 (0122f92b)
  • 修复离线 DDL 重建 IVF 索引失败及删除向量索引流程卡住的问题 (71a4c616)
  • 修复 create_vec_hnsw_lookup_tree 错误路径中 HNSW scan iter 释放和内存释放问题 (b5e98215)
  • 修复 set_force_partition 问题 (7d14e905)

全文检索修复

  • 修复隐藏表被删除后全文索引构建任务无法退出的问题 (42c0d191)
  • 修复加载 IK 分词词库的并发问题 (b5d96efa)

macOS 修复

  • 修复 macOS 构建问题 (c227b311)
  • 修复 Mac 上触发器错误处理问题 (6fdedbcc)
  • 修复 macOS ARM64 上 PL/SQL 异常处理器无法捕获错误的问题 (215df8fd)
  • 修复 macOS current_time() 中 uint64 下溢导致查询超时的问题 (33e0c3de)
  • 修复 ob_partition_range_spliter.cppmax() 调用歧义的问题 (ffff1640)

其他修复

  • 修复 tablet 删除时 -4016 错误 (738cdd55)
  • 修复 seekdb 的 DML remove locker 问题 (4cb9dde6)
  • 修复转换中的非收敛问题 (dcf7be66)
  • 修复 gather_schema_stats 中跳过 OB_NOT_SUPPORTED 错误的问题 (b47d6460)

升级说明

  • 不支持从 V1.0.x/V1.1.0 版本原地升级到 V1.2.0 版本。如有升级需求,请通过 OBDUMPER/OBLOADER 或 mysqldump 进行逻辑迁移。

详细操作,参见 使用 mysqldump 升级 seekdb

周边配套

类别组件名称配套版本说明
SDKpyseekdbV1.2.0
SDKseekdb-jsV1.2.0
数据导入导出工具ob-loader-dumperV4.3.5暂不支持旁路导入
部署工具obdV4.3.0