seekdb 开源项目的来龙去脉
各位大佬,大家好!我是一位来自 OceanBase 团队的数据库开发工程师。OceanBase 团队诞生于阿里巴巴和蚂蚁集团,刚开始主要负责淘宝和支付宝中和交易支付相关业务,然后是各种银行和金融机构,接下来是从泛互联网行业扩展到各行各业。
但在 AI 时代,对于开发者,类似于 SQLite 这种轻量级数据库的能力非常有限(向量能力和传统 SQL 能力难以兼得),而传统数据库又有部署复杂度高、资源占用多等问题。这两类数据库对于开发者来说,都不够友好。
所以,我们专门为 AI 时代的开发者,打造了一个开源免费、轻量易用的 AI 原生混合搜索数据库 —— seekdb ,个人笔记本安装无压力,让大家只要有机器,就能跑 OB !
seekdb 开源项目简介
seekdb 是 OceanBase 团队专门为开发者打造的一款开箱即用的 AI 原生数据库产品,专注于为 AI 应用提供高效的混合搜索能力,支持向量、全文及多模数据的统一存储与检索,是构建 AI 应用的绝佳选择。
seekdb 在继承了淘宝和支付宝背后的 OceanBase 数据库核心引擎高性能优势与 MySQL 全面兼容特性的基础上,通过深度优化数据搜索架构,为开发者提供了更符合 AI 应用数据处理需求的各项能力。为方便大家快速了解 seekdb 和 OceanBase 的关系,以及和常见数据库产品的能力差异,列出一个产品能力矩阵:
| Feature |
seekdb |
OceanBase |
Chroma |
Milvus |
MySQL 9.0 |
PostgreSQL + pgvector |
DuckDB |
Elasticsearch |
| 嵌入式数据库 |
✅ |
❌ |
✅ |
✅ |
❌<sup>[1]</sup> |
❌ |
✅ |
❌ |
| 单机数据库 |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
| 分布式数据库 |
❌ |
✅ |
❌ |
✅ |
❌ |
❌ |
❌ |
✅ |
| MySQL 兼容 |
✅ |
✅ |
❌ |
❌ |
✅ |
❌ |
✅ |
❌ |
| 向量搜索 |
✅ |
✅ |
✅ |
✅ |
❌ |
✅ |
✅ |
✅ |
| 全文检索 |
✅ |
✅ |
✅ |
⚠️ |
✅ |
✅ |
✅ |
✅ |
| 混合搜索 |
✅ |
✅ |
✅ |
✅ |
❌ |
⚠️ |
❌ |
✅ |
| OLTP |
✅ |
✅ |
❌ |
❌ |
✅ |
✅ |
❌ |
❌ |
| OLAP |
✅ |
✅ |
❌ |
❌ |
❌ |
✅ |
✅ |
⚠️ |
| 开源协议 |
Apache 2.0 |
MulanPubL 2.0 |
Apache 2.0 |
Apache 2.0 |
GPL 2.0 |
PostgreSQL License |
MIT |
AGPLv3 +SSPLv1 +Elastic 2.0 |
简单来说,seekdb 与 OceanBase 定位的区别是:
- seekdb 更 AI Native 、更轻量,更面向 AI 时代的开发者。
- OceanBase 则主要通过一体化的能力,全方位满足企业级客户在关键业务负载、数据实时分析和 AI 搜索上的多元需求。
说明:
[1] MySQL 8.0 移除了嵌入式能力
seekdb 的适用场景
-
RAG 应用
- 面向以智能聊天机器人、知识库、领域专家系统为代表的 RAG 场景,seekdb 支持了完整的 RAG Pipeline 解决方案。内置文档解析处理功能,集成向量嵌入( Embedding )、重排序( Rerank )及大语言模型( LLM ),支持向量/全文/标量混合搜索,在一个数据库实例内实现 Doc In Data Out 。
-
AI 辅助编程
- 面向 AI 辅助编程场景,seekdb 支持对代码仓库构建向量和全文索引,基于代码关键词或代码语义,进行高效的代码搜索和生成补全。
-
AI Agent 平台类应用
- 面向 AI Agent 开发场景,seekdb 提供了快速启动和嵌入式部署能力,支持被快速拉起提供服务。提供高频增删改和实时查询能力,避免数据库性能瓶颈引起 AI 开发效率降低的问题。提供向量搜索、全文搜索及混合搜索特性和灵活的元数据管理能力,结合会话管理与记忆存储能力,无需再引入其他库就可快速构建 AI Agent 。提供 MCP Server 组件,无缝接入 AI 生态。
-
语义搜索引擎
- 面向以电商商品搜索和推荐、多媒体内容检索、图片搜索等语义搜索场景,seekdb 支持对接主流向量嵌入模型并提供了向量搜索能力。同时提供了 Hybrid Index 功能,支持基于文本查询条件进行语义搜索,对用户屏蔽向量嵌入和查询结果 Rerank 的复杂流程,简化 AI 应用开发对数据库的使用方式。
-
MySQL 应用现代化和 AI 化升级
- seekdb 继承了 OceanBase 单机存储引擎、执行引擎、事务引擎、高级查询优化器的完整能力,高度兼容 MySQL ,并在此基础上扩展 AI 能力。小规格可用于物联网边缘设备数据采集、小型应用开发和实验教学等场景,中大规格可用于各行业 OLTP 、HTAP 或 AI 业务场景。
seekdb 的产品架构
-
部署模式
- 支持 Client/Server 和嵌入式两种部署模式。嵌入式模式下可将 seekdb 直接集成进 Python 应用,便于进行个人开发。
-
具有 ACID 事务语义的存储层
- 基于 LSM-Tree 架构的行存列存一体化存储引擎,自研高效的编码压缩机制降低存储成本。支持数据高频实时写入,和面向不同负载的高性能查询。
-
多模数据与索引层
- 支持基础类型,向量、大文本、JSON 、GIS 、Array 等多模数据类型,并提供高效的索引支持。包括 HNSW / IVF 向量索引及索引量化算法,覆盖多种分词器和查询模式的基于 BM25 相关性计算算法的全文索引,适用于语义搜索的混合索引,及 JSON 多值索引、主键和二级索引、GIS 索引等。同时支持大宽表,以便减少关联计算,提升数据访问效率。
-
支持混合负载的多模计算层
- 支持向量、全文、标量等条件的混合搜索,提升 RAG 应用查询结果的准确性。提供 AI Function 能力,实现库内实时推理。支持完整的 ACID 事务特性及基于 MVCC 的多版本并发访问能力,提供高级查询优化器和具备向量化执行能力的高效执行引擎,以及灵活的 PL UDF ,稳定支撑各类业务请求。
-
统一应用接口
- 兼容 MySQL 原生驱动,提供基于 SQL 的支持多模数据的统一查询语言。并在此基础上提供了面向开发者更加友好的向量库/混搜 SDK 。同时适配近 30 种应用开发框架,也包含 LangChain 、LlamaIndex 、Dify 等 AI 应用开发框架。提供 MCP Server ,无缝接入 AI 生态。
seekdb 的核心特性
-
开箱即用,极速开发,易学易用
- 单点架构设计,快速完成安装配置;无其他组件依赖,单点启动即可运行,适用于 AI 业务敏捷开发场景。提供灵活多样的部署方式,支持 Client/Server 和嵌入式两种部署模式:Client/Server 部署模式下,支持 yum install 、docker 或 windows/macos 桌面版部署方式;嵌入式部署模式下,原生 Python 集成,可作为 AI 应用内嵌数据库。已集成各类 AI 应用开发框架,几分钟即可快速构建 AI 应用。
-
支持 1C2G 小规格,垂直弹性扩缩容
- 服务端 1 核 CPU + 2GB 内存即可跑 VectorDBBench Performance1536D50K 。对系统并发量、数据量、查询复杂度有较高要求时,可灵活垂直扩展资源规格。
-
高性能向量索引、全文索引,支持向量、全文、标量混合搜索
- 向量搜索:支持高达 16,000 维向量存储与高性能检索,兼容 L2 、内积、余弦相似度等多种距离计算方式。提供 HNSW/IVF 索引及相关量化算法,支持精确最近邻及近似最近邻搜索,满足 AI 场景多样化的向量检索需求。
- 全文搜索:支持基于 BM25 相关性排序算法的高性能全文索引,来实现面向关键词的精准搜索。提供 Space 、Beng 、Ngram 、IK 、Jieba 等多种分词器,支持 Natural Language Mode 、Boolean Mode 、Phrase Query 、Multi Match 等多种查询模式,可在海量数据中高效获得符合过滤规则的相关文本。
- 混合搜索:支持向量、全文、标量、空间等多类数据的混合搜索,一条 SQL 完成多路查询与重排序,大大提高 RAG 应用查询结果的准确性。
-
混搜场景升级,基于 Hybrid Index 指定文本也可进行语义搜索
- seekdb 提供了 Hybrid Index 功能,只需写入文本数据,系统自动进行 Embedding 并生成向量索引,查询时也仅需指定文本搜索条件,即可进行语义搜索。对用户屏蔽向量嵌入和查询结果 Rerank 的复杂流程,简化 AI 应用开发对数据库的使用方式。
-
无缝对接各类模型,内置 AI Function 实现库内实时推理
- seekdb 支持大语言模型和向量嵌入模型接入,通过 DBMS_AI_SERVICE 系统包实现模型注册和管理。内置 AI_COMPLETE 、AI_PROMPT 、AI_EMBED 、AI_RERANK 等 AI Function ,支持标准 SQL 语法下的数据嵌入和库内实时推理。
-
基于 JSON 的动态 Schema ,支持文档元数据动态存储和高效访问
- seekdb 支持 JSON 数据类型,具备动态 Schema 能力。支持 JSON 的部分更新以降低数据更新成本,提供 JSON 函数索引、多值索引来优化查询性能。实现半结构化编码,以降低存储成本。在 AI 应用中,JSON 可作为文档元信息的存储类型,并支持和全文、向量的混合搜索能力。
-
数据实时写入,实时可查
- 基于 LSM-Tree 存储架构,seekdb 支持数据的高频实时写入。数据 DML 时同步构建全文、向量、标量等各类索引,数据入库成功立即可查。
-
兼容 MySQL 不止于 MySQL ,支撑 HTAP 混合负载
- 深度兼容 MySQL 的语法、协议、数据字典等,确保 MySQL 应用无缝迁移。同时通过创新架构突破 MySQL 支持的场景边界,基于行列混存技术、向量化执行能力,一个实例可以同时支持联机交易和实时分析等多种负载,省去数据同步的时间延迟和同步链路的维护成本。
上手示例
通过 seekdb 构建 AI 应用的示例:
除此以外,还有一些外部用户写的通过 seekdb 的向量、标量混合检索能力快速构建 AI 应用的博客,例如:《在 MacOS 场景下体验 seekdb embeded 》 这篇,就是通过 seekdb + vibe coding 快速构建了一个 AI 记事本,支持录入、自动生成摘要和智能搜索。
欢迎感兴趣的老师们尝试使用 seekdb 构建属于您自己的 AI 应用!
What's more ?