摘要:在 AI 2.0 时代,开发者面临着“向量数据库+关系型数据库+搜索引擎”多头管理的痛苦。OceanBase 重磅推出的开源 AI 原生数据库 SeekDB,以“做减法”的思路,在一个引擎内统一了向量、文本、结构化数据,实现了极致的轻量化与高性能。本文将带你深入了解 SeekDB 的架构、优势及上手指南。
📖 1. 什么是 SeekDB?
SeekDB 是 OceanBase 团队推出的一款 AI 原生(AI-Native)混合搜索数据库。
不同于传统的“数据库 + 向量插件”模式,SeekDB 专为 AI 场景重构设计。它在一个数据库内核中同时支持向量检索(Vector Search)、全文检索(Full-Text Search)、结构化查询(SQL)以及半结构化数据(JSON/GIS)。
- 官网文档:OceanBase SeekDB Overview
- 开源协议:Apache 2.0(完全开源免费)
- 核心口号:Document-in, Data-out,让数据库“理解”数据。

🏗️ 2. 产品架构解析
SeekDB 的架构设计不仅继承了 OceanBase 稳定可靠的内核,还针对 AI 负载进行了深度优化。
核心架构图
#mermaid-svg-a0JtybLz87JZBXQ8{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-a0JtybLz87JZBXQ8 .error-icon{fill:#552222;}#mermaid-svg-a0JtybLz87JZBXQ8 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-a0JtybLz87JZBXQ8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-a0JtybLz87JZBXQ8 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-a0JtybLz87JZBXQ8 .marker.cross{stroke:#333333;}#mermaid-svg-a0JtybLz87JZBXQ8 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-a0JtybLz87JZBXQ8 p{margin:0;}#mermaid-svg-a0JtybLz87JZBXQ8 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-a0JtybLz87JZBXQ8 .cluster-label text{fill:#333;}#mermaid-svg-a0JtybLz87JZBXQ8 .cluster-label span{color:#333;}#mermaid-svg-a0JtybLz87JZBXQ8 .cluster-label span p{background-color:transparent;}#mermaid-svg-a0JtybLz87JZBXQ8 .label text,#mermaid-svg-a0JtybLz87JZBXQ8 span{fill:#333;color:#333;}#mermaid-svg-a0JtybLz87JZBXQ8 .node rect,#mermaid-svg-a0JtybLz87JZBXQ8 .node circle,#mermaid-svg-a0JtybLz87JZBXQ8 .node ellipse,#mermaid-svg-a0JtybLz87JZBXQ8 .node polygon,#mermaid-svg-a0JtybLz87JZBXQ8 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-a0JtybLz87JZBXQ8 .rough-node .label text,#mermaid-svg-a0JtybLz87JZBXQ8 .node .label text,#mermaid-svg-a0JtybLz87JZBXQ8 .image-shape .label,#mermaid-svg-a0JtybLz87JZBXQ8 .icon-shape .label{text-anchor:middle;}#mermaid-svg-a0JtybLz87JZBXQ8 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-a0JtybLz87JZBXQ8 .rough-node .label,#mermaid-svg-a0JtybLz87JZBXQ8 .node .label,#mermaid-svg-a0JtybLz87JZBXQ8 .image-shape .label,#mermaid-svg-a0JtybLz87JZBXQ8 .icon-shape .label{text-align:center;}#mermaid-svg-a0JtybLz87JZBXQ8 .node.clickable{cursor:pointer;}#mermaid-svg-a0JtybLz87JZBXQ8 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-a0JtybLz87JZBXQ8 .arrowheadPath{fill:#333333;}#mermaid-svg-a0JtybLz87JZBXQ8 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-a0JtybLz87JZBXQ8 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-a0JtybLz87JZBXQ8 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-a0JtybLz87JZBXQ8 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-a0JtybLz87JZBXQ8 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-a0JtybLz87JZBXQ8 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-a0JtybLz87JZBXQ8 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-a0JtybLz87JZBXQ8 .cluster text{fill:#333;}#mermaid-svg-a0JtybLz87JZBXQ8 .cluster span{color:#333;}#mermaid-svg-a0JtybLz87JZBXQ8 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-a0JtybLz87JZBXQ8 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-a0JtybLz87JZBXQ8 rect.text{fill:none;stroke-width:0;}#mermaid-svg-a0JtybLz87JZBXQ8 .icon-shape,#mermaid-svg-a0JtybLz87JZBXQ8 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-a0JtybLz87JZBXQ8 .icon-shape p,#mermaid-svg-a0JtybLz87JZBXQ8 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-a0JtybLz87JZBXQ8 .icon-shape rect,#mermaid-svg-a0JtybLz87JZBXQ8 .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-a0JtybLz87JZBXQ8 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-a0JtybLz87JZBXQ8 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-a0JtybLz87JZBXQ8 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-a0JtybLz87JZBXQ8 .client>*{fill:#e3f2fd!important;stroke:#1565c0!important;stroke-width:2px!important;rx:5!important;ry:5!important;}#mermaid-svg-a0JtybLz87JZBXQ8 .client span{fill:#e3f2fd!important;stroke:#1565c0!important;stroke-width:2px!important;rx:5!important;ry:5!important;}#mermaid-svg-a0JtybLz87JZBXQ8 .engine>*{fill:#f3e5f5!important;stroke:#7b1fa2!important;stroke-width:2px!important;rx:5!important;ry:5!important;}#mermaid-svg-a0JtybLz87JZBXQ8 .engine span{fill:#f3e5f5!important;stroke:#7b1fa2!important;stroke-width:2px!important;rx:5!important;ry:5!important;}#mermaid-svg-a0JtybLz87JZBXQ8 .internal>*{fill:#ffffff!important;stroke:#333!important;stroke-width:1px!important;rx:3!important;ry:3!important;}#mermaid-svg-a0JtybLz87JZBXQ8 .internal span{fill:#ffffff!important;stroke:#333!important;stroke-width:1px!important;rx:3!important;ry:3!important;}#mermaid-svg-a0JtybLz87JZBXQ8 .storage>*{fill:#fff3e0!important;stroke:#e65100!important;stroke-width:2px!important;rx:5!important;ry:5!important;}#mermaid-svg-a0JtybLz87JZBXQ8 .storage span{fill:#fff3e0!important;stroke:#e65100!important;stroke-width:2px!important;rx:5!important;ry:5!important;}
🚀 SeekDB Engine (单机高性能引擎)
☁️ Client Layer (接入层)
💾 Storage Layer (存储层)
⚙️ Execution Layer (执行层)
🧠 AI Inside (内置AI能力)
Python SDK(Embedded)
MySQL Client /OBClient
AI Frameworks(LangChain/LlamaIndex)
Unified SQLParser
AI Functions(Embedding/Rerank)
Inference Engine(推理引擎)
Hybrid Search(混合搜索)
Vector Index(HNSW/IVF)
Full-Text Index(BM25)
Hybrid Storage(行列混存)
LSM-Tree(实时写入)
架构亮点
统一多模引擎 (Unified Engine):
- 无需维护多个系统(MySQL + ES + Milvus),SeekDB 单一引擎搞定所有数据类型(标量、向量、文本、JSON)。
- 支持复杂的混合查询,例如:“查找价格<100元(标量)且描述包含‘红色’(全文)且图片看起来像这件衬衫(向量)的商品”。
AI Inside (库内 AI):
- 内置 AI 函数(如 embedding(), rerank()),数据无需搬运到应用层处理,直接在数据库内完成向量化和重排序,实现端到端 RAG。
高性能存储:
- 基于 LSM-Tree 架构,支持高频实时写入,数据入库即立即可查。
- 采用行列混存技术,兼顾事务处理(TP)和分析查询(AP)。
🌟 3. 核心优势
| 🚀 极致轻量 | 1C 2G 资源即可流畅运行,支持嵌入式部署,适合边缘设备、个人开发及 CI/CD 环境。 |
| ⚡ 混合搜索 | 一条 SQL 同时完成向量、全文和标量过滤。支持多路召回 + 粗排 + 精排,大幅提升 RAG 准确率。 |
| 🔌 MySQL 兼容 | 深度兼容 MySQL 协议、语法和数据字典。现有 MySQL 客户端工具(如 Navicat, DBeaver)可直接连接。 |
| 🤖 极简开发 | 号称 “三行 Python 代码构建 AI 应用”。大大减少了胶水代码(Glue Code)的编写。 |
| 🛡️ 生产级可靠 | 继承 OceanBase 的金融级内核,具备完整的 ACID 事务能力,不仅是玩具,更能上生产。 |
🛠️ 4. 如何部署 SeekDB
SeekDB 提供了极其灵活的部署方式,满足从本地开发到服务器部署的需求。
方式一:Docker 容器部署(最推荐)
最快上手方式,无需配置环境。
# 拉取并启动 SeekDB 镜像
# 映射端口 2881 (SQL端口)
docker run -d –name seekdb -p 2881:2881 oceanbase/seekdb:latest
# 查看容器状态
docker ps
方式二:Yum/RPM 包安装 (Linux)
适合 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. 启动服务
# 默认安装在 /home/admin/oceanbase
cd /home/admin/oceanbase && ./bin/observer -r 127.0.0.1:2881:2881
方式三:Python 嵌入式模式
直接作为 Python 库运行(类似 SQLite 的体验,适合本地 AI Agent 开发)。
pip install seekdb
⚙️ 5. 配置指南
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
💻 6. 实战调用:从 SQL 到 Python
场景:构建一个简单的知识库搜索
1. 使用 SQL (兼容 MySQL)
你可以使用任意 MySQL 客户端连接 SeekDB。
— 1. 创建表:包含文本内容和向量字段 (假设向量维度为 3)
CREATE TABLE knowledge_base (
id INT PRIMARY KEY AUTO_INCREMENT,
content TEXT,
embedding VECTOR(3), — SeekDB 特有的向量类型
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. 混合搜索查询
— 查找分类为 'Tech',且向量相似度高,且包含关键词的数据
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;
2. 使用 Python SDK (极简模式)
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)
🎯 7. 适用场景总结
- RAG (检索增强生成):结合 LLM 构建企业知识库、智能客服。SeekDB 的混合检索能显著降低 LLM 的“幻觉”。
- 推荐系统:利用向量相似度进行“猜你喜欢”召回。
- 多模态搜索:以文搜图、以图搜商品。
- 边缘 AI:在手机、IoT 设备端侧运行本地知识库(得益于其轻量化)。
📝 总结
OceanBase SeekDB 的出现,标志着数据库正在从单纯的“存储工具”向“智能引擎”进化。对于开发者而言,它最大的价值在于**“省心”**——不需要再去学习和维护复杂的向量数据库集群,只需用最熟悉的 SQL,配合极低的资源成本,就能构建出高性能的 AI 应用。
如果你正在寻找一个轻量、全能且对 MySQL 友好的 AI 数据库,SeekDB 绝对值得一试!
🔗 相关链接:
- GitHub 项目地址
- OceanBase 官网
注:本文基于截至 2026 年 1 月的公开资料整理,具体 API 细节请以官方最新文档为准。




![[鼎捷 E10] 财务相关单据操作时异常问题解决(一)-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030154444-6ae4bb6c483bc-220x150.png)

