暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

OceanBase seekdb 1.4 正式发布,更小、更轻、更强

OceanBase 2026-08-31
196


编者按

今天,OceanBase seekdb 正式发布 1.4 版本。


这是一次以轻量化为主线的版本更新:携带 seekdb 核心的 pylibseekdb 包从 160M 缩减至 50M,二进制体积缩小近 2/3,空载内存和 CPU 开销下降超过 70%。与此同时,seekdb 进一步完善嵌入式多应用同时访问、macOS 稳定性与开发者工具链,并首次引入 Rust 技术栈和 Bazel 构建支持(Preview)。


这篇文章不只是罗列更新项。我们想聊聊,一个已经具备完整数据库能力的产品,为什么还要主动做减法,以及这次减法为 AI 应用开发者带来了什么。


本文作者为 OceanBase seekdb 研发负责人嘉格,全文 2062 字,阅读约需 4 分钟。


数据库版本发布通常都在做加法,OceanBase seekdb 1.4 则选择重新审视产品边界,围绕本地与端侧 AI 应用做一次有选择的减法。

 

我们把 pylibseekdb 从 160M 缩减至 50M,同时保留 SQL、事务、混合检索和数据版本管理等 AI 应用需要的核心能力。



这里的“完整”,不是覆盖所有数据库负载的功能全集,而是结构化数据管理、向量/全文/标量混合检索、事务持久化和 Fork、Diff & Merge 共同构成的 AI 应用数据闭环。


初期50M,首先改变的是交付成本

与 1.3 相比,1.4 的基础资源变化如下:



测试口径:内存与 CPU 数据来自相同测试环境下的空载对比,用于衡量数据库自身的基础开销,不代表不同数据量和业务负载下的资源上限。


对于本地 AI 助手、桌面应用和端侧应用来说,数据库也是应用交付物的一部分。包体越小,下载和分发成本越低;基础资源开销越少,留给模型、数据和业务逻辑的空间就越多。


做减法,不等于简单裁剪


OceanBase seekdb 源自面向大型生产系统的数据库内核,拥有成熟的 SQL、事务与存储能力,也带着一些更适合传统服务端场景的模块和依赖。


1.4 清理了与目标场景关联较弱的功能路径、冗余代码和依赖,把资源集中到:


  • MySQL 兼容的 SQL 与事务处理;

  • 向量、全文和标量数据的混合检索;

  • 面向 Agent 持续写入与即时检索的索引能力;

  • Fork、Diff & Merge 数据版本管理;

  • 本地数据持久化与可靠性保障

      这不是追求功能列表无限延展,而是让 AI 应用真正需要的能力更容易交付、更轻地运行。


      体积和内存,是怎样降下来的?


      这次轻量化不是某一个编译参数带来的,而是覆盖构建依赖、执行框架和运行时资源管理的一系列调整。


      第一,清理冗余代码与依赖


      我们移除不再需要的代码路径和编译依赖,让二进制代码段明显收敛。更小的代码段不仅降低了二进制体积,也减少了运行时需要映射和驻留在内存中的代码页。


      第二,重构 PL 执行框架


      OceanBase seekdb 1.4 将 PL 执行框架从基于 LLVM-JIT 的即时编译重构为 tree-walking 解释执行,减少构建依赖,让执行路径更轻、跨平台行为更一致;多数场景下的执行性能仍能得到保持。


      第三,压缩空载时的内存和 CPU 开销


      数据库即使没有业务请求,缓存、线程和后台任务也会持续消耗内存与 CPU。


      OceanBase seekdb 1.4 对这些基础成本逐项收敛:


      • 集成 jemalloc,降低长期运行中的内存碎片;

      • 回收 memstore、plan cache、KV cache 等空闲态内存;

      • 精简冗余后台线程,并下调默认线程栈尺寸;

      • 减少不必要的预分配与常驻对象

          这些优化使相同空载条件下的内存均值下降 73.6%,CPU 均值下降 70.3%。这不是业务负载资源上限的承诺,而是先降低数据库自身的固定成本。



          嵌入式能力升级:多个应用可以同时使用同一份数据


          在此前的嵌入式模式下,同一份 OceanBase seekdb 数据只能由一个应用打开;当一个应用正在使用数据库时,其他应用无法同时访问这份数据。


          OceanBase seekdb 1.4 解除了这一限制,支持多个应用同时访问同一份 OceanBase seekdb 数据。


          例如,桌面 AI 助手、知识库工具和开发者插件可以同时读取和更新同一份用户知识、Agent Memory 与业务状态,不再需要复制数据或在应用之间额外同步。


          macOS 更稳定,开发技术栈也在演进


          OceanBase 1.4 系统修复了 macOS 上 GIS 计算、排序、数值转换、浮点运算和 PL 等关键路径的问题,让本地开发和运行更加稳定。


          OceanBase seekdb 还首次引入 Rust 技术栈,使用 Rust 重写 MySQL 协议栈与网络 I/O 层,为底层模块提供更稳健的演进基础。Bazel 原生模块 Bzlmod 也以 Preview 形式加入,带来增量编译、构建缓存和模块依赖分析能力。


          此外,本次版本还修复了向量索引、SQL 执行、事务、主备库以及 Windows 平台上的一系列问题。完整清单请参见文末 Release Note。


          跑一个最小 Demo


          前面提到的 pylibseekdb 负责承载 OceanBase seekdb 核心,pyseekdb 则提供面向应用开发者的 Python API。安装 pyseekdb 时,会自动安装对应平台的 pylibseekdb。


          准备 Python 3.11 或更高版本,然后安装 Python SDK:

            pip install -U pyseekdb


            写入两条 Agent Memory,并立即检索:

              import pyseekdb


              client = pyseekdb.Client(path="./seekdb.db")
              memory = client.get_or_create_collection("agent_memory")


              memory.add(
                  ids=["1", "2"],
                  documents=[
                      "user prefers dark mode",
                      "user usually communicates in Chinese",
                  ],
              )
              memory.refresh_index()


              result = memory.query(
                  query_texts=["dark mode preference"],
                  n_results=1,
              )
              print(result["documents"][0])


              pyseekdb 会自动为文档和查询生成 Embedding。首次运行时会下载默认 Embedding 模型,之后将直接复用本地缓存;你也可以替换为业务所用的其他 Embedding 模型。


              写在最后


              50M 不是最终目的,它代表一次更清晰的产品选择:减掉与目标场景关联较弱的负担,把资源集中到 AI 应用真正需要的数据能力上,把更多空间留给应用、数据和模型。


              如果你正在为本地 AI 助手、Agent Memory、知识库或桌面应用寻找数据底座,欢迎运行上面的 Demo。


              • OceanBase seekdb GitHub:

                https://github.com/oceanbase/seekdb


              • pyseekdb GitHub:

                https://github.com/oceanbase/pyseekdb


              • Python SDK 文档:

                https://docs.seekdb.ai/seekdb/pyseekdb-sdk-get-started


              • 完整更新日志:

                GitHub Release v1.4.0


              如果 OceanBase seekdb 对你有帮助,欢迎点一个 Star;如果遇到问题,也欢迎通过 GitHub Issues 和 Discussions 告诉我们。


              往期推荐


              ▼点击「阅读原文」,查看技术干货

              最后修改时间:2026-09-01 10:16:58
              文章转载自OceanBase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论