Volver al ranking

oceanbase/seekdb

C++seekdb.ai

The AI-Native Search Database. Best for agent storage, it unifies vector, text, structured, and semi-structured data into a single engine. This all-in-one database makes agents smarter, easier to run, and more stable.

mysqlembedded-databaseai-agentscopy-on-writefull-text-searchhnswhybrid-searchlangchainllamaindexoceanbasepythonrag
Crecimiento de estrellas
Estrellas
2.8k
Forks
312
Crecimiento semanal
Issues
310
1.5k2k2.5k
nov 25ene 26abr 26jul 26
README
seekdb logo

Write. Search. Fork. The State Store for AI Agents.

GitHub Stars Latest Release Commit Activity Contributors Issues License Downloads Join Discord Documentation Ask DeepWiki follow on LinkedIn YouTube

oceanbase%2Fseekdb | Trendshift

MySQL-compatible · Embedded or Server · Hybrid Vector + Full-text Search · COW Sandbox

⚡ 1,523 QPS streaming write+search (10× Milvus, 3× Elasticsearch)
🌿 FORK/MERGE sandboxes for safe agent exploration
🔍 Vector + full-text + scalar in one SQL query
🐬 Full ACID, MySQL protocol, works with LangChain/LlamaIndex/Dify

English | 中文版 | 日本語

30-Second Try · Quick Start · Why seekdb · Ecosystem · Contributing

If you find seekdb useful, consider giving it a star — it helps others discover the project.


⚡ Performance at a Glance

seekdb benchmark: 10.7× the QPS of Milvus, 3.2× of Elasticsearch

📖 Read the launch blog → · 🔁 Reproduce the benchmark →


⏱️ 30-Second Try

seekdb 30-second demo
pip install -U pyseekdb   # pyseekdb is the Python SDK for seekdb

📋 View demo.py source →

No servers, no schemas, no embedding setup. Embedded mode runs in-process; switch to server / OceanBase mode with one line. More examples →


✨ Why seekdb for Agents?

🔥 Streaming Write + Concurrent Search, Without the P99 Spike

Agent workloads are continuous write + millisecond-later read. seekdb's async index pipeline (Change Stream) decouples DML from index build, and its two-level HNSW (incremental + snapshot) makes newly-written vectors immediately searchable.

seekdb async index pipeline architecture

The write path commits and returns without waiting on index construction. The Change Stream pipeline consumes the redo log asynchronously and updates the delta HNSW. Queries hit both delta and snapshot indexes with fine-grained read locks — this is why P99 stays flat under concurrency.

The result: 1,523 QPS with 21.7 ms concurrent P99 — 10.7× the QPS of Milvus, and P99 jitter of just 1.1× when concurrency rises (vs ~10× for ES / Milvus on the same workload).

Source: src/share/change_stream/ · src/share/vector_index/

🌿 Copy-on-Write Sandboxes for Agent Exploration

FORK DATABASE snapshots an entire database in seconds — no data copy. Agents experiment freely (write, query, even break tables); then MERGE TABLE commits the work back, or DROP DATABASE discards it. Kernel-level COW, not application-layer save/restore.

-- Snapshot in seconds, no data copy
FORK DATABASE agent_state TO agent_sandbox_42;

-- Agent reads/writes freely on the sandbox...
USE agent_sandbox_42;
INSERT INTO memory (session_id, embedding, content) VALUES (...);

-- Accept the work back to mainline (strategies: FAIL / THEIRS / OURS)
MERGE TABLE agent_sandbox_42.memory INTO agent_state.memory STRATEGY THEIRS;
-- ...or throw it away:
DROP DATABASE agent_sandbox_42;

Source: tools/deploy/mysql_test/test_suite/fork_table/

🔍 Hybrid Search in a Single SQL

Vector + full-text + scalar filter pushed into one execution plan. No N+1 client-side merging, no glue code to combine results.

SELECT id, title, l2_distance(emb, '[0.12,0.34,...]') AS dist
FROM docs
WHERE MATCH(content) AGAINST('quarterly report')
  AND author_id = 42
  AND created_at > '2026-01-01'
ORDER BY dist APPROXIMATE LIMIT 10;

🐬 MySQL-Compatible, ACID, Embeddable

Built on the proven OceanBase SQL engine. Works as an embedded library, a single-node server, or in the OceanBase distributed cluster. Full ACID, real-time writes, and the entire MySQL ecosystem out of the box.


🎬 Quick Start

Installation

Choose your platform:

☁️ Cloud (Zero Install)

One curl, a running database — no signup, no credit card.

curl -X POST https://d0.seekdb.ai/api/v1/instances

Free for 7 days. Learn more →

🐍 Python (Recommended for AI/ML)
pip install -U pyseekdb
🐳 Docker (Quick Testing)
docker run -d \
  --name seekdb \
  -p 2881:2881 \
  -p 2886:2886 \
  -v ./data:/var/lib/oceanbase \
  oceanbase/seekdb:latest

Please refer to the document of this docker image for details.

📦 Binary (Standalone)
# Linux (one-line install, may need sudo)
curl -fsSL https://obportal.s3.ap-southeast-1.amazonaws.com/download-center/opensource/seekdb/seekdb_install.sh | bash

# macOS (Homebrew)
brew tap oceanbase/seekdb
brew install seekdb

See deployment docs for DEB/RPM offline install and configuration details.

📝 More Examples

For the full Python SDK walkthrough — connection modes, embedding functions, metadata filters — see the pyseekdb User Guide.

🤖 Agent Memory Pattern (continuous write + immediate retrieval)

The canonical agent loop: write an observation, retrieve relevant context milliseconds later, repeat. seekdb's async index pipeline keeps both sides fast under sustained concurrency.

import pyseekdb

client = pyseekdb.Client(path="./agent_state.db")
memory = client.get_or_create_collection(name="episodic")

for step in agent.run():
    # Persist the observation
    memory.upsert(ids=[step.id], documents=[step.observation])

    # Retrieve relevant context — milliseconds after the write,
    # served by the incremental HNSW (no waiting on a background rebuild)
    relevant = memory.query(query_texts=step.next_query, n_results=5)

    agent.act(relevant)
🗄️ SQL — Schema + Hybrid Search
-- Table with vector column, full-text index, and HNSW vector index
CREATE TABLE articles (
  id        INT PRIMARY KEY,
  title     TEXT,
  content   TEXT,
  embedding VECTOR(384),
  FULLTEXT INDEX idx_fts (content) WITH PARSER ik,
  VECTOR   INDEX idx_vec (embedding) WITH (DISTANCE=l2, TYPE=hnsw, LIB=vsag)
) ORGANIZATION = HEAP;

-- Hybrid search: vector similarity + full-text match in one query
SELECT id, title,
       l2_distance(embedding, '[0.12, 0.34, ...]') AS dist
FROM articles
WHERE MATCH(content) AGAINST('quarterly report')
ORDER BY dist APPROXIMATE
LIMIT 10;

Python developers can access this via SQLAlchemy or any MySQL driver.

📚 Use Cases

🎯 Agentic AI — Memory, Sandbox & State

Agents need a state store that handles continuous memory writes, millisecond-later retrieval, branching for exploration, and rollback when things go wrong. seekdb is built for exactly this:

  • Streaming-friendly storage — write a memory, query it in the next ms
  • COW sandboxesFORK DATABASE for safe experimentation, MERGE to accept, DROP to roll back
  • Hybrid retrieval — vector + full-text + relational in one SQL
  • MySQL protocol — works with LangChain, LlamaIndex, Dify out of the box

Personal assistants · Enterprise automation · Vertical agents · Agent platforms

🧩 Other Use Cases

