Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How would you build a database filesystem (DBFS)?

A database file system is a file system that is a database instead of a hierarchy. Not too complex an idea initially but I thought I'd ask if anyone has thought about how they might do something like this? What are the issues that a simple plan is likely to miss? My first guess at an implementation would be something like a filesystem to for a Linux platform (probably atop an existing file system) but I really don't know much about how that would be started. Its a passing thought that I doubt I'd ever follow through on but I'm hoping to at least satisfy my curiosity.

like image 208
Dave Avatar asked May 29 '09 05:05

Dave


3 Answers

DBFS is a really nice PoC implementation for KDE. Instead of implementing it as a file system directly, it is based on indexing on a traditional file system, and building a new user interface to make the results accessible to users.

like image 170
Pale Blue Dot Avatar answered Oct 08 '22 23:10

Pale Blue Dot


The easiest way would be to build it using fuse, with a database back-end.

A more difficult thing to do is to have it as a kernel module (VFS).

On Windows, you could use IFS.

like image 25
Osama Al-Maadeed Avatar answered Oct 09 '22 01:10

Osama Al-Maadeed


I'm not really sure what you mean with "A database file system is a file system that is a database instead of a hierarchy".

Probably, using "Filesystem in Userspace" (FUSE), as mentioned by Osama ALASSIRY, is a good idea. The FUSE wiki lists a lot of existing projects about databased-backed filesystems as well as filesystems in which you can search by SQL-like queries.

like image 40
dmeister Avatar answered Oct 09 '22 00:10

dmeister