About this project
mq-db is an open‑source embedded database written in Rust that reinterprets Markdown documents as a structured, hierarchical data store. It parses Markdown into a flat block list and assigns each block an interval index (pre/post) that enables O(1) ancestor/descendant queries. The system builds multiple secondary indexes—bitmap, b‑tree, hash, and term indexes—alongside zone maps for efficient filtering, and it offers both a custom SQL engine and an mq expression language for querying. Documents can be persisted in a compact 8 KB page‑file format with atomic writes, and the tool provides a rich CLI for indexing, listing, searching, and executing SQL or mq commands. Additional features include incremental re‑indexing, write‑back editing of source Markdown, custom in‑memory tables, live views, transactions, and a TUI or HTTP server for interactive use. Full documentation, API references, and architectural diagrams are available on the project’s book site.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.