seekdb's hybrid retrieval + multi-model engine also fits classic AI workloads:

  • 📖 RAG & Knowledge Retrieval — vector + full-text + scalar filters with multi-level access control. Enterprise QA, customer support, industry insights, personal knowledge bases.
  • 🔍 Semantic Search — embedding-based search across text, images, and other modalities. Product search, text-to-image, image-to-product.
  • 💻 AI-Assisted Coding — semantic code search, multi-project isolation, time-travel queries for IDE plugins and code agents. Local IDEs, web IDEs, design-to-web.
  • ⬆️ Enterprise Application Intelligence — MySQL-compatible AI layer for legacy systems, with row/column hybrid storage. Document intelligence, business insights, finance systems.
  • 📱 On-Device & Edge AI — embedded / micro-server modes for resource-constrained devices. In-vehicle systems, AI education, companion robots, healthcare devices.

🌟 Ecosystem & Integrations

LangChain LlamaIndex Dify LangGraph Coze HuggingFace

+ Camel-AI · DB-GPT · FastGPT · Firecrawl · Spring-AI-Alibaba · Cloudflare Workers AI · Jina AI · Ragas · Instructor · Baseten — see User Guide for the full list.


🌐 Next Steps & Community


🛠️ Development

Build from Source

Before building, please install the required toolchain and dependencies for your operating system. See Install Toolchain for detailed instructions.

# Clone the repository
git clone https://github.com/oceanbase/seekdb.git
cd seekdb
bash build.sh debug --init --make
mkdir -p ~/seekdb/bin
cp build_debug/src/observer/seekdb ~/seekdb/bin
cd ~/seekdb
./bin/seekdb

In this example, the working directory is $HOME/seekdb, please use a fresh directory for testing. Please see the Developer Guide for detailed instructions.

Contributing

We welcome contributions! See our Contributing Guide to get started.

Contributors

📈 Star History

Star History Chart

If seekdb is useful to you, a star helps others find it.


📄 License

seekdb is built by the OceanBase team — the same database engine running in production at Alipay, Taobao, DiDi, Xiaomi, and more. Fully open-source under the Apache License, Version 2.0.

Repositorios relacionados
Snailclimb/JavaGuide

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

JavaScriptnpmApache License 2.0javainterview
javaguide.cn
157.2k46.2k
macrozheng/mall

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于Spring Boot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

JavaMavenApache License 2.0spring-bootspring-security
macrozheng.com/admin/
84.3k29.8k
netdata/netdata

The fastest path to AI-powered full stack observability, even for lean teams.

GoGo ModulesGNU General Public License v3.0monitoringdocker
netdata.cloud
79.8k6.5k
grafana/grafana

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

TypeScriptnpmGNU Affero General Public License v3.0grafanamonitoring
grafana.com
75.7k14.3k
strapi/strapi

🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable, and developer-first.

TypeScriptnpmOtherstrapinodejs
strapi.io
72.7k9.8k
coollabsio/coolify

An open-source, self-hostable PaaS alternative to Vercel, Heroku & Netlify that lets you easily deploy static sites, databases, full-stack applications and 280+ one-click services on your own servers.

PHPPackagistApache License 2.0nodejsmysql
coolify.io
59.2k5.1k
dbeaver/dbeaver

Free universal database tool and SQL client

JavaMavenApache License 2.0sqldatabase
dbeaver.io
51.1k4.3k
metabase/metabase

The easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:

ClojureOtheranalyticsbusinessintelligence
metabase.com
48.3k6.7k
gogs/gogs

The painless way to host your own Git service

GoGo ModulesMIT Licensegogsgo
gogs.io
47.7k5.1k
prisma/prisma

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

TypeScriptnpmApache License 2.0prismaorm
prisma.io
47.4k2.4k
pingcap/tidb

TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search. No data silos. No noisy neighbors. No infrastructure ceiling.

GoGo ModulesApache License 2.0distributed-databasedistributed-transactions
tidb.io
40.3k6.2k
YunaiV/ruoyi-vue-pro

🔥 官方推荐 🔥 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序,支持 RBAC 动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城、CRM、ERP、MES、IM、AI 大模型、IoT 物联网等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

JavaMavenMIT Licensespringbootvue
doc.iocoder.cn
38.3k8.3k