Database Filesystem? (Was Tracker in Edgy?)
Thom Holwerda
slakje at quicknet.nl
Sun Jul 2 11:58:02 BST 2006
> A bunch of years ago, the creators of BeOS did some brilliant things,
> one of them were their filesystems. This information is second-hand, I
> have not investigated the BeOS filesystem much myself, but from what
> I've heard, their filesystem were split in half, where as one half
> were treated as a regular file-tree, and the other as an indexed,
> unsorted database of object-like entities.
BFS, the BeOS File System, 'simply' made use of per-file attributes,
metadata, which you could search and query as if a relational db. This
approach has positives as well as negatives:
Positives:
1) For starters, it is FAST. I mean, not fast as in Spotlight-fast or
Beagle-fast, no: instantaneous. When you make a query in BeOS, the
results are displayed *immediately*. No lag, nothing. When you search
for all unread emails (emails are stored per file in BeOS), the results
are there right after clicking 'search'-- whether you have ten thousand
unread mails, or just one.
2) BFS queries are always live. They update in real-time. You can store
them as if directories. This sounds an awful lot like Spotlight-- no
wonder, if you know that many ex-Be engineers went to work at Apple.
Negatives:
1) No in-document search. You can only search the metadata/attributes,
not the actual contents of the file.
2) Complicated. The BFS query system is so darn advanced, it makes
little kids cry. It is extremely powerful, allows for new attributes to
be created by anyone and any application, which may lead to a wild
growth of attributes to dig through when trying to make a query. There
are a lot of operators as well, and you can add unlimited conditions to
each query. Power at the expensive of user-friendliness. You can combine
searching for emails and people files (address book entries in BeOS are
also stored per file), or make whatever other exotic combination. The
power of BFS queries is best displayed through IM_kit [1], which is a
sort of instant messaging API which uses queries to display its
contacts, while also adding attributes which tell what protocol each
contact uses, etc. etc.
In other words, I suggest a more Spotlight-like approach to this matter;
yes, it is less powerful, slower, and expandable as BFS; however, it
provides in-document search in a user-friendly manner.
Thom Holwerda
---
Managing editor at http://www.osnews.com
[1] http://eiman.tv/imkit/index.html
More information about the ubuntu-devel
mailing list