À propos du projet

mq-db est une base de données embarquée open source écrite en Rust qui réinterprète les documents Markdown comme un magasin de données structuré et hiérarchique. Il analyse Markdown en une liste plate de blocs et attribue à chaque bloc un index d’intervalle (pré/post) qui permet des requêtes d’ancêtres/descendants en O(1). Le système construit plusieurs index secondaires — bitmap, b-tree, hash et index de termes — ainsi que des zone maps pour un filtrage efficace, et il propose à la fois un moteur SQL personnalisé et un langage d’expression mq pour les requêtes. Les documents peuvent être persistés dans un format compact de fichier de pages de 8 Ko avec écritures atomiques, et l’outil fournit une interface CLI riche pour l’indexation, le listage, la recherche et l’exécution de commandes SQL ou mq. Les fonctionnalités supplémentaires incluent la réindexation incrémentielle, l’édition avec réécriture du Markdown source, des tables en mémoire personnalisées, des vues dynamiques, des transactions, et une TUI ou un serveur HTTP pour une utilisation interactive. La documentation complète, les références API et les diagrammes d’architecture sont disponibles sur le site du livre du projet.