A filesystem is a relational database application. You have a n:1
(directory, filename, inode) table, a 1:1 (inode, access control, file
type, time stamps, ...) table, and file data (variable length, big
blocks) associated with inodes.
Most filesystems don't use relational database technology to store all
these tables. Well, most don't even use "tables" for these entries. But
if you look at how much faster locate is than find, you really see that
database technology has better performance for metadata access. Ok,
Linux caches directory entries, and the second find will give you the
results pretty fast, but after all, the cache creates a partial filled
database of the filesystem metadata. I somehow think it would be easier
to just implement a database backend engine in the kernel - no need to
parse SQL, it's all standard hash tables and simple transactions.
-- Bernd Paysan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/