Repolode
oceanbase

oceanbase/seekdb

An AI-native search database that stores vector, full-text, structured and semi-structured data in one MySQL-compatible engine, for agent memory and retrieval.

Open-source alternative to:PineconeElasticsearch

Stars
3,165
Forks
414
Open issues
188
Last commit
6 hours ago

What is it?

seekdb is a database built for AI agent workloads. It combines vector search, full-text search and scalar filters in a single engine and exposes them through SQL, so retrieval does not need separate systems or client-side result merging. It is MySQL-compatible and offers full ACID transactions, and it can run as an embedded library from Python or Node.js, as a single-node server, or as part of an OceanBase distributed cluster.

For agent state management, the project adds FORK DATABASE, which creates a copy-on-write snapshot of a database, and MERGE TABLE, which commits sandbox changes back to the main database. Writes are indexed asynchronously through a change stream into a delta HNSW index, so newly written vectors can be queried shortly after they are inserted. The project also provides Python (pylibseekdb, pyseekdb) and JavaScript (@oceanbase/seekdb-node) packages, and it integrates with LangChain, LlamaIndex and Dify.

Key features

  • 01Vector, full-text and scalar filters combined in one SQL query
  • 02MySQL protocol compatibility with full ACID transactions
  • 03Embedded mode for Python and Node.js, plus single-node server deployment
  • 04FORK DATABASE copy-on-write snapshots and MERGE TABLE for agent sandboxes
  • 05Asynchronous index pipeline with incremental HNSW for near-real-time vector search

Use cases

  • Persistent memory and state storage for AI agents
  • Retrieval-augmented generation (RAG) backends that need vector and keyword search together
  • Sandboxed experimentation on agent data with rollback or merge
  • Adding semantic search to an existing MySQL-based application

Quick start

  1. 1

    Install the Python packages (requires Python 3.11 or newer)

    python3 -m pip install -U pylibseekdb pymysql
  2. 2

    Save the README example as example.py

  3. 3

    Run the example; it should print [{'value': 1}]

    python3 example.py

Things to know

  • The embedded Python quick start requires Python 3.11 or newer.
  • Supported platforms are limited to those listed on the pylibseekdb package page.

Topics

FAQ

What is seekdb?
An AI-native search database that stores vector, full-text, structured and semi-structured data in one MySQL-compatible engine, for agent memory and retrieval. seekdb is a database built for AI agent workloads. It combines vector search, full-text search and scalar filters in a single engine and exposes them through SQL, so retrieval does not need separate systems or client-side result merging. It is MySQL-compatible and offers full ACID transactions, and it can run as an embedded library from Python or Node.js, as a single-node server, or as part of an OceanBase distributed cluster.
Is seekdb free to use? What license does it have?
seekdb is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is seekdb still maintained?
Actively maintained. The last commit to seekdb was on Oct 21, 2026.
What can I use seekdb for?
Persistent memory and state storage for AI agents Retrieval-augmented generation (RAG) backends that need vector and keyword search together Sandboxed experimentation on agent data with rollback or merge Adding semantic search to an existing MySQL-based application
How do I install seekdb?
Install the Python packages (requires Python 3.11 or newer): python3 -m pip install -U pylibseekdb pymysql Save the README example as example.py Run the example; it should print [{'value': 1}]: python3 example.py
Where can I get seekdb?
The source code and installation instructions are on GitHub: https://github.com/oceanbase/seekdb

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects