SeekDB 详解:三行代码构建 AI 原生应用的全能数据库
OceanBase SeekDB 是一款 AI 原生混合搜索数据库,在一个引擎内统一了向量、文本及结构化数据检索。它支持 Docker 容器化部署及 Python 嵌入式模式,兼容 MySQL 协议,内置 AI 函数实现端到端 RAG。适用于知识库搜索、推荐系统及边缘 AI 场景,具有轻量、高性能及生产级可靠性特点。

OceanBase SeekDB 是一款 AI 原生混合搜索数据库,在一个引擎内统一了向量、文本及结构化数据检索。它支持 Docker 容器化部署及 Python 嵌入式模式,兼容 MySQL 协议,内置 AI 函数实现端到端 RAG。适用于知识库搜索、推荐系统及边缘 AI 场景,具有轻量、高性能及生产级可靠性特点。

SeekDB 是 OceanBase 团队推出的一款 AI 原生(AI-Native)混合搜索数据库。
不同于传统的'数据库 + 向量插件'模式,SeekDB 专为 AI 场景重构设计。它在一个数据库内核中同时支持向量检索(Vector Search)、全文检索(Full-Text Search)、结构化查询(SQL)以及半结构化数据(JSON/GIS)。
SeekDB 的架构设计不仅继承了 OceanBase 稳定可靠的内核,还针对 AI 负载进行了深度优化。
embedding(), rerank()),数据无需搬运到应用层处理,直接在数据库内完成向量化和重排序,实现端到端 RAG。| 优势维度 | 详细说明 |
|---|---|
| 极致轻量 | 1C 2G 资源即可流畅运行,支持嵌入式部署,适合边缘设备、个人开发及 CI/CD 环境。 |
| 混合搜索 | 一条 SQL 同时完成向量、全文和标量过滤。支持多路召回 + 粗排 + 精排,大幅提升 RAG 准确率。 |
| MySQL 兼容 | 深度兼容 MySQL 协议、语法和数据字典。现有 MySQL 客户端工具可直接连接。 |
| 极简开发 | 号称'三行 Python 代码构建 AI 应用'。大大减少了胶水代码(Glue Code)的编写。 |
| 生产级可靠 | 继承 OceanBase 的金融级内核,具备完整的 ACID 事务能力,不仅是玩具,更能上生产。 |
SeekDB 提供了极其灵活的部署方式,满足从本地开发到服务器部署的需求。
最快上手方式,无需配置环境。
# 拉取并启动 SeekDB 镜像
docker run -d --name seekdb -p 2881:2881 oceanbase/seekdb:latest
# 查看容器状态
docker ps
适合 Centos/RedHat 系服务器环境。
# 1. 添加 OceanBase 镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
# 2. 安装 SeekDB
sudo yum install -y seekdb
# 3. 启动服务
cd /home/admin/oceanbase && ./bin/observer -r 127.0.0.1:2881:2881
直接作为 Python 库运行(类似 SQLite 的体验,适合本地 AI Agent 开发)。
pip install seekdb
SeekDB 的主要配置文件通常位于 /etc/oceanbase/seekdb.cnf (RPM 安装) 或挂载卷中。
核心配置参数解析:
| 参数名 | 默认值 | 说明 |
|---|---|---|
datafile_size | 2G | 初始数据文件大小,生产环境建议调大。 |
memory_limit | 2G | 内存限制,SeekDB 对内存极度节省,2G 即可跑 benchmark。 |
cpu_count | 4 | 使用的 CPU 核数。 |
log_disk_size | 2G | Redo Log 磁盘大小,影响写入吞吐。 |
port | 2881 | SQL 服务端口,兼容 MySQL 协议。 |
修改配置示例:
[server]
# 调整内存上限为 8G
memory_limit=8G
# 设置数据目录
data_dir=/data/seekdb/store
你可以使用任意 MySQL 客户端连接 SeekDB。
-- 1. 创建表:包含文本内容和向量字段 (假设向量维度为 3)
CREATE TABLE knowledge_base (
id INT PRIMARY KEY AUTO_INCREMENT,
content TEXT,
embedding VECTOR(3),
category VARCHAR(20),
FULLTEXT(content)
);
-- 2. 插入数据
INSERT INTO knowledge_base (content, embedding, category) VALUES
('OceanBase is a distributed database.', '[0.1, 0.2, 0.3]', 'Tech'),
('SeekDB is AI-native.', '[0.4, 0.5, 0.6]', 'Tech'),
('Apple is a fruit.', '[0.9, 0.1, 0.1]', 'Food');
-- 3. 混合搜索查询
SELECT id, content, VECTOR_DISTANCE(embedding,'[0.1, 0.2, 0.3]') as dist
FROM knowledge_base
WHERE category = 'Tech' AND MATCH(content) AGAINST('distributed')
ORDER BY dist ASC LIMIT 5;
import seekdb
# 1. 初始化客户端 (嵌入式或连接 Server)
db = seekdb.connect(mode="embedded")
# 或 host="127.0.0.1", port=2881
# 2. 创建集合 (类似表的概念,自动处理 Embedding)
collection = db.create_collection("my_docs", dimension=768)
# 3. 插入数据 (自动调用内置 Embedding 模型,如果配置了的话)
collection.add(
documents=["SeekDB simplifies AI stack.", "RAG is powerful."],
metadatas=[{"category":"database"},{"category":"AI"}]
)
# 4. 语义搜索
results = collection.query(
query_texts=["What is SeekDB?"],
n_results=2
)
print(results)
OceanBase SeekDB 的出现,标志着数据库正在从单纯的'存储工具'向'智能引擎'进化。对于开发者而言,它最大的价值在于'省心'——不需要再去学习和维护复杂的向量数据库集群,只需用最熟悉的 SQL,配合极低的资源成本,就能构建出高性能的 AI 应用。
如果你正在寻找一个轻量、全能且对 MySQL 友好的 AI 数据库,SeekDB 绝对值得一试!

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online