Skip to content

MediLang/KadeDB

Repository files navigation

KadeDB: A Multi-Model Database for Healthcare and Beyond

CI/CD Pipeline Code Coverage Documentation Status Docker Pulls License Docs Docs Last Updated

Quick Links

  • Docs site: https://medilang.github.io/KadeDB/
  • Getting Started: docs/sphinx/guides/getting_started.md
  • API Reference (Doxygen groups): StorageAPI, DocumentAPI, PredicateBuilder
  • Examples: cpp/examples/
  • Tests: cpp/test/
  • Troubleshooting: docs/sphinx/guides/troubleshooting.md
  • Contributing: docs/sphinx/guides/contributing.md

Overview

KadeDB is a versatile multi-model database designed to support a wide range of applications, from healthcare to finance, logistics, manufacturing, smart cities, and scientific research. It unifies:

  • Relational storage for structured data (e.g., records, inventories)
  • Document storage for semi-structured data (e.g., logs, configurations)
  • Time-series storage for temporal data (e.g., sensor readings, market ticks)
  • Graph storage for network data (e.g., networks, relationships)

Optimized for high-performance computing (HPC) on servers and edge nodes, KadeDB includes a lightweight client, KadeDB-Lite, for resource-constrained IoT and wearable devices.

Components

  • KadeDB Core (C++): High-performance engine with GPU acceleration and distributed scalability for compute-intensive analytics and storage internals.
  • KadeDB Services (Rust): Secure, async service layer (REST/gRPC), connectors, auth/RBAC, and orchestration built with Rust for memory safety and reliability.
  • KadeDB-Lite (C): Minimal footprint client for IoT/wearables with RocksDB-based embedded storage and low-bandwidth syncing.
  • C ABI Bindings: Stable C interface (bindings/c/) for FFI integration with other languages (Python, Rust, etc.).

Note: This README provides a high-level overview. Full developer documentation, API reference, and detailed guides now live under docs/ for GitHub Pages and Sphinx.

Quick Start (Core)

# Clone the repository
git clone --recurse-submodules https://github.com/MediLang/KadeDB.git
cd KadeDB

# Configure & build (Debug preset)
cmake -S . --preset debug
cmake --build --preset debug -j

# Run tests
ctest --test-dir build --output-on-failure

Testing and Coverage

Run the test suite (default Debug preset):

cmake -S . -B build/debug -DCMAKE_BUILD_TYPE=Debug
cmake --build build/debug -j
ctest --test-dir build/debug --output-on-failure

Enable coverage (non-MSVC GCC/Clang) and generate reports with gcovr:

# Install gcovr (one-time)
python3 -m pip install --user gcovr

# Configure with coverage flags
cmake -S . -B build/debug -DKADEDB_ENABLE_COVERAGE=ON
cmake --build build/debug -j

# Generate coverage (runs tests and writes reports)
cmake --build build/debug --target coverage

# Reports
# - HTML: build/debug/coverage/index.html
# - XML:  build/debug/coverage/coverage.xml

Explore examples:

  • cpp/examples/inmemory_rel_example.cpp – in-memory relational storage
  • cpp/examples/inmemory_rel_errors_example.cpp – error handling demo
  • cpp/examples/timeseries_example.cpp – in-memory time-series storage (rangeQuery + aggregate)
  • cpp/examples/graph_example.cpp – in-memory graph storage (CRUD + traversal + graph queries)
  • examples/cpp_example/ – standalone C++ core API example
  • examples/c_example/ – C ABI example
  • examples/lite_cli/ – interactive KadeDB-Lite CLI

Key tests:

  • cpp/test/storage_api_test.cpp
  • cpp/test/storage_predicates_test.cpp
  • cpp/test/document_predicates_test.cpp
  • cpp/test/timeseries_test.cpp
  • cpp/test/graph_test.cpp

Developer Reference

Full docs, build options, platform presets, FFI guidance, and CI details live in the documentation site.

  • Docs site: https://medilang.github.io/KadeDB/
  • Getting Started: docs/sphinx/guides/getting_started.md
  • API Reference (Doxygen): groups StorageAPI, DocumentAPI, PredicateBuilder

Local docs build (optional):

doxygen docs/Doxyfile
sphinx-build -b html docs/sphinx docs/sphinx/_build/html

Architecture and Design

Detailed architecture, language rationale, industry guides, roadmaps, and API surfaces are documented on the docs site.

Contributing

Please see:

License

This project is licensed under the MIT License, ensuring open access for developers across industries.

About

A Multi-modal Database for Healthcare and Beyond

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •