2 ms·
To use more conventional terminology, that would be a relational filesystem. Since a filesystem is a kind of database, this is another instance of the break bet
by silentbicycle 17y ago
To use more conventional terminology, that would be a relational filesystem. Since a filesystem is a kind of database, this is another instance of the break between hierarchial and relational databases. Filesystems seem to have largely favored hierarchial DBs (with exceptions, e.g. http://en.wikipedia.org/wiki/Pick_operating_system http://en.wikipedia.org/wiki/Pick_operating_system), since following pointers to files from a containing directory is more direct than selecting from the whole filesystem. Filesystem extensions like symlinks are attempts to selectively add features that would come free with a relational filesystem, though.
Of course, a relational FS would still be broken up into namespaces (tables!), much like conventional filesystems frequently occupy multiple partitions. /sometable/tag+tag2+tag3 , for example, so searching for a file wouldn't necessarily mean searching every drive. There's no reason that making lots of small tables couldn't be cheap (they don't have to be disk partitions), and that would help constrain searching quite a bit.
Also, research into journaling filesystems has major parallels to database transactions.
- alextp 17y agoThat's an interesting way of looking at file systems. I think among the pipe dreams of reiser4 there was a plan to make the fs itself more relational-like (but I also think this was relegated to a plugin and then promptly forgotten).