比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_數據庫

前幾天,我看到了一個來自 Turso 創始人 Pekka 的觀點:

SQLite 被認為是 AI agent 的理想數據庫,因為它輕量級且適用於 AI agent 的各種場景,但仍然需要進化。

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_MySQL_02

評論區裏也有意思,有人會和大家分享自己為了 SQLite 的進化做了哪些事情(比如開源了 Super SQLite 之類的項目),也有人會推薦有哪些 SQLite 的進化版產品,並和大家討論這些產品的優劣。

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_數據庫_03

實際上,AI 應用開發者對輕量級數據庫的訴求,遠遠不止 AI Agent 這一個場景。那些在 Web 時代和移動互聯網時代支撐了萬億級應用的傳統數據庫,如今在面對 AI 應用的敏捷、輕量、高頻迭代的需求時,都紛紛開始暴露出它們的水土不服。

除了傳統數據庫幾個最明顯的問題 —— 部署複雜度高、資源佔用多、過度設計影響執行效率 以外,很多 AI 應用都會把數據和模型緊密結合,在設備端(如手機、物聯網設備)實現本地化運行,傳統數據庫通過客户端遠程連接服務器的模式,也無法滿足這種嵌入式,甚至離線嵌入式的需求。

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_數據庫_04

為了讓 AI 開發者不浪費太多時間在與數據基礎設施的搏鬥上,而是能夠專注於 AI 算法與應用邏輯本身。我們需要一種新型數據庫,能夠將自己從這種無謂的消耗中解放出來。

0x01. seekdb 的來龍去脈

OceanBase 剛開始只是負責淘寶和支付寶的各種交易支付相關業務,然後是各種銀行和金融機構,接下來是從泛互聯網行業擴展到各行各業,詳見:《開源 4 年、打磨 15 年、300 萬行代碼的開源項目》。

但在 AI 時代,對於開發者,類似於 SQLite 這種輕量級數據庫的能力非常有限(向量能力和傳統 SQL 能力難以兼得),而傳統數據庫又有部署複雜度高、資源佔用多等問題。這兩類數據庫對於開發者來説,都不夠友好。

因此,OceanBase 專門為 AI 時代的開發者,打造了一個開源免費、輕量易用、擁有強大 AI 搜索能力的數據庫 —— seekdb。個人筆記本安裝無壓力,讓大家只要有機器,就能跑 OB!

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_數據庫_05

GitHub 地址:github.com/oceanbase/seekdb

0x10. seekdb 簡介

seekdb 是 OceanBase 專門為開發者打造的一款開箱即用、輕量級的數據庫產品,專注於為 AI 應用提供高效的混合搜索能力,支持向量、全文及多模數據的統一存儲與檢索,是構建 AI 應用的新選擇。

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_MySQL_06

seekdb 在繼承了淘寶和支付寶背後的 OceanBase 數據庫核心引擎高性能優勢與 MySQL 全面兼容特性的基礎上,通過深度優化數據搜索架構,為開發者提供了更符合 AI 應用數據處理需求的各項能力。

產品能力矩陣對比

特性

seekdb

OceanBase

Chroma

Milvus

MySQL 9.0

PostgreSQL + pgvector

DuckDB

Elasticsearch

嵌入式數據庫









單機數據庫









分佈式數據庫









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

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 的複雜流程。
  • MySQL 應用現代化和 AI 化升級:seekdb 繼承了 OceanBase 單機存儲引擎、執行引擎、事務引擎、高級查詢優化器的完整能力,高度兼容 MySQL,並在此基礎上擴展 AI 能力。小規格可用於物聯網邊緣設備數據採集、小型應用開發和實驗教學等場景,中大規格可用於各行業 OLTP、HTAP 或 AI 業務場景。

seekdb 的產品架構

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_搜索_07

  • 部署模式:支持 Client/Server 和嵌入式兩種部署模式。嵌入式模式下可將 seekdb 直接集成進 Python 應用,便於進行個人開發。
  • 具有 ACID 事務語義的存儲層:基於 LSM-Tree 架構的行存列存一體化存儲引擎,自研高效的編碼壓縮機制降低存儲成本。支持數據高頻實時寫入,和麪向不同負載的高性能查詢。
  • 多模數據與索引層:支持基礎類型,向量、大文本、JSON 、GIS、Array 等多模數據類型,並提供高效的索引支持。包括 HNSW / IVF 向量索引及索引量化算法,覆蓋多種分詞器和查詢模式的基於 BM25 相關性計算算法的全文索引,適用於語義搜索的混合索引,及 JSON 多值索引、主鍵和二級索引、GIS 索引等。
  • 支持混合負載的多模計算層:支持向量、全文、標量等條件的混合搜索。提供 AI Function 能力,實現庫內實時推理。支持完整的 ACID 事務特性及基於 MVCC 的多版本併發訪問能力,提供高級查詢優化器和具備向量化執行能力的高效執行引擎。
  • 統一應用接口:兼容 MySQL 原生驅動,提供基於 SQL 的支持多模數據的統一查詢語言。並在此基礎上提供了面向開發者更加友好的向量庫/混搜 SDK。適配 LangChain、LlamaIndex、Dify 等 AI 應用開發框架。提供 MCP Server,無縫接入 AI 生態。

