OceanBase SeekDB
Project description
🔷 The AI-native hybrid search database
Powerful AI search capabilities · Lightweight · Production-ready
🚀 What is OceanBase SeekDB?
OceanBase SeekDB is the lightweight, embedded version of OceanBase Database - a powerful AI search database designed for the AI applications. It combines enterprise-grade database capabilities with cutting-edge **AI search ** features, such as Vector search, fulltext search, Json.
🔥 Why OceanBase SeekDB?
| Feature | OceanBase SeekDB | Traditional DB | Vector-only DB | Full-Text Engine |
|---|---|---|---|---|
| Embedded Mode | ✅ Native | ⚠️ Possible | ⚠️ Possible | ⚠️ Possible |
| SQL Support | ✅ Full SQL | ✅ Full SQL | ❌ Limited | ❌ Limited |
| Vector Search | ✅ Built-in | ❌ Limited | ✅ Supported | ❌ Limited |
| Full-Text Search | ✅ Built-in | ✅ Supported | ❌ Limited | ✅ Advanced |
| Json | ✅ Yes | ⚠️ Varies by Product | ❌ Not Supported | ❌ Not Supported |
| ACID Transactions | ✅ Full | ✅ Full | ❌ Limited | ❌ Limited |
| Easy Migration | ✅ MySQL Compatible | ✅ Standard | ❌ No | ❌ No |
✨ Key Features
🎯 AI-Powered Search
- Vector Similarity Search: Optimize vector query accuracy, performance, and cost for different scenarios using different algorithms
- Hybrid Search: Combine vector search, scalar search, and full-text retrieval for optimal results
- Full-Text Search: Built-in full-text indexing for keyword-based searches
- Json:Built-in Json schema and query, support Json index.
📦 Embedded & Lightweight
- Zero Dependencies: Run embedded in your application - no separate database server required
- Tiny Footprint: Minimal memory and disk usage, perfect for edge devices and containers
- Single Binary: Easy to deploy and distribute with your application
- Local-First: Work offline, sync when ready
⚡ Simple & Developer-Friendly
- MySQL Compatible: Use familiar SQL syntax - no learning curve
- Instant Setup: Get started in seconds, not minutes
- Rich APIs: Support for Python, Java, Go, and more
- Comprehensive Docs: Clear documentation with examples for every use case
🚀 Production-Ready
- Stability: More than 15 years of technical expertise and 4000+ enterprise implementations
- ACID Compliance: Full transaction support with strong consistency guarantees
- Horizontal Scalability: Scale from single node to distributed cluster seamlessly
- Enterprise Security: Built-in encryption, authentication, and access control
🎬 Quick Start
Installation
pip install pylibseekdb
Requirements
- CPython 3.8+
- Linux x86_64, aarch64/arm64 with glibc version >= 2.28 (Alpine Linux is not supported yet)
🎯 AI Search Example
Build a semantic search system in 5 minutes:
🗄️ 🐍 Python SDK
# install sdk first
pip install -U pyseekdb
import pyseekdb
client = pyseekdb.Client()
collection = client.get_or_create_collection(name="my_collection")
collection.upsert(
ids=["1", "2", "3"],
documents=[
"It's rainy today",
"It was cloudy yesterday",
"The forecast for tomorrow is fine weather"
]
)
results = collection.query(
query_texts=[" What's the weather like today"], # SeekDB will embed this for you
n_results=2 # how many results to return
)
print(results)
🗄️ SQL
import pylibseekdb as seekdb
# Open a database
seekdb.open()
# Connect to a database
conn = seekdb.connect()
# Use the connection
cursor = conn.cursor()
cursor.execute("""-- Create table with vector column
CREATE TABLE articles (
id INT PRIMARY KEY,
title TEXT,
content TEXT,
embedding VECTOR(384)
);""")
cursor.execute("""-- Create vector index for fast similarity search
CREATE INDEX idx_vector ON articles USING VECTOR (embedding);""")
cursor.execute("""-- Insert documents with embeddings
-- Note: Embeddings should be pre-computed using your embedding model
INSERT INTO articles (id, title, content, embedding)
VALUES
(1, 'AI and Machine Learning', 'Artificial intelligence is transforming...', '[0.1, 0.2, ...]'),
(2, 'Database Systems', 'Modern databases provide high performance...', '[0.3, 0.4, ...]'),
(3, 'Vector Search', 'Vector databases enable semantic search...', '[0.5, 0.6, ...]');""")
cursor.execute("""-- Example: Hybrid search combining vector and full-text
-- Replace '[query_embedding]' with your actual query embedding vector
SELECT
title,
content,
embedding <-> '[query_embedding]' AS vector_distance,
MATCH(content) AGAINST('your keywords' IN NATURAL LANGUAGE MODE) AS text_score
FROM articles
WHERE MATCH(content) AGAINST('your keywords' IN NATURAL LANGUAGE MODE)
ORDER BY vector_distance ASC, text_score DESC
LIMIT 10;""")
results = cursor.fetchall()
# Close the connection
conn.close()
📚 Use Cases
| 🎯 RAG Systems | 🔍 Semantic Search | 💬 Chatbots | 🎬 Recommendations |
|---|---|---|---|
| Build retrieval-augmented generation pipelines with vector search | Power semantic search across documents, images, and multimedia | Create intelligent chatbots with memory and context | Build recommendation engines with hybrid search |
🎯 Real-World Examples
- 📚 Document Q&A: Build ChatGPT-like document search with RAG
- 🖼️ Image Search: Find similar images using vision embeddings
- 💼 E-commerce: Semantic product search and recommendations
- 🔬 Scientific Research: Search through research papers and datasets
- 📊 Business Intelligence: Combine SQL analytics with AI search
🌟 Ecosystem & Integrations
🤝 Community & Support
📄 License
OceanBase SeekDB is licensed under the Apache License, Version 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
916771f9fc6a613d0b8334f1688eb4519b314cd30a21c5e83096f84a039c7b06
|
|
| MD5 |
faec0e14879bbc705db17515c6eff5c2
|
|
| BLAKE2b-256 |
0f3d22d4bd6cba2fd8093e01cd1246dfee7f970306cf6c60520481135f305eed
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa2f6be0abdc0b4e35f2971cf96c26a72d1715901b85a7584ed4e395cf999027
|
|
| MD5 |
5e97ab0b9c21374d3f39034a1ead39a0
|
|
| BLAKE2b-256 |
77bd73d0525048c30fa2ff18fe4516943095d452e77484a27def88fe8fa17438
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eec0d00d824620b2f36635c12c920a3f3cd03a5509521d8a618a800b1b75ae04
|
|
| MD5 |
94123fd9f7a686651b8fda0c7e07d270
|
|
| BLAKE2b-256 |
ea23aa13383e5fb18200dc2bc86c46f0158012f0cbabecd5cfbe3ac4bda064cb
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57e46c2dec66f255e9a1a34476f5e80348b2ddfaa8ee8b39c6c6509506e45446
|
|
| MD5 |
17d7dd7ec9d71b641c0cfbc34b50d258
|
|
| BLAKE2b-256 |
c0c49e351a8c52c508091c3af1b802b0a66043282669eb8f50007b71b70782ce
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.13t, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82bc2201dde2fd94f60ba7b4e52406602d40feff4301a4f5af82188beb5d9a2c
|
|
| MD5 |
a7a549056f03aed3071e25da01e3c7b9
|
|
| BLAKE2b-256 |
82e374d77fdc385c6b0b9c46ac36c1fe745438af6a23deecca881d5a49f35af0
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.13t, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b491b37347d2e806c9359e6c73ad5c399cd6bf9c3fa7daa8ee0b75b513f486ad
|
|
| MD5 |
52d03e14f279daf85cc15382464a7ee9
|
|
| BLAKE2b-256 |
b77bad6e1b82f57f24e5bf6aedff61cae60a54ad0ce6994a94df9ab04378ff40
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.3 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d58a30a9ea32238ec7db72bc6c8e199c3e4a2c54ffda039c0fc69573c78afdf8
|
|
| MD5 |
cca9217f1863f8bc10008fe9bda39e15
|
|
| BLAKE2b-256 |
13aaac67fe8376af4ecc6619d453692caac2bb3bd6473e3236767baee17c6bc9
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa3ca059472c0b0ddf1012ca6ef03150c9cf7d0b31f52753ef0981140ed93b63
|
|
| MD5 |
862a03003abbad06264c09ad87d7583d
|
|
| BLAKE2b-256 |
6a43828c94523b384c0d47aec88d2113202898c02740cae6c926a26317629eed
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
069431907b3c9a142f74dc16f68fa4f4288be4a222ac7b1bb301ee0c3cd91611
|
|
| MD5 |
d369a7ee3207189a8a925360448c102a
|
|
| BLAKE2b-256 |
e8169e5c8b72da0eabcc69010f3d3b90ab5ab8fcf7333bb44b56985565c1efb4
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a68e79c7a3b8c2780cf331814412ab0aaaf698a8ad68062d8e7ab1cf07d7773a
|
|
| MD5 |
57d47fb1fb0b9e934c088bf1299cdb4c
|
|
| BLAKE2b-256 |
e73800ec070c12cac53cae6f6f937ec6e541631c38765a37de6883e12bbf178d
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d488fdb26e6b30aacb43f82dfe0f5495ee3a70aa47f73dfd08cdc044e09284f3
|
|
| MD5 |
3213698a780a58bd343cf41bc554542f
|
|
| BLAKE2b-256 |
fb3c671694b4d1677df6673df221675114f7724695deb4acce3128ebce05373f
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
255974e2d3699647c7dc3c29c5e801b7e02c57d66f908db7e9cc991e7d9f5461
|
|
| MD5 |
46349f195523314134ab527a5a4831c3
|
|
| BLAKE2b-256 |
6deff7bcd70578041faaa9858d0f5dd0ba6823a7241e3725a5444c8e09d5a396
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c851e961460ac049606c537e8837391f4ccf84e93e860b2e88301872504b1a8
|
|
| MD5 |
0e514b3460644d7490ac67ccce4cd599
|
|
| BLAKE2b-256 |
09187167bef76bd7e4de2b7cddfdc8899484233b2cfc53bc4fb5a3016671d819
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76d709519b3250d3ac1abd7ec74fc5d992f7e83e048d263485b2613aec03f9eb
|
|
| MD5 |
6b0b2e0ed7abf30bcfd1acfaf142cece
|
|
| BLAKE2b-256 |
b429e09d802caf35a1fe23b287e9d98f3d65341d8be33e968d28d7aea40ce862
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77233252834e1c071dc3e58197dbd402661552914930865ebf818cfa36bdfcbb
|
|
| MD5 |
5a7c3501304c93d28535242275e2c019
|
|
| BLAKE2b-256 |
01c2d2a309da20c0f96f958e0b41408003e95284d837aa0cf33cdecc3bc61a41
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3eacbb0eca5b038b87e41de27d735ef49e1148de3214f42fb89b990ca32e2386
|
|
| MD5 |
d2bb0acb9c7828c8496f6ea0cda381f4
|
|
| BLAKE2b-256 |
ad67075aa7e81430c75f17e7bdd4d4bed9f035943d8a6d6dbc43b14d5aa0727a
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 86.4 MB
- Tags: CPython 3.8, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79d9092c9aaa7b845ff4bdd132aa94608bdc62d1ea80d0e541a7f182bb64b1c1
|
|
| MD5 |
e8803544044f08ddf9b20f5b8904ff2c
|
|
| BLAKE2b-256 |
39c4dd9abaa0db3412c1fe1cf10b5f4fcca7453bd4b61f044cae21874ef96bc1
|
File details
Details for the file pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 84.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57d83b99d5cce38e74e6496aab2bf5e88c58f467b4e30bb137d8626df51d1ddd
|
|
| MD5 |
b6b008f4031b7fc3e765cef2ad349725
|
|
| BLAKE2b-256 |
14b92d638e786da470b5794e5be4705ec32357424cf88fa0510534452f200459
|