Filesystems

by havoc

Filesystems
are not the answer
, what we need is a document
store
. None of the open source desktop projects will ever
depend on ReiserFS or similar features. Because these projects have to
be able to work with NFS, GFS, AFS, and across multiple UNIX flavors.

The document store approach is to create the equivalent of an IMAP
server, or WebDAV server, but with a richer set of functionality and
the ability to run locally. Document stores are not filesystems; they
store structured data not byte streams, and while they may have a
hierarchical-namespace “view” the hierarchical namespace isn’t their
core organizing principle.

A key thing to realize: you don’t have to use the same solution for
user data (“home directories”) and system implementation details (the
OS itself, random junk in /tmp). The traditional filesystem is just
fine for the latter. User data can and should be special-cased. You
don’t want user-invisible implementation details showing up in search
results and the like, anyhow.

Another key point is that apps can move to a document store piecemeal,
just as IMAP is useful even though it’s email-only. There’s not a boil
the ocean “get everyone to switch” problem.

Examples of the document store approach include WinFS, GNOME Storage,
Chandler Repository, and the IBM Workplace data store.

(This post was originally found at http://log.ometer.com/2004-07.html#28)

My Twitter account is @havocp.
Interested in becoming a better software developer? Sign up for my email list and I'll let you know when I write something new.