Puchaczov/Musoq

SQL Runtime without any database

解决的问题

Musoq 提供了一种无需数据摄入或中间存储即可对非数据库数据源(如日志文件、git 历史、二进制转储和系统进程)执行即席 SQL 查询的方法。它用声明式 SQL 查询替代了脆弱的 Bash 命令链或自定义脚本,实现快速的数据调查和调试。

工作原理

Musoq 是一个模块化的 SQL 引擎,可直接从数据源流式传输和转换数据。它扩展了标准 SQL,增加了处理非结构化数据的专用原语:

  • 内联二进制解码:用户可在查询中直接声明二进制结构(structs),以解析文件中的原始字节。
  • 声明式文本解析:用户可内联描述日志格式,从文本文件中提取结构化字段。
  • 强类型系统couple 语句允许将无类型数据(如 LLM 提取结果)绑定到严格的 SQL 表中。
  • 数据源:采用插件架构,支持连接到各种数据源,如操作系统文件系统、Git 仓库、Docker、Kubernetes 以及 LLM API(OpenAI/Ollama)。

适用人群

需要在不设置数据库或编写一次性脚本的前提下,对本地文件或系统状态进行复杂调查的开发者和系统管理员。

主要亮点

  • 零摄入:直接在数据所在位置查询,无需将数据导入数据库。
  • 高级 SQL 支持:支持递归 CTE 和相关子查询。
  • uma stdin 管道:原生支持使用 SQL 查询流式 stdin 数据。
  • AI 助手集成:内置 Model Context Protocol (MCP) 服务器,可将保存的查询作为工具暴露给 Claude 或 Cursor 等 AI 助手。
  • 灵活解析:可在 SQL 脚本中内联定义二进制和文本模式。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目