Slashdot Mirror


How To Implement A Database Oriented File System

ALundi writes "A really great read from Andrew Orlowski over at The Register on how Benoit Schillings and Dominic Giampaolo created the 64-bit journaled and attribute based Be File System. Schillings and Giampaolo discuss a variety of design and implementation issues, including data integrity and file system performance. " Interesting in the context of MSFTs plans to implement a DB filesystem in future versions of MS Windows.

8 of 232 comments (clear)

  1. Database-like by fm6 · · Score: 5, Insightful
    It's important to note that they ended up with something "database-like" rather than a true relational DBMS. That distinction is often overlooked (not least by MySQL enthusiasts!) and is pretty important. The thought of a workstation file system that has all the performance and maintenance issues of a "real" DBMS strikes me as pretty scary.

    XFS is also "database-like". But BFS seems to be rather more ambititous an effort -- and very intriguing.

    This is one of several BeOS features that the Open Source community should reall consider stealing. But let's consider these features individually, with one eye on whether they're likely to achieve acceptance outside the ranks of BeOS enthusiasts. Let's not waste time on wholesale BeOS clones and compatibility layers. Those are exercises in denial. BeOS was a nice piece of work, but it's as dead as CP/M. Deal with it.

  2. Possibilities by Justen · · Score: 3, Insightful

    The possibilities with the Be file system were pretty much infinite. There were little things in the OS that would show you this, the address book and email "client" being some great examples. It was incredibly powerful. The only problem was when transporting files from one operating system to the other. And, even in this, Be did an admirable job.

    My fear, and I think the reality is that Microsoft will not be so kind.

    jrbd

  3. I used to like this idea. by Oggust · · Score: 3, Insightful
    But there are some very real problems:

    • Portability: Have you ever tried to move data from DB system to another? Not fun! There need to be some standards! There is such a thing as SQL-92, but nobody uses it yet. Yet? Right...
    • Portablility again: Isn't it nice today how you can get a tar file from just anybode, and it will just untar on your system, even if you haven't got the same OS and filesystem as the guy you got it from? Well see the previous point.
    • Performance, but that's possibly not that big a deal: A database can do a lot of work "server side". What do you think will happen to the system load on a big multi-user system when some moron submits a huge SQL query with all kinds of weird joins and stuff?

      Not much user, lots of system and iowait, that's what. We run into a whole new realm of needing accounting for these kinds of things.

    /August.

    --
    "An object declared as type _Bool is large enough to store the values 0 and 1." -- 6.1.2.5, C99 standard.
  4. Re:Integrated database computers: IBM AS/400 by gabrieltss · · Score: 3, Insightful

    Mod this up!

    This guy has it right. I have been working AS/400's for YEARS! The OS is built around the DB2 database. And IBM beat MS to the idea a long time ago. But, MS likes to make everyone think they actually "Innovate" things. When in fact they don't! They buy up companies, steal technoligies etc... The only thing MS has perfected is the marketing engine. And yes it is true MS uses AS/400's. In fact MS wanted me to come interview to work on their team that did the MS--> As/400 integration work. (I told them to blow me, I wouldn't work for a company I dispised!).

    --
    The Truth is a Virus!!!
  5. Re:New FS Engineer at Apple! by loosifer · · Score: 3, Insightful
    what's so bad about file extentions??

    Ugh, don't get me started... Here's a short list:

    • Only a single piece of metadata can be stored (filetype)
    • Combining data (filename) and metadata (filetype) kind of belies the definition of metadata in the first place
    • It can get very confusing to see things like file.txt.rtf
    • The tendency of systems to want to hide the extension, and the resulting confusion when your FTP client says the file is named stuff.zip but your interface just says "stuff"
    isn't it easier and faster to look at the filename than metadata and file contents??

    Only if the metadata is stored in some other inode.

    In the case of BFS, the inodes are always 1024 bytes, but the inode information is only about 300 bytes; that meant that BFS had 700 free bytes in the inode--free in the sense that they don't take up any more space, but also free in the sense that you don't need to do an extra seek or an extra read to get them. Now that's free! You can go about 700 bytes, but then it needs to allocate more blocks (I don't know if that requires another inode, though).

    Also, in this case, even if it is just slightly faster to look at the filename, you lose every other possible metadata feature, just to get an essentially unmeasurable increase in performance. I'd take BFS and all of its features at half the speed if I could use it on any OS I wanted.

  6. Re:AD doesn't yet have wide acceptance, DBFS doome by Malcontent · · Score: 3, Insightful

    All of that means that all corporation will eventually be forced to migrate to AD whether they like it or not. How corporations pay to get their options taken away from them and make themselves bitches for MS never ceases to amaze me. The CIOs of america are awfully fond of saying "thank you sir may I have another!".

    --

    War is necrophilia.

  7. Re:New FS Engineer at Apple! by curmi · · Score: 3, Insightful
    Have they finally realized that they will shortly be THE ONLY operating system that still relies on file extensions as the primary way of identifying files?

    You gotta love how every Unix/Linux/Windows user now talks about how file extensions are so bad. A few years ago these same people used to say how crap Apple's idea of meta data was, and that file extensions were better (cross platform, etc, etc). The arguments that I've had with Unix people at different places I've worked. It seems to take the rest of the world at least 10 years to catch on to ideas...
  8. Re:Unix lags by BeBoxer · · Score: 3, Insightful

    Well put. The BeOS filetypeing is far and away the most robust of any OS I've ever worked on. I've got an audio application I've written which leverages attributes as much as I can. One of the neat tricks I can do is that I save playlists as folders. A "playlist" folder contains links to either individual songs or entire folders. It can also contain "query" files which perform searches on the file attributes. I actually create normal folders in the Tracker, and then assign them to open up with my application instead of Tracker. So if you double-click the folder, it runs my app and loads the playlist. If you want to muck with it manually, right-click and open it with Tracker. I don't know of any other OS that gives me that much flexibility.