couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Young <byo...@bigbluehat.com>
Subject Learning from BeOS, Haiku, and BeFS
Date Tue, 25 Feb 2014 14:35:18 GMT
I've got a friend in the Haiku Project http://www.haiku-os.org/ and I 
often wonder what's to be learned/gained from their BeFS code/system. It 
(as you may know) looks a lot like CouchDB...but flipped (binary/text 
*is* the thing stored, attributes are the extras).

Every file can have "unlimited" attributes, those attributes can contain 
"anything" (including binary content, iirc), and they're all query-able 
via those attributes:
http://www.haiku-os.org/docs/userguide/en/attributes.html

They even have a nifty little DSL and included UI for building it:
http://www.haiku-os.org/docs/userguide/en/queries.html

Example search for "MAIL" documents:

(((((MAIL:from=="*[cC][lL][aA][rR][aA] [bB][oO][tT][tT][eE][rR][sS]*")
        &&(MAIL:when>=%2 months%))
        &&(MAIL:subject=="*[vV][iI][bB][rR][aA][pP][hH][oO][nN][eE]*"))
        ||(MAIL:subject=="*[sS][kK][eE][pP][tT][iI][cC][aA][lL][iI][tT][yY]*"))
        &&(BEOS:TYPE=="text/x-email"))

Which matches the query more read-ably seen in this screenshot:
http://www.haiku-os.org/docs/userguide/en/images/queries-images/query-window-filled.png

It's also able to save these as "templates" for later use and 
customization (think "Views").

Anyhow, BFS (or BeFS is Linux land...due to Boot FS claiming the letters 
earlier) has been eating my brain since I tried BeOS back when Be, Inc. 
was still shipping free CDs. :) It's likely partly responsible for 
why/how I found CouchDB and why I was in love with XML databases (mostly 
eXist) prior to that.

Oh, also, if you've not read this (and you're into filesystems and 
databases), you should check out this PDF:
https://www.haiku-os.org/legacy-docs/practical-file-system-design.pdf

It's an oldie but a goodie. :)

Thanks, all,
Benjamin

Mime
View raw message