ARTICLE · 1300212
把 seekdb 塞进 iOS App:让混合检索嵌入手机
Hold Infinity in the palm of your hand.
纳无穷于掌中。
—— 威廉·布莱克,《天真的预言》[1]
seekdb[2] 终于能在 iOS 上跑了!

完整的 seekdb 内核引擎被打包成了 SeekDB.framework ,几行 Swift 代码就能打开一个数据库。全文检索、向量检索、混合搜索、FORK TABLE,seekdb 的全部功能在 iOS App 里都能用啦~

欢迎大家关注 OceanBase 社区公众号“老纪的技术唠嗑局”。在这里,我们会持续为大家更新与 #AI 和 #Data 相关的技术内容~
seekdb 正式支持 iOS 生态
iOS 生态大、用户多,开发者活跃。 2026 年 1 月,Apple CEO Tim Cook 在财报会上说,全球正在使用的 iPhone、Mac 和其他 Apple 设备已经有 25 亿台。现在 seekdb 为内嵌模式提供了原生的 Swift 支持:
在 Xcode 里添加 [
seekdb-swift]((https://github.com/oceanbase/seekdb-swift "seekdb-swift")) 这个 Swift package 就能用,SwiftPM 会自动下载引擎并校验 checksum,不用自己编译和集成 C++ 引擎。package 不依赖第三方 Swift 库,SQL 用任意一个支持 MySQL 协议的 client 执行,比如纯 Swift 的
MySQLNIO。
seekdb 在 iOS 生态中的优势
和主流数据库比:MySQL 从 8.0 起去掉了内嵌版本
libmysqld,PostgreSQL 一直是 client/server 结构、没有官方的内嵌版本,它们都不能直接放进 iOS App;iOS 上常用的内嵌数据库 SQLite 不兼容 MySQL,向量检索也要另加扩展。seekdb 兼容 MySQL、又能内嵌进 iOS App 并自带向量检索。
iOS App 需要的数据库功能,seekdb 都有。 在 AI 时代,移动端 App 不只要存数据、查数据,很多还要做 AI 功能,比如在本地按语义检索聊天记录和笔记、用一句话描述从相册里找出照片,或者给 App 里的 AI 助手接上本地知识库,让它回答问题时能查用户自己的数据。
seekdb 把这些需要的能力都放进了同一个数据库内核:关系数据管理、向量检索、全文检索、半结构化与空间数据处理、数据库内 AI 调用,以及面向 Agent 的 Fork/Diff/Merge 数据工作流。
它兼容 MySQL,支持 ACID,一条 SQL 就能同时做向量检索、全文检索和条件过滤。

数据库内嵌在 App 里。 存数据和检索都不用经过服务端,应用的复杂度更低。聊天记录、笔记、embedding 都存在本地,检索也在本地做,数据不离开设备,安全性更好。

App 代码调用 seekdb_open 后,framework 会启动引擎线程。

之后 App 只通过 Unix socket 用 MySQL client 访问它,数据会写在 App sandbox 的目录里。

How to use ?
引入一个 Swift package,调一次 SeekDB.open,就能拿到连接用的 socket。
在 Xcode 里添加:
打开 App 的工程,选菜单
File > Add Package Dependencies…。在弹出窗口右上角的搜索框里粘贴
https://github.com/oceanbase/seekdb-swift,等列表里出现seekdb-swift。
在下一步的列表里,把
SeekDB这个 product 的Add to Target选成你的 App target,再点Add Package。
如果用 Package.swift 管理依赖,就在里面写:
.package(url: "https://github.com/oceanbase/seekdb-swift.git", from: "0.1.0")// target 的 dependencies 里:.product(name: "SeekDB", package: "seekdb-swift")SwiftPM 解析依赖时会从 GitHub release 下载引擎,打开数据库只要几行:
import SeekDBlet db = trySeekDB.open("/absolute/path/to/database")let options = try db.connectionOptions()try db.close()SQL 可以通过任意的 MySQL client 库来执行。我们的 seekdb-swift 仓库提供了一个用 Swift 开发的原生 iOS App demo,它用 seekdb 实现了一个 SeekDB Shell[3]:

更多信息,欢迎感兴趣的朋友们访问和阅读:seekdb 官方文档[4]。
《天真的预言》: https://poets.org/poem/auguries-innocence
seekdb: https://github.com/oceanbase/seekdb
SeekDB Shell: https://github.com/oceanbase/seekdb-swift/tree/main/example
seekdb 官方文档: https://docs.seekdb.ai/



相关内容推荐
了解更多





















































































