Sobre o projeto

mq-db é um banco de dados embarcado de código aberto escrito em Rust que reinterpreta documentos Markdown como um armazenamento de dados estruturado e hierárquico. Ele analisa Markdown em uma lista plana de blocos e atribui a cada bloco um índice de intervalo (pre/post) que permite consultas de ancestral/descendente em O(1). O sistema cria vários índices secundários — bitmap, b-tree, hash e índices de termos — juntamente com zone maps para filtragem eficiente, e oferece tanto um mecanismo SQL personalizado quanto uma linguagem de expressão mq para consultas. Os documentos podem ser persistidos em um formato compacto de arquivo de páginas de 8 KB com gravações atômicas, e a ferramenta fornece uma CLI rica para indexação, listagem, busca e execução de comandos SQL ou mq. Recursos adicionais incluem reindexação incremental, edição com write-back do Markdown de origem, tabelas personalizadas em memória, visualizações ao vivo, transações e uma TUI ou servidor HTTP para uso interativo. Documentação completa, referências de API e diagramas de arquitetura estão disponíveis no site do livro do projeto.