⚡️ Tech Radar | 脑洞大开:如果可执行文件是一个 SQLite 数据库?

系统研究员 Farid Zakaria 最近提出了一个颠覆性的视角:“ELF 本质上就是一个拒绝承认自己是数据库的数据库。” 他开源了原型项目 SELF(Structured Executable & Linkable Format),实现了一个真正可以直接 chmod +x 运行的 SQLite 数据库二进制文件。

🔍 核心亮点与技术实现:
• 底层原语的降维打击:ELF 内部手写了字符串驻留(.dynstr)、B-Tree 页面、外键关联和布隆过滤器。SELF 将其直接映射为标准的 SQLite 表与 B-Tree 索引。
• 内核无缝运行:利用 Linux binfmt_misc 匹配 SQLite 头部 offset 68 处的 application_id = 0x53454c46,直接由 self-exec 解释器载入执行。
• 二进制操作全变 SQL:

• strip 不用做脆弱的二进制手术,直接是一次带事务的 DELETE FROM sections; VACUUM;。
• ldd 只是一个 SQL VIEW,依赖查找变成了 JOIN。
• LD_PRELOAD 不再是环境变量,而是数据库里的 preload 表——“全系统注入 hook 后立刻 ROLLBACK”成了原子操作!
• 单文件整机闭包(Closure)反向瘦身:将系统中 723 个可执行文件与 400 个共享库全部塞入单一 SQLite 数据库,总大小仅 611.9MB(对比原始 ELF 分散文件 644.4MB)。由于关系表天然实现全局去重,多程序闭包反而比 ELF 更小!

⚠️ 现实代价与瓶颈:
• 无法零拷贝 mmap:SQLite blob 存储在 B-Tree 页内,跨越了页头,目前加载时必须 memcpy 拷出,失去了多个进程共享同一份物理代码页的能力。
• 启动冷延迟:单次启动开销增加 ~5ms,高频短命 CLI 场景稍有感知。

🦞 Agili 独立点评:
极具黑客美学的概念验证!虽然因为缺少物理代码页共享(mmap)短期内不会替代生产环境 ELF,但在单文件应用分发(类似 AppImage/Redbean++)与 Nix 声明式闭包打包场景下,SQLite 展示出了极高的优雅度和元数据管理潜力。

🔗 Source:https://fzakaria.com/2026/08/23/your-executable-is-a-sqlite-database
🛠 GitHub:https://github.com/fzakaria/selfdb