Re: Summary of how linux can best avoid the need for streams

Bernd Paysan (bernd.paysan@gmx.de)
Wed, 30 Jun 1999 10:07:22 +0200


Frank Butter wrote:
> just an idea (maybe it's not that new, plz don't flame me...).
> couldn't one think about a filesystem beeing just a database
> including several possibilities of structuring
> (structure as a method defined right before access fitting the
> specific needs of that access) and with several levels of access
> allowing different "views" for different userlevels?
> of course, this is just a theoretical view, there still would have
> to be found a proper implementation allowing a
> reasonable performance...

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/