数据库文件系统是一种文件系统,它是数据库而不是层次结构。最初的想法并不太复杂,但我想我会问是否有人考虑过他们如何做这样的事情?一个简单的计划可能会遗漏哪些问题?我对实现的第一个猜测可能类似于 Linux 平台的文件系统(可能在现有文件系统之上),但我真的不太了解如何启动它。这是一个短暂的想法,我怀疑我是否会坚持下去,但我希望至少能满足我的好奇心。
5 回答
DBFS是 KDE 的一个非常好的 PoC 实现。它不是直接将其实现为文件系统,而是基于对传统文件系统的索引,并构建新的用户界面以使用户可以访问结果。
我不太确定您所说的“数据库文件系统是一个文件系统,它是一个数据库而不是层次结构”。
正如 Osama ALASSIRY 所提到的,使用“用户空间中的文件系统”(FUSE)可能是一个好主意。FUSE wiki 列出了许多关于数据库支持的文件系统以及您可以通过类似 SQL 的查询进行搜索的文件系统的现有项目。
你问这个已经有一段时间了。我很惊讶没有人提出显而易见的建议。看看大型机和小型机,尤其是 iSeries-OS(现在称为 IBM-i,以前称为 iOS 或 OS/400)。
如何将关系数据库做为海量数据存储相对容易。Oracle 和 MySQL 都有这些。问题是它必须对最终用户应用程序基本上无处不在。
因此,应用转换的步骤是:
1) 普通分层文件系统中的所有内容
2) BLOB 中的数据,数据库中有少量元数据。包含一些目录信息的文件。
3) BLOB 中的大数据,数据库中有大量元数据和复杂结构。具有与其关联的大量元数据的文件,基本上可以理解结构。
4) 对象中暴露的 BLOB 的内部结构 <--> 具有大量元数据的关系图。虽然可能存在可导出的表单,但应用程序自然而然地与数据库一起工作,文件作为存储库的概念丢失了。