Linked by Thom Holwerda on Thu 4th Nov 2010 22:40 UTC, submitted by rhyder
Linux "For a fairly scruffy looking guy, I have a surprisingly healthy approach to organising my files. However, I'm constantly pushing up against the limitations of a system that is based around directories. I'm convinced that Linux needs to make greater use of tagging, but I'm also beginning to wonder if desktop Linux could abandon the hierarchical directory structure entirely."
Permalink for comment 448618
To read all comments associated with this story, please click here.
BeOS DR releases
by henderson101 on Fri 5th Nov 2010 10:03 UTC
Member since:

Until AA (or maybe DR 9, I forget) BeOS had a filesystem completely based around database concepts. It universally sucked and was fairly unpopular towards the end of its life(that might have been implementation or whatever, but it regularly required rebuilding indexes and stuff, even to the point where the BootROM had a "REBUILD INDEXES" option.)

The OFS (as BeOS calls it) was all about tagging and not having specific folders and what have you (though it obviously presented a hierarchical file system, I seem to recall that was more a convenience than anything else.)

The BFS we have today was a "compromise" between database like features (extended attributes, query based searches) and trad file systems.

The problem with querying the "database" is that at any one time you are unsure what state the "entries" are in. A trad file system gains speed because you only need to look in a specific location for the directory list (however that has been implemented, as it does vary across various FS.) With a database like approach (even with extended attributes like with BFS) you get a delay, whilst the tagged files are located. Trad file systems work well because there is a very atomic relationship to the physical data and actual structure. To graft something similar on to a FS and keep all of the metadata up to date (therefore, skip what BFS does, and keep the indexed data fresh so that the lookups are fast) causes dreadful synchronisation issues (as Microsoft found when they first decided to graft SQL Server on to a file system. Performance also becomes slower as the data structures containing the file data expand - plus, with attribute based indexing, an index can be added at any time which might cause a complete re-index.

I dunno, I'm not a FS expert, but I've read Domonic Giampaolo's BFS book (and in fact, just spelled his name correctly be reading it off the spine of the book) and I'd recommend anyone interested in this takes a look at it.

Reply Score: 2