首页 > 解决方案 > 如何在不涉足源代码的情况下找到数据库存储格式规范?

问题描述

我正在为我的简历编写自己的数据库,并且对其他数据库的所有复杂性感到沮丧(我的只有 4 个操作:push、pull、drop 和 find)。它是一个键值存储,它对键进行哈希处理,然后生成一个文件夹树来存储文件。

假设我将 {"Bob": {"password":"Duck"}} 推送到我的数据库。假设 Bob 的 SHA 哈希是:AABBCCDD

Bob 存储在 AA/BB/CC/ 目录中的文件 DD 中。

我这样做是为了不断访问数据库文件不会破坏整个数据库。问题是,我现在担心速度。

我想回顾一下其他数据库的存储技术,但找不到它们的规范。我能找到的只是他们的数据库的优势,比如 MongoDB,它可以压缩数据并将其存储在 BSON 中。每当我在 Google 上搜索规格时,通常都会出现这种情况。

除了源代码之外,还有什么我可以真正阅读的东西,它告诉我如何将数据保存到数据库中的硬盘驱动器中?

标签: databasesqlitedatabase-designbigdata

解决方案


对于 SQLite,您标记的唯一 RDBM 然后数据库文件格式可以在这里找到数据库文件格式

这里有一些关于文件访问的内容可能很有趣How To Corrupt An SQLite Database File和这里​​ Write-Ahead Logging

但是归根结底,除了文件的写入方式之外,还有许多因素会影响性能,例如底层文件系统、存储设备、索引、缓存(可能参见PRAGMA 语句)、事务的使用、查询优化SQLite 查询优化器概述查询计划


推荐阅读