seekdb 的核心特性

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_數據庫_08

  1. 開箱即用,極速開發,易學易用:單點架構設計,無其他組件依賴。支持 yum、docker、windows/macos 桌面版部署以及原生 Python 嵌入式集成。
  2. 支持 1C2G 小規格,垂直彈性擴縮容:服務端 1 核 CPU + 2GB 內存即可跑 VectorDBBench Performance1536D50K。
  3. 高性能向量索引、全文索引,支持向量、全文、標量混合搜索
  • 向量搜索:支持高達 16,000 維向量存儲,兼容 L2、內積、餘弦相似度。
  • 全文搜索:基於 BM25 算法,提供 Space、Beng、Ngram、IK、Jieba 等多種分詞器。
  • 混合搜索:一條 SQL 完成多路查詢與重排序。
  1. 混搜場景升級,基於 Hybrid Index 指定文本也可進行語義搜索:只需寫入文本數據,系統自動進行 Embedding 並生成向量索引,查詢時僅需指定文本搜索條件。
  2. 無縫對接各類模型,內置 AI Function 實現庫內實時推理:通過 DBMS_AI_SERVICE 系統包實現模型註冊和管理。內置 AI_COMPLETEAI_PROMPTAI_EMBEDAI_RERANK 等函數。
  3. 基於 JSON 的動態 Schema:支持 JSON 數據類型及動態 Schema,提供 JSON 函數索引、多值索引。
  4. 數據實時寫入,實時可查:基於 LSM-Tree,數據入庫成功立即可查,同步構建各類索引。
  5. 兼容 MySQL 不止於 MySQL,支撐 HTAP 混合負載:深度兼容 MySQL 語法協議,一個實例同時支持聯機交易和實時分析。

0x11. 快速部署 seekdb 體驗環境

服務器配置要求詳見官方文檔:deploy-seekdb-testing-environment

1. 使用 yum install 快速部署

添加 seekdb 鏡像源:

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo

安裝 seekdb 和 obclient 客户端:

sudo yum install seekdb obclient

如果在啓動前需要更改配置,可以直接修改 /etc/oceanbase/seekdb.cnf,配置項很少可按需修改。

建議 cpu_countmemory_limit 最好大於 1C2G,親測 1C1G 也 No Problem。

# 示例配置
port=1234
base-dir=/var/lib/oceanbase
data-dir=/var/lib/oceanbase/store
redo-dir=/var/lib/oceanbase/store/redo
datafile_size=2G
datafile_next=2G
datafile_maxsize=50G
cpu_count=4
memory_limit=2G
log_disk_size=2G

啓動與管理 seekdb:

# 啓動 seekdb
sudo systemctl start seekdb

# 查看啓動狀態 (顯示 Service is ready 即成功)
sudo systemctl status seekdb

# 連接 seekdb
obclient -h127.0.0.1 -uroot -P1234 -A oceanbase

# 停止服務
sudo systemctl stop seekdb

# 開機啓動
sudo systemctl enable seekdb

2. 嵌入式安裝

seekdb 提供了嵌入式部署方式,可以作為一個“庫”運行在你的應用程序內部。

Python 示例

import seekdb

# Open a database
seekdb.open()

# Connect to a database
conn = seekdb.connect()

# Use the connection
cursor = conn.cursor()
cursor.execute("select version();")
results = cursor.fetchall()
print(results)

# Close the connection
conn.close()

運行結果

$ python3 sample.py
[('1.2.34-OceanBase NewProduct-v5.6.7.8',)]

3. 其他部署方式

除此之外,OB 官方還提供了 seekdb 的 Docker 鏡像和桌面版管理工具,篇幅有限這裏就不展開介紹了,感興趣的同學可以移步文檔查看(oceanbase.ai/docs)。

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_數據庫_09

0xFF. 寫在最後

回想去年,我第一次用 OceanBase 數據庫做 RAG 應用,當時用 16GB 內存的 MacBook Pro 啓動 OB 竟然還會因為內存不夠而失敗☹️,那時候的 OB 強大卻略顯“高冷”。

而 seekdb 的出現,讓我有一種“士別三日當刮目相看”的感覺。OceanBase 從昔日“高不可攀”的金融級數據庫,到如今“觸手可及”的 seekdb,OceanBase 團隊這次真正看懂了開發者在 AI 時代對數據庫期望的樣子:無痛的上手體驗,不吃資源、配置簡單、開箱即用,卻依然強大可靠。

比 MySQL 輕,比 SQLite 強:終於有人把 AI 數據庫做對了_搜索_10

GitHub 地址:github.com/oceanbase/seekdb

現在的 seekdb 也許還不是“最終形態”,但它絕對是一個令人興奮的起點,讓我們一起見證這款“更懂 AI 的數據庫”成長之路。


作者:削微寒