Skip to main content

OceanBase SeekDB

Project description

🔷 The AI-native hybrid search database

Powerful AI search capabilities · Lightweight · Production-ready


Documentation follow on LinkedIn Static Badge Discord Downloads License


🚀 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_x86_64.whl (86.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_x86_64.whl (86.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_aarch64.whl (84.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 916771f9fc6a613d0b8334f1688eb4519b314cd30a21c5e83096f84a039c7b06
MD5 faec0e14879bbc705db17515c6eff5c2
BLAKE2b-256 0f3d22d4bd6cba2fd8093e01cd1246dfee7f970306cf6c60520481135f305eed

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 aa2f6be0abdc0b4e35f2971cf96c26a72d1715901b85a7584ed4e395cf999027
MD5 5e97ab0b9c21374d3f39034a1ead39a0
BLAKE2b-256 77bd73d0525048c30fa2ff18fe4516943095d452e77484a27def88fe8fa17438

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eec0d00d824620b2f36635c12c920a3f3cd03a5509521d8a618a800b1b75ae04
MD5 94123fd9f7a686651b8fda0c7e07d270
BLAKE2b-256 ea23aa13383e5fb18200dc2bc86c46f0158012f0cbabecd5cfbe3ac4bda064cb

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 57e46c2dec66f255e9a1a34476f5e80348b2ddfaa8ee8b39c6c6509506e45446
MD5 17d7dd7ec9d71b641c0cfbc34b50d258
BLAKE2b-256 c0c49e351a8c52c508091c3af1b802b0a66043282669eb8f50007b71b70782ce

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 82bc2201dde2fd94f60ba7b4e52406602d40feff4301a4f5af82188beb5d9a2c
MD5 a7a549056f03aed3071e25da01e3c7b9
BLAKE2b-256 82e374d77fdc385c6b0b9c46ac36c1fe745438af6a23deecca881d5a49f35af0

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b491b37347d2e806c9359e6c73ad5c399cd6bf9c3fa7daa8ee0b75b513f486ad
MD5 52d03e14f279daf85cc15382464a7ee9
BLAKE2b-256 b77bad6e1b82f57f24e5bf6aedff61cae60a54ad0ce6994a94df9ab04378ff40

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d58a30a9ea32238ec7db72bc6c8e199c3e4a2c54ffda039c0fc69573c78afdf8
MD5 cca9217f1863f8bc10008fe9bda39e15
BLAKE2b-256 13aaac67fe8376af4ecc6619d453692caac2bb3bd6473e3236767baee17c6bc9

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa3ca059472c0b0ddf1012ca6ef03150c9cf7d0b31f52753ef0981140ed93b63
MD5 862a03003abbad06264c09ad87d7583d
BLAKE2b-256 6a43828c94523b384c0d47aec88d2113202898c02740cae6c926a26317629eed

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 069431907b3c9a142f74dc16f68fa4f4288be4a222ac7b1bb301ee0c3cd91611
MD5 d369a7ee3207189a8a925360448c102a
BLAKE2b-256 e8169e5c8b72da0eabcc69010f3d3b90ab5ab8fcf7333bb44b56985565c1efb4

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a68e79c7a3b8c2780cf331814412ab0aaaf698a8ad68062d8e7ab1cf07d7773a
MD5 57d47fb1fb0b9e934c088bf1299cdb4c
BLAKE2b-256 e73800ec070c12cac53cae6f6f937ec6e541631c38765a37de6883e12bbf178d

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d488fdb26e6b30aacb43f82dfe0f5495ee3a70aa47f73dfd08cdc044e09284f3
MD5 3213698a780a58bd343cf41bc554542f
BLAKE2b-256 fb3c671694b4d1677df6673df221675114f7724695deb4acce3128ebce05373f

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 255974e2d3699647c7dc3c29c5e801b7e02c57d66f908db7e9cc991e7d9f5461
MD5 46349f195523314134ab527a5a4831c3
BLAKE2b-256 6deff7bcd70578041faaa9858d0f5dd0ba6823a7241e3725a5444c8e09d5a396

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c851e961460ac049606c537e8837391f4ccf84e93e860b2e88301872504b1a8
MD5 0e514b3460644d7490ac67ccce4cd599
BLAKE2b-256 09187167bef76bd7e4de2b7cddfdc8899484233b2cfc53bc4fb5a3016671d819

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 76d709519b3250d3ac1abd7ec74fc5d992f7e83e048d263485b2613aec03f9eb
MD5 6b0b2e0ed7abf30bcfd1acfaf142cece
BLAKE2b-256 b429e09d802caf35a1fe23b287e9d98f3d65341d8be33e968d28d7aea40ce862

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77233252834e1c071dc3e58197dbd402661552914930865ebf818cfa36bdfcbb
MD5 5a7c3501304c93d28535242275e2c019
BLAKE2b-256 01c2d2a309da20c0f96f958e0b41408003e95284d837aa0cf33cdecc3bc61a41

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3eacbb0eca5b038b87e41de27d735ef49e1148de3214f42fb89b990ca32e2386
MD5 d2bb0acb9c7828c8496f6ea0cda381f4
BLAKE2b-256 ad67075aa7e81430c75f17e7bdd4d4bed9f035943d8a6d6dbc43b14d5aa0727a

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79d9092c9aaa7b845ff4bdd132aa94608bdc62d1ea80d0e541a7f182bb64b1c1
MD5 e8803544044f08ddf9b20f5b8904ff2c
BLAKE2b-256 39c4dd9abaa0db3412c1fe1cf10b5f4fcca7453bd4b61f044cae21874ef96bc1

See more details on using hashes here.

File details

Details for the file pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pylibseekdb_runtime-1.0.0.post1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 57d83b99d5cce38e74e6496aab2bf5e88c58f467b4e30bb137d8626df51d1ddd
MD5 b6b008f4031b7fc3e765cef2ad349725
BLAKE2b-256 14b92d638e786da470b5794e5be4705ec32357424cf88fa0510534452f200459

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page