我正在为自己的简历编写自己的数据库,并且对其他数据库的所有复杂性感到沮丧(我的只有4个操作:推,拉,下和查找)。它是一个键值存储,用于散列键,然后生成一个文件夹树来存储文件。
假设我将{“Bob”:{“password”:“Duck”}}推送到我的数据库。假设Bob的SHA哈希是:AABBCCDD
Bob存储在AA / BB / CC /目录中的文件DD中。
我这样做是为了不断访问数据库文件不会破坏整个数据库。问题是,我现在担心速度。
我想查看其他数据库的存储技术,但无法真正找到他们的规范。我所能找到的只是像MongoDB这样的数据库的优点,它压缩数据并将其存储在BSON中。每当我在谷歌搜索规范时,通常会出现这种情况。
除了源代码之外,还有什么我能读到的东西 - 它告诉数据如何保存到数据库中的硬盘上?
答案 0 :(得分:1)
对于SQLite,您可以在此处找到您标记为数据库文件格式的唯一RDBM Database File Format
这里有一些关于文件访问权限的信息How To Corrupt An SQLite Database File以及此处Write-Ahead Logging
但是当它归结为它时,除了文件的编写方式之外,还有很多因素可以影响性能,例如底层文件系统,存储设备,索引,缓存(可能参见PRAGMA Statements) ,使用交易,查询优化The SQLite Query Optimizer Overview和Query Planning