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.

232 comments

  1. We already have a "database" file system... by Anonymous Coward · · Score: 0

    It's called mysql.

    1. Re:We already have a "database" file system... by MsGeek · · Score: 3, Informative

      No, it's called the Classic MacOS. The Mac has used a database to store files and their attendant metadata since HFS was introduced.

      It uses B-Trees which if you RTFA is thought not to be a very good solution, but it was revolutionary for its day.

      The idea of having a resource fork to all files, a little name badge for every file that tells file type and creator type, is tremendously helpful too. However, the resource fork on Classic MacOS files tends to corrupt at the drop of a hat, rendering this little innovation, also introduced with HFS, fairly useless.

      Oddly enough, however, I find good ol' MacOS fairly robust...so much so that there is no need to reformat and reinstall on a regular basis. Its memory management sucks, but aside from that glaring problem it's a beautiful operating system. I have PCs running Windows and PCs running Linux here at Catseye Labs, but it's my good ol' G3 that I do most of my work on.

      --
      Knowledge is power. Knowledge shared is power multiplied.
    2. Re:We already have a "database" file system... by cmkrnl · · Score: 0, Flamebait


      its called,

      "you are an idiot suffering congenital clue deficiency"

      Curmudgeon

    3. Re:We already have a "database" file system... by Anonymous Coward · · Score: 0

      The best part of MacOS was the Desktop Database, which freed users from having hard-coded paths in most cases. That single little thing is the bit that makes Macs more resiliant and cheaper to run as desktop systems than either Windows or Unix.

    4. Re:We already have a "database" file system... by spitzak · · Score: 2
      I don't think Mac resource forks were really considered the same thing. The data in them was usually only read by the same program reading the "main" data, and the id's of each piece of data was usually only figured out by careful analysis of the main data (ie a program ran and said "i want resourc x98734 from my executable file"). Also as you point out the creator/app id's seemed to be seperate from the resource fork, what most people are thinking about here is a way to store data like creator/app and thus different from the intentions of resource forks.

      In my opinion unless there is a trivial method to reduce ALL the data of a file to a single stream of bytes that can be read/written with Unix-style calls, this is doomed to be a failure and a return to 1960's "pip" programs. MicroSoft would love this (it would quickly make all file transfers proprietery) but it would be a disaster for all software development.

      Unfortunately I see no sign that anybody is going to address this. Even older Unix's have "attributes" like name/time/date/owner/permission and there is no way to communicate these without the program knowing about each of them and making up it's own encoding.

    5. Re:We already have a "database" file system... by Anonymous Coward · · Score: 0

      Ever read the ELF spec? Seriously, maybe you should...

    6. Re:We already have a "database" file system... by MisterBlister · · Score: 2

      ELF is only widely used for executable files. So... while it somewhat fits the bill its not that relevant to the bigger discussion here of file metadata that is completely independent of filetype.

    7. Re:We already have a "database" file system... by poiuyt23 · · Score: 1

      Y'know this may be modded "flamebait" but that was my first reaction. Comparing HFS resource forks to the ability in BeOS of creating your own file attributes means the origanal poster didn't understand the article. HFS does not allow for creation of your own objects in the file system - BFS does - without rewriting the file system.

  2. BeOS file system rocks. by morgajel · · Score: 5, Interesting

    I used Be on and off for about 6 months. Once you get the hang of it(the filesystem), you see the true power- especially with the address book.
    If you want some real insights into the OS as a whole, check out the BEOS Bible. not so good if you want an in depth discussion, but for non-kernel hackers it's a fun read and very informative.
    Read the section explaining how their address book works. it's really cool.

    --
    Looking for Book Reviews? Check out Literary Escapism.
    1. Re:BeOS file system rocks. by Petrox · · Score: 1

      Hey, and Giampolo's now been hired by Apple according to the article. Wouldn't be surprised if we'll be seeing some of these same goodies in MacOSX shortly.

      --
      sig my booty, check my website
    2. Re:BeOS file system rocks. by poiuyt23 · · Score: 1

      If you want insight into the filesystem check out "Practical File System Design with the Be File System" by Dominic Giampaolo. This book is fairly nuts and bolts about how Dominic wrote the BFS.

  3. Reminds me of the BeOS 5 Bible reading on this. by redhatbox · · Score: 4, Informative


    If I remember correctly, Be originally used a "true" database backend as the filesystem, but ran into performance issues compared to the R5 fs implementation. I can't help but wonder how many of these issues were largely due to the speed of the technology used at the time.

    I suppose it depends on your application, but I know a lot of web-based platforms already use true db backends (Oracle, PostgreSQL) to handle all data storage, representing a filesystem as a hierarchial set of rows in numerous tables. I've written several applications this way, and am currently working on a content management platform which also uses this model. Need to make a change to the filesystem structure (adding attributes, changing the security model)? Just modify the DB structure and you're done, especially with databases like PostgreSQL where you can use the database engine itself for a *lot* of functions (via triggers, stored procedures, security settings, etc).

    As more and more functionality is brought into web-based application environments, I can see the importance of "old style" filesystems starting to fade somewhat for a lot of apps. Yes, they'll still be necessary (the database itself has to reside somewhere, obvisouly), but not in the same way they used to be. Just a few thoughts :).

    1. Re:Reminds me of the BeOS 5 Bible reading on this. by JordanH · · Score: 3, Informative
      If you were using Oracle, you could take advantage of iFS to provide a file system integrated with your database.

      It's a true (NFS, SMB) mountable filesystem, with all the flexibility that provides, but also the replication and other Enterprise features you want from a database.

    2. Re:Reminds me of the BeOS 5 Bible reading on this. by redhatbox · · Score: 2, Interesting


      I checked over the specs for this over at the Oracle site... looks impressive! Now, if only you didn't have to use Oracle to take advantage of this sort of thing; PostgreSQL is standing in first place as my database platform of choice for most tasks.

      Is there any kind of equivalent work being done in the OSS community, perhaps based on PGSQL? The platform I'm working on for web-based content management is actually headed toward being usable (and will be licensed under the GPL as soon as that happens), but doesn't use the "real" system FS for storage at all. BLOBs are used for file storage instead, and performance seems to be fairly good :). Of course, now that I've said that the Gods will strike me down...

      I suppose the best way to go is to structure the system such that it can be used for intranet-style doc/file management, in addition to being able to dish up web-based content (whether for internal or external access/use). We'll see how it shapes up, I guess :).

      Hardware has come a long way since the days of BeOS 4 (I believe that's the last version that used a "true" database backend for the filesystem). With the added power we have these days, it seems the old performance issues might be largely eliminated. Now, I'm not trying to portray myself as an advocate of "throwing hardware at a software problem"; to me, it's really more a case of "we can now do things we couldn't do before." This is somewhat akin to being able to do better 3D modelling on PCs due to new capabilities in 3D hardware acceleration.

    3. Re:Reminds me of the BeOS 5 Bible reading on this. by Anonymous Coward · · Score: 1, Interesting

      You might want to look at this a little more in depth.

      There are some major issue with this as a general file system. Orcale seems to want to push users interaction with the server/file system via a web client. If you use the SMB share or NFS share, you loose most if not all of the advance feature like versioning, check-in/out, etc. And don't even think about using the NFS extensions as they don't even support file locking!

      Also, take your current storage space and triple or quadruple it to get the same effective space with the overhead induced by storing it in Orcale. (It took our company several weeks to get this rule of thumb out of Orcale as it is not in any of the docs.)

    4. Re:Reminds me of the BeOS 5 Bible reading on this. by rycamor · · Score: 1

      Someone actually did attempt this with PostgreSQL, back in '97, but I think the project got shelved: http://www.linuxjournal.com/article.php?sid=1383

      Maybe it's time to revive it...

    5. Re:Reminds me of the BeOS 5 Bible reading on this. by Anonymous Coward · · Score: 0
      Need to make a change to the filesystem structure (adding attributes, changing the security model)? Just modify the DB structure and you're done, especially with databases like PostgreSQL where you can use the database engine itself for a *lot* of functions (via triggers, stored procedures, security settings, etc).


      I did something like that in little to. My favorite advantage is that a database-object can inherit properties from another one.
      So its possible to implement a individual logic to store information for each project, but yet avoiding diversity, if each information-object is just extended from an central concept.
  4. This is great! by msm1th · · Score: 0, Troll

    The implications for quantum computing are staggering!

    1. Re:This is great! by Anonymous Coward · · Score: 0

      Imagine a Beowolf cluster of this!

      -castlan

  5. If its so easy . . . ? by The+Gardener · · Score: 1

    A lot of people think journaling is a really difficult, complicated thing. But that was actually the easiest part by far. BFS journaling is maybe a thousand, maybe twelve hundred lines of code it was really not difficult. And people make it into this monstrous complicated thing. But again, we do things like change the disk buffer cache so the 64bit features that were needed to do journaling were supported.

    In SGI's XFS, their journaling is bigger than all of BFS!

    If its so easy, why don't all file systems implement such goodness? Personally, I'd love to see this everywhere.

    The Gardener

    --
    --
    1. Re:If its so easy . . . ? by bentini · · Score: 2

      Because it changes things. Programs that wipe data no longer work, because the data no longer goes to the same place. Basically, it makes it harder to hack on the system and understand it.
      While it's great for performance, it changes how people understand filesystems. This isn't necessarily a bad thing, it's just a change.

    2. Re:If its so easy . . . ? by Covener · · Score: 1

      Journalling great for performance? I thought performance was what you lose in the tradeoff?

    3. Re:If its so easy . . . ? by chill · · Score: 2

      It depends.

      SGI's XFS uses and agressive advanced cache system and pre-allocates sectors. What this means is that small files, like temp and working files, never actually make it to the physical disk. They are cached and used from the cache. If they are short lived, then no disk I/O occurs at all.

      Pre-allocating sectors means the system can study where the best location for the file is before it actually gets written. This not only minimized fragmentation, but it also speeds up writes.

      --
      Learning HOW to think is more important than learning WHAT to think.
    4. Re:If its so easy . . . ? by rusty0101 · · Score: 1

      And subsequent reads. (no waiting for the disk head to seak the next cylinder half way across the drive.

      Of course this is only really applicable to single user low volume read/write applications.

      The true goal of Journaling is still to reduce the recovery time for a power failure. In a highly interactive multi-concurrent-user system, Journaling will have an impact on the responsiveness of the hard drive.

      Then again, I have been known to be wrong...

      -Rusty

      --
      You never know...
    5. Re:If its so easy . . . ? by Covener · · Score: 1

      Does the cache management depend on the journal? I do understand that as filesystems mature, you can afford to give up a touch of performance for reliability (because presumably you are making a 'better' filesystem).

  6. New FS Engineer at Apple! by entrylevel · · Score: 3, Interesting

    ...while Dominic, we are delighted to learn, has subsequently joined Apple as a file system engineer. (He started last week)...

    Does this mean that Apple is finally going to put some kind of reasonably modern filesystem under OS X?

    Have they finally seen the true genius behind their own iTunes interface?

    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?

    I truly hope that this snippet is as wonderful as it sounds, as it may finally restore my faith in Apple, as well as cure me of my unhealthy Debian and XFS addiction.
    --
    Karma: Incomprehensible (Mostly affected by posting at +5, reading at -1, and metamoderating everything unfair.)
    1. Re:New FS Engineer at Apple! by Anonymous Coward · · Score: 0

      what's so bad about file extentions??
      isn't it easier and faster to look at the filename than metadata and file contents??

    2. Re:New FS Engineer at Apple! by Queer+Boy · · Score: 1
      Does this mean that Apple is finally going to put some kind of reasonably modern filesystem under OS X?
      You obviously haven't read much about the HFS+ Volume Format. It's very interesting and even extensible, the problem is none of the advanced features of it are being used by Apple.

      The real beauty of the BeFS wasn't the journaling (that's been done before) it was the ability to let the user define their own meta-data. That's the sort of thing Apple really needs to add to Mac OS X (that and eliminating extensions and Type/Creator in favour of MIME types).

      --
      Not since Marie-Antoinette played milkmaid has looking simple and honest been so fake and complicated.
    3. Re:New FS Engineer at Apple! by mrseigen · · Score: 1

      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?

      They still have Metadata, to an extent.

    4. Re:New FS Engineer at Apple! by Millennium · · Score: 2

      isn't it easier and faster to look at the filename than metadata and file contents??
      Not in a modern interface, it isn't. And it's also far too easy to screw things up; a file's association shouldn't change just because its name does. Storing immutable data like association in a mutable location like the filename is a hack that should never have been used. It's a great shame to the industry that it ever was.

      But then, that's Microsoft for you. Pushing inferior standards onto everyone else.

    5. Re:New FS Engineer at Apple! by entrylevel · · Score: 1
      You obviously haven't read much about the HFS+ Volume Format [apple.com]. It's very interesting and even extensible, the problem is none of the advanced features of it are being used by Apple.

      Actually I am quite aware of the capabilities of HFS+, but at the same time I am very disappointed in the use those capabilities are getting. It would be a small feat (for a filesystem engineer, not me) to add completely extensible metadata support and basic journalling to HFS+. Instead, Apple (at the moment) seems to be foresaking every good aspect of the filesystem except for long file names. Perhaps because they realize the performance/reliability they would gain by moving all the metadata out of the filesystem into a RDBMS.

      In reponse to "what's wrong with file extensions?": nothing, unless they are used as the sole method of identifiying files. While this isn't quite the case in OS X, the guidelines seem to state (once again, at the moment) that it will be.

      There is nothing wrong with file extensions, just the same as there is nothing wrong with the creator/type system. However, when you use one and not the other, you are losing capabilities.

      File extensions allow any system, regardless of file system, to tell what a file is supposed to be. Creators and types allow the user's computer to know what application the user wants the file to open in. Magic-number checks tell the computer definitively what the file contains.

      I'm not biased towards or against any of these systems. I want the best consumer-oriented UNIX in the world to have them all!
      --
      Karma: Incomprehensible (Mostly affected by posting at +5, reading at -1, and metamoderating everything unfair.)
    6. Re:New FS Engineer at Apple! by Rommel · · Score: 1

      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?

      I think MacOS uses data they store in the resource fork of a file to determine what type of file it is and what application created it. This allows different files of the same type to be opened by different applications, and doesn't require *any* file extension.

    7. Re:New FS Engineer at Apple! by SirRichardPumpaloaf · · Score: 1

      What are you talking about? HFS+ can store metadata, and OS X can use Creator/Type information. Apple has added the ability to use file extensions to make interoperation with you Windows/Unix knuckle-draggers easier, but the metadata capabilities are still there.

    8. Re:New FS Engineer at Apple! by Anonymous Coward · · Score: 0

      Oh, please. Filename extensions were in use for years and years before DOS even came along - don't pin this one on BillG and crew.

    9. Re:New FS Engineer at Apple! by gowmc · · Score: 1

      Yeah, but its (largely) their fault we are stuck in a file extension based world.

      --
      -- If it aint broke, fix it till it is. --
    10. Re:New FS Engineer at Apple! by Professor+J+Frink · · Score: 1
      And as long as I'm using a shell in an xterm I damn well hope we stay there. I like being able to see what the hell my files are from a simple text listing and collections of files like: thesis.tex thesis.dvi thesis.ps thesis.aux thesis.pdf and so on become impossible or have to be done with tedious hacks afaict. Look, here we are in a textual medium and I don't have to tell you what those files are, as the extension covers that (assuming you know LaTeX files, which a non-extenstion-based system is hardly going to help you with anyway).

      Extensions aren't ideal but they're useful in a number of ways, particularly at the shell level, metadata can often be as arbitrarily assigned as a filename extension (I like a system that allows *me* to assign the types of my files if I wish, particularly in the realm of text files). IMO anyway.

      --
      "Don't get mad, get a monkey!"
    11. Re:New FS Engineer at Apple! by Vanders · · Score: 2, Insightful

      Tedious hacks? Tell me, how do you view meta-data in an xterm at the moment? Have you ever done ls -l in a shell? See that extra information, thats meta-data. Why would it be so hard to add a flag to ls so you can view the "content-type" meta data?

    12. Re:New FS Engineer at Apple! by poiuyt23 · · Score: 1

      I'll take journaling before metadata. I quake in fear when OS X crashes hard and I need to do a hard reboot that the system has gone completely kabloie. A Multi-threaded filesystem would be cool too - I believe that it isn't implemented yet. The kind of speed gain for raid systems (which professional Apple users need) would be incredible. HFS+ still has catch up to do.

    13. 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.

    14. Re:New FS Engineer at Apple! by cpt+kangarooski · · Score: 1

      No, the data is stored in the filesystem. The resource fork is a secondary channel for storing information, very much akin to streams on NTFS.

      Resources are generally intended to be non-compiled UI elements, if that makes any sense. So that you can, for example, rewrite the strings used by the program in menus, dialogs, etc. w/o having to mess around with the underlying code or recompile. Thus translators don't have to also be programmers.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    15. Re:New FS Engineer at Apple! by cpt+kangarooski · · Score: 2

      No one said you can't use extensions for your own convenience! If names are totally arbitrary and flexible, you can _still_ name a file foo.txt if you want.

      It just is ignored by the computer if a more accurate source of that information is available, e.g. a MIME type set by the last app to edit the file, which is more informative, e.g. text/plain; charset=unicode.

      If this information _isn't_ provided, it can be attempted to be gathered by several means, all of which might be tried in turn. If the suffix matches, a temporary (because it isn't perfectly certain) metadata descriptor might be attached. It might be analyzed by the computer using the magic number system under Unix. The user might be asked if he knows the first time he attempts to open it. Or an opening program might recognize it and explicitly save it with this information.

      Furthermore, there's nothing preventing there from being an OPTIONAL setting that would append suffixes to apps based upon the true metadata.

      Suffixes in the file name are about the suckiest thing that ever sucked suck... if they're where type metadata is chiefly stored and looked for. As an option for people that enjoy 'em, no one is saying that they should be eliminated. No one.

      I'd suggest reading some of John Siracusa's articles for further reading.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    16. 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...
    17. Re:New FS Engineer at Apple! by Citizen+of+Earth · · Score: 1

      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!

      Is there a new definition of the word "free", or is the inode normally wasting 700 bytes?

  7. Dominic's Book by jimm · · Score: 5, Informative

    Dominic's book, Practical File System Design with the Be File System, is wonderful. I'd never delved into the innards of a file system before. Reading his book was enjoyable and interesting. I learned quite a lot.

    --
    Transcript show: self sigs atRandom.
  8. AD doesn't yet have wide acceptance, DBFS doomed by lostnicky · · Score: 2, Informative

    MS is have trouble getting major clients to switch to Active Directory. I think there is little chance a DB base FS will be accepted in any reasonable time frame.

  9. 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.

    1. Re:Database-like by Anonymous Coward · · Score: 0

      You'd better tell the people at www.openbeos.org that BeOS is dead; they're trying to rewrite the whole damn thing!

    2. Re:Database-like by fm6 · · Score: 1, Offtopic

      Denial is not just a river in Egypt!

    3. Re:Database-like by tswinzig · · Score: 2

      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.

      Yes, BeOS is dead. Long live OpenBeOS.

      --

      "And like that ... he's gone."
    4. Re:Database-like by Vanders · · Score: 1

      This is one of the several BeOS features that the Open Source community should reall (sic) consider stealing

      Yes, I agree, we desperatly need to write a 64bit Journalled FS with Attribute meta-data support. Someone should read Dominics book and implement the ideas.

  10. Mirror by Alan_Thicke · · Score: 0, Funny
    --
    Alan Thicke's Journal
    My Slashdot ads say "
  11. Re:Noooooo! by jeffehobbs · · Score: 1, Funny

    and the weird thing is that he was not drinking Mountain Dew at the time

    ~jeff

  12. Microsoft's database'd os by Kizzle · · Score: 1

    Recently to take attention away from Be, microsoft has been bragging about there database'd operating system. According to a microsoft rep, "our operating systems have allways been database'd, everything in windows is based on data".

    1. Re:Microsoft's database'd os by SirRichardPumpaloaf · · Score: 1

      Take attention away from Be? What attention? I suppose next you'll be accusing them of a FUD campaign against the Coleco Adam.

    2. Re:Microsoft's database'd os by Anonymous Coward · · Score: 0

      What, a joke?

      Idiot.

  13. Excuse me but... by CoolVibe · · Score: 1

    Aren't filesystems by itself hierarchical databases? What's all the fuss about?

    1. Re:Excuse me but... by Anonymous Coward · · Score: 0

      New article topic:

      "Today Slashdot Readers Discover Abstraction"

      There is nothing new here, except higher levels of abstraction going on. ext2 and VFAT are both databases. Anything which contains and organizes data is a database. The article topic is misleading and incorrect. All file systems are, are databases which have been abstracted to contain a "files" metaphor. They associate a "file name" with actual "file data." The talk going on here is associating file names and data with "file metadata." Nothing really special, though.

      What, IMO, would be special is "How to replace a file system metaphor with an object metaphor." Or something along those lines. File abstractions, IMO, are old and beyond their practical use. No more idiotic, meaningless file names! It ends up being information overload, rather than an actual use in many cases.

    2. Re:Excuse me but... by rycamor · · Score: 2, Insightful

      And heirarchical databases were replaced in the 70s by the relational database model because it was impossible to effectively deal with data if you are restricted to a simple heirarchical view.

      Here's an analogy: Heirarchical databases are to relational databases as the GOTO statement is to object encapsulation.

      This might explain why some of us get so frustrated at being forced to continually "navigate" up and down our "folder" heirarchies with the "tree widget". That's just a graphical metaphor for 60s computer technology.

  14. wrong way round by DrSkwid · · Score: 2, Interesting

    for the majority of databases the data should be moved to the filesystem no the database.

    Simple joins, and most of them are can be replicated with links if necessary. Almost all the databases I've seen would lose little from moving out of the DB and into the filesystem.

    It doesn't scale to complicated joins and huge datastores with complex triggering but for most stuff it simply isn't used.

    Too many developers have the mindset of placing tree based data into RDBMS which adds complexity.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:wrong way round by JordanH · · Score: 5, Interesting
      • for the majority of databases the data should be moved to the filesystem no the database.

        Simple joins, and most of them are can be replicated with links if necessary. Almost all the databases I've seen would lose little from moving out of the DB and into the filesystem.

      But then, you lose all the advantages of database journaling (not just integrity, the ability to rollback to a previous state, if necessary), consistency (you have to make sure the files can't be accessed by other operations before the commits are done) and replication.

      If I were building an application today with Oracle, I would be very tempted to use iFS for these reasons.

    2. Re:wrong way round by Courageous · · Score: 2


      Surely thou jesteth! open() has to be one of the most expensive unix system calls! What you're proposing would move slower than cold molasses.

      C//

    3. Re:wrong way round by DrSkwid · · Score: 2

      But then, you lose all the advantages of database journaling (not just integrity, the ability to rollback to a previous state, if necessary)

      Tis true, again for the majority of dbases this simply isn't a problem anyway. Week after week I am presented with projects that have "we store the data in a MySQL database" when there really is no operational need for such a system.

      Plan9 and Hurd with synthetic file systems and filters also present an extension to the simple disk based file system. I'm not for a minute suggesting thrwoing all that indexing and query optimisation away where it's needed.

      Rememebr the ask slashdot a while ago about "how can i keep track of my photographs". People were seriously suggesting Oracle and MySQL. All of his data would fit on a floppy and proably into the memory of my microwave oven or car stereo!

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:wrong way round by DrSkwid · · Score: 1, Informative

      fast enough is fast enough

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    5. Re:wrong way round by Me2v · · Score: 1

      for the majority of databases the data should be moved to the filesystem no the database.


      I heartily disagree. Databases provide a quick and easy way of accessing data. Some data, such as photos, may be better of stored on a traditional filesystem, but you assertion that for the majority of databases is way off base, and indicates lack of experience within the industry. My entire job, and that of my colleagues, centers around programming applications to create, update, and maintain databases. The information we store could not be stored in the filesystem with any amount of security or safety. Most of the IT departments in neighboring corporations are much the same.



      For Web-based corporations (Travelocity, Expedia, Amazon...), the same is pretty much true. A company with 20 to 30 32-CPU Irix machines is better off using a database backend for storing images and content. It makes more sense to utilize the indexing and storage capabilities of a database, both from a business perspective and from a safety/security/backup perspective. I know from personal experience it is much, much easier and quicker to restore a database than to restore a system (which is often necessary when a filesystem is corrupt).



      Even for casual home use, a database-like system could provide benefits. It could make storage of such things as photos easier (for those without CD-Burners, e.g.) I definitely would recommend against using an RDBMS for file storage for the casual user. Most people here, I believe, are in it for the fun factor, though. Simply for the fun factor, using an RDBMS makes sense. For the practicality factor--not so much. However, in my experience, in the typical database useage scenario, what is in the database belongs in the database, and is best used in the database.


      --
      Matthew Vanecek For 93 million miles, there is nothing between the sun and my shadow except me. I'm always getting i
    6. Re:wrong way round by DrSkwid · · Score: 1

      I think 10 years in database development qualifies me to comment

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    7. Re:wrong way round by rycamor · · Score: 1

      On the first point, you are absolutely right. If data integrity and constraints (not to mention normalization, rules, views, and triggers) are beyond your needs (or your understanding), then you should not be using them. But then again, if a company depends AT ALL on this data, then the above are critical.

      On the second point, again you are correct, IF all you want to do is slavishly mirror the Stone Age concept of heirarchical containers and contents, rather than take advantage of the capabilities of a true relational database.

      The real thing is, why heirarchical filesystems in the first place? This is just an old, old concept called the heirarchical database, which was abandoned in the 70s by anyone needing serious data storage and manipulation. IMHO, heirarchies are limiting, especially for the end user, forcing you to continuously "navigate" from one container to the next, just to see your data.

      But think about the advantages for computer users, if there were a true RDBMS under the hood, and they could do such a thing as enter:

      1. "Show me all files accessed by user Steve since last Tuesday".

      2. "Which of those files were part of project X?"

      (clicks on third file, chooses "Action Item")

      3. "Do not allow Steve to update, unless he checks with me".

      (or even)

      4. "Show previous version of this file" (or) "Show contents of this file two weeks ago"

      Think the above is a pipe dream? It is completely possible, even using today's technology. I'm not proposing that the computer's search facility have an AI system that can recognize human conversation, but just that it can accept a simple declarative subset of English (or whatever language) and convert that to the appropriate queries. (Of course the computer user would have to be taught how to use the language, but it could be very intuitive).

      Versioning information? Sure! Most users have 50 times the hard drive space they actually need already, and the database would not have to store a complete copy of every file version, but just the diff.

      "Action Items"? Another way of saying "triggers".

      And think of the widgest that GUI designers could create if documents and even parts of documents can be related by all kinds of criteria that computer users must now keep in their heads:

      (Let's see, I was keeping the SlapCo proposal in my "Props" folder, but I need to remember to customize the standard disclaimer in my "Legalese" folder, so I am saving a copy into "Props", but I must remember that this change only applies to this agreement, and I must not copy the changed version back into "Legalese", or I am screwed.)

      Yes, so a document management solution could handle this. Exactly!!! Every filesystem should be a document management solution. And if I hear another complaint about performance, I am going to spew. The average user is not even using 1% of a computer's power 99% of the time. Let's put it to some good use for a change.

    8. Re:wrong way round by Courageous · · Score: 2

      As IF. As it happens, I've _seen_ databases written with objects across file systems. You... you, are just speculating. It's a bad guess.

      C//

    9. Re:wrong way round by DrSkwid · · Score: 2

      I have production stuff that uses the FS

      It causes no problems and brings me benefits

      RDBMS are overused and seem to be applied as a first resort

      man sort
      man join

      they work just fine

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    10. Re:wrong way round by Courageous · · Score: 2

      And if you're accessing this structure with any frequency, it's likely the _primary bottleneck_ of your system. If your system doesn't require any performance, that's fine. There are, by the way, choices other than RDBMS. OODBMS, for example.

      C//

    11. Re:wrong way round by DrSkwid · · Score: 1

      I know, you are right.
      I'm saying that the RDBMS is overused.

      tbh I'm also coming from a position where it's not really a disk based file system but the data is presented as though it is one. plan9 uses file servers that present data as though it's a normal FS. You can build whatever tools you want in between the user and the data but the important thing is that it's all done by mounting the server in the namespace.

      Using this approach the delights of not having different middleware toosl for each datastore have been revealed to me. plan9 uses the simple tools of open, read, write, and close. Using links and joins I have used the technique equally successfully in freebsd for my 50k user website and see no significant peformance loss.

      I know it wont scale but I'm far from the upper limit.

      I see a lot of projects with more modest demands and yet there's the RDBMS stuck in the middle.

      My oringal assertion was that in a lot of cases there simply is no need for it and when you shed it you gain by reducing complexity.

      can we stop now :)

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  15. sounds pretty good, by let+the+storm · · Score: 0, Redundant

    Before I begin: click here if you're a "-1: off-topic" weilding stifler of discussions.
    [Note that this is read-only so far. Now say oooooh and back away from the moderate button.]

    Now then, on to my story:

    So the other day this microsurf's telling me about how NTFS has journaling, started taunting me about my eight-minute fscking those sixty gig puppies, and I admit it kind of had me kind of almost maybe a bit uncomfortable, not envious mind you, just a bit, mostly it was just a little hot in the room is all. I excused myself, saying I had to google, and that I would be right back. Five minutes later, I had my response. (And implemented, too! Download today.)

    Moral of this story? Turn off those [domain] tags in your preferences if you haven't yet! It totally ruins my train of thought :(

    --
    m iso socially aware artistic geek pen-pal, m or f, in '1337 edu. jazz, poetry a must.
    email me (click my user info for addy) if you're interested.

    1. Re:sounds pretty good, by JordoCrouse · · Score: 1

      saying I had to google, and that I would be right back. Five minutes later, I had my [sourceforge.net] response. [spoiled.org] (And implemented [freshmeat.net], too! Download today.)

      Have you been living in a Afgani cave for the last 3 years? Ext3 has been around since 1999.
      Its even the default filesystem in RH 7.2.

      ResierFS went in to the 2.4.1 kernel in
      2001, but I know for a fact that the first patches appeared much earlier than that.

      --
      Do you have Linux and a DotPal? Click here now!
    2. Re:sounds pretty good, by let+the+storm · · Score: 1

      the other day was several years ago. not sure win2k was even out yet :)
      above notwithstanding, I did hear the same woes on #linux several days ago: "why does my suse still fsck so long", with a response of "hey, just be glad that it cks out at all: you dont want to ask me what the worst that can happen with an inopportune power outage is...found that out the hard way."
      --
      m iso socially aware artistic geek pen-pal, m or f, in '1337 edu. jazz, poetry a must.
      email me (click my user info for addy) if you're interested.

    3. Re:sounds pretty good, by dossen · · Score: 0

      How about trying an up to date link for BeFS?

      BeFS-driver

      And why do you care about my [domain] tags? I like them, OK!

  16. Re:Noooooo! by Anonymous Coward · · Score: 0, Flamebait

    Microsoft has never claimed any of those products were their ideas. Perhaps you're too young to know better rather than simply stupid, soI'll go easy on you. History records quite clearly where each of these ideas came from. The fact is that the original seeds came from different sources but it took Microsoft to create truly mature products from those ideas.

    As far as a DB filesystem - Microsoft announced that as the eventual path for Windows LOOOOOOOOOOOOOOOONNNNNNNNNNG before BeOS came on the scene.

    I realise your post was a typical /. biased post and that was likely due to the fact that you're a penguin lackey but at least make an effort to get your facts straight.

  17. 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

    1. Re:Possibilities by cpt+kangarooski · · Score: 1

      Well, I seem to recall that it didn't have GUIDs for the files, as HFS and HFS+ do, to their great advantage.

      Paths and filenames aren't reliable enough. A more stable and user-invisible method of identifying files internally is better.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    2. Re:Possibilities by Kreeblah · · Score: 2

      Quite so. BFS, however, used MIME typing as a file identification method in addition to the more common filename-based typing. It works quite well, is very reliable, and has the added advantage of not requiring any OS-specific metadata to be sent with files to be identified.

    3. Re:Possibilities by cpt+kangarooski · · Score: 1

      Ah, no, you misunderstand me.

      I mean each file located on the disk has a GUID for purposes of locating the file on the disk, regardless of the name or path of the file.

      This meant that it was exceedingly rare for aliases on MacOS to 'break' because the original file (if present on disk) couldn't be found. It was in fact very difficult to arrange matters so that the file couldn't be found.

      I'm not referring to other types of metadata such as file type or creator, as would be implied by MIME.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
  18. Re:Noooooo! by Daveman692 · · Score: 1

    And Al Gore invented the internet

  19. Re:AD doesn't yet have wide acceptance, DBFS doome by MsGeek · · Score: 2, Insightful
    MS is have (sic) trouble getting major clients to switch to Active Directory.

    Damn right they are! For good reason too: it's cranky and fussy and likes to corrupt itself. When the school I went to threw the Microsoft Official Courseware labs out the window because they were impossible to implement, I got my first taste of why AD as it stands is pretty much useless.

    If Microsoft had stayed standards-compliant with open standards like LDAP and Kerberos 5 and so forth AD would be much less of a nightmare than it is now. But no, typical MS, they had to "embrace and extend" it. As a consequence, they have shot themselves in the foot.

    This is the reason why most MS shops hold desperately on to their NT4 PDCs even though 2K has NT4 beat nine ways to Sunday. 2K cannot do the old-fashioned SAM-based domain even if you cajole it, beat it about the head and shoulders, or ask it nicely. And for most shops, that kind of domain is all they need.

    Of course if they went with Samba they could decommission their old fugly NT4 PDC, heh heh...

    --
    Knowledge is power. Knowledge shared is power multiplied.
  20. Need support for versions and schema changes by alext · · Score: 2

    About time eh? Perhaps next we'll have languages that just deal with persistent data directly, without any 'database interface' stuff to code.

    A DB as a file system could still be a mixed blessing though - anyone tried to store code in a database, or other files with lots of different versions that may have different structures? Generally, DBs are weak when it comes to namespaces (like directories), versions (except in some special cases features for time series) and 'schema evolution' (changing the data structure).

    Nothing impossible though - I think Oracle were getting there with the Internet File System, so would be nice to have a PostgreSQL FS in Linux to start playing with!

    Problem is that file systems don't care about data structure and so don't care about changes to that structure, so you can have half a dozen different versions of your address book floating around

  21. I prefer object-oriented graph filesystem by WetCat · · Score: 3, Interesting

    Object-oriented graph system
    - need much less overhead than database system
    - can hold multiple ways to access one object, easing semantic link
    representation
    - can be secure by allowing only the workflow links.
    It should be organised as a set of object that hold data within them,
    with links between them.

    1. Re:I prefer object-oriented graph filesystem by Anonymous Coward · · Score: 0

      Time to work on that newline object.!

  22. Leveraging a DB FS by bihoy · · Score: 5, Interesting

    One of the areas that I am interested in is using a DB FS with various "helper" apps. These helper apps would provide a way of managing your data. They could be integrated into another app directly or as a plugin or they could be standalone apps by themselves.

    One could provide a helper app that allows you to look at the stored files in ways other than your typical file listing. To do this would require various metadata attributes to be associated with the data. Helper apps would be provided for all of the standard applications that read and write to data to the file.

    For example, one app could set attributes to categorize data. One could then search for data on your system, and potentially others, much in the same way as you would search for stuff on Yahoo.

    Say you are in a rush to finish your taxes but you need to put together an itemized list of business expenses. You have information on them stored in various places including text files, e-mail, spreadsheets, etc. You could use find and grep to go poking around looking for them or you could use a helper app that does a quick search of attributes and presents you with a list of candidates and ca even call up other apps or services to look at the data. Once you have identified the data another attribute can be set that your tax software uses to record it and pull it into your tax forms.

    1. Re:Leveraging a DB FS by gimpboy · · Score: 2

      hey. im working on something like this. the page for the project is here. once i get the documentation done you should be able to write the interface in qt or whatever. i currently have a web front end. check out the test drive.

      --
      -- john
    2. Re:Leveraging a DB FS by Saeger · · Score: 2
      Say you are in a rush to finish your taxes...

      C'mon, don't pretend to ignore the #1 application of a filesystem with built-in metadata support: PR0N. :)

      [X] Asian
      [] Blonde
      [X] Blow
      [] No Audio
      [X] Quality: Great!
      [] Quality: Average
      [] Quality: Crap! I should delete it!
      ...
      a filename can only encode so much...

      --

      --
      Power to the Peaceful
    3. Re:Leveraging a DB FS by Anonymous Coward · · Score: 0

      Quality is subjective. I really hope metadata like that doesn't get shared on gnutella in the future unless it comes with a amazon.com profiles so you can match your likes with others.. gooks dont turn me on.. if you know what i mean.

    4. Re:Leveraging a DB FS by Anonymous Coward · · Score: 0
      Here's a good long list of porn categories that I find handy from time to time.

      I'd love to see this and other metatags make it into NTFS nextgen so that I can crossreference and search my, um, important files, better.

  23. mySQL filesystem by yomahz · · Score: 2, Interesting

    Here's a past discussion and here's how it's done.

    Has anyone actually tried it?

    --
    "A mind is a terrible thing to taste."
    1. Re:mySQL filesystem by Anonymous Coward · · Score: 0

      I am the author of MySQL FS. Yes it works but it was still not good enough to be used in production. I have not found any company which can support rewriting his code. In my current stage I can't afford spending month or more time without getting some revenue. But if this becomes possible I surely will rewrite it! I wrote some note on my homepage: http://no.spam.ee/~tonu/modules.php?name=News&file =article&sid=5

  24. Stop this! by aureliano · · Score: 1

    Databases in File systems..wonder why we never need a File System Administrator ? Or is this just a new way to create jobs ???Give me a decent file system which can survive crashes ...

    btw, wont databases make the filesystem slow ?

    1. Re:Stop this! by Anonymous Coward · · Score: 1, Informative

      A transactional database is very good at surviving system crashes because it is completely journalled. Accessing the data out of the database would probably be no faster, but searching on it would be considerably faster.

    2. Re:Stop this! by Anonymous Coward · · Score: 0

      onder why we never need a File System Administrator ?

      Check the prices on Unix admins that can actually decode fsck's output and recover a badly hosed filesystem.

      Furthermore there's no real reason that RDBMS systems need to be complex to administer for the general case. Mostly they are that way to keep the $$$ services revenue flowing, and to handle every possible edge case. MS-SQL is pretty close to install-and-run for simple low volume stuff, for example.

  25. it was another story a few weeks ago by WildBeast · · Score: 1

    A few weeks ago, a DB filesystem was looked upon by slashdoters as the dumbest idea ever because MS wanted to implement it.

    All of a sudden it's interesting, perhaps all OS's should have a DB file system installed by default.

    1. Re:it was another story a few weeks ago by Anonymous Coward · · Score: 0

      It still is if they're planning to use SQL..

      And you betcha somebody disagrees with me, so maybe you shouldn't generalize.

    2. Re:it was another story a few weeks ago by Anonymous Coward · · Score: 0
      A few weeks ago, a DB filesystem was looked upon by slashdoters as the dumbest idea ever because MS wanted to implement it.

      All of a sudden it's interesting, perhaps all OS's should have a DB file system installed by default.

      Actually a pluarality if not a majority of the comments seem to be openly questioning the sense of a DB-backed file system.

    3. Re:it was another story a few weeks ago by Tony-A · · Score: 2

      Look at the XP ads and imagine your whole file system flying around the room.
      Advice to the victims. Backup early. Backup often.

    4. Re:it was another story a few weeks ago by jjustice · · Score: 1

      I seem to remember a lot of people reacting the way I did - namely "Damn! A db filesystem is so cool - I wish it wasn't MS that was finally going to make this mainstream and take all the credit!"

  26. MS say by aureliano · · Score: 1

    . "Users will be able to start dealing with data as they would with any type of SQL query, so it will no longer matter where the files are located. Organizing data becomes far simpler."
    How does it make it any simpler ? May be faster .. Anyway locate ang glimpse always work for me ..That makes more sense than putting a DB in the FS

  27. Re:Noooooo! by Anonymous Coward · · Score: 0

    It doesn't matter if you're the first ... just as long as you're the last.

  28. I'll wait for SP2 by Bowfinger · · Score: 2, Insightful
    Interesting in the context of MSFTs plans to implement a DB filesystem in future versions of MS Windows.

    Even more than normal Microsoft bashing, this sounds like a huge challenge for MS to get right. I can't imagine that they'll manage to retrofit a DB filesystem and make it peform adequately on the first try. It would be tough enough even if they started with a clean slate and a small, independent team of top talent. Unfortunately, although they do have some first-class developers, they also have tremendous legacy baggage and a group-think culture.

    I'll wait for at least Service Pack 2 before I put any real data on an MS DB filesystem.

  29. Unix lags by yggdrazil · · Score: 2, Insightful

    Unix filesystems lags terribly. They don't store the MIME-type. They don't store the preferred app to open a file in. They don't store metadata like the artist and song name if the song happens to be an mp3. They don't have the ability to add gps postion metadata on my digital camara photos. Searches are horribly slow. All unices use different directory conventions. You can't uninstall apps by just moving its icon to the trash (except on osx). App preferences are stored in all sorts of different ways (except on osx).

    Linux is a nice remake of a legacy os, but is hardly the future.

    The open source community needs a good object storage to base a more futureproof os on. Badly. (And a way better UI than XWindows can give us.)

    1. Re:Unix lags by Lukey+Boy · · Score: 1
      Yeah, storing which application opens a data file. I'd love to get a bunch of MP3s from Gnutella and have a non-existent WinAMP try to open them. Or a me sending a Word doc written by Abiword to an Office user - that'd screw 'em up! Mime types? Not in my filesystem - I want RPMs on my RedHat system to open with GnoRPM, not Realplayer.

      And XWindows doesn't give you a UI at all - KDE, GNOME - even the GTK toolkit provide a UI.

    2. Re:Unix lags by lux55 · · Score: 1

      From the ReiserFS web site (http://www.namesys.com):

      "ReiserFS v.4
      Due 30 Sept 2002"

      When was Microsoft planning to release their database fs, sometime before or during 2004 wasn't it? Plus ReiserFS is way more security focused than MS will ever pretend to be. And until Apple can make the OSX UI responsive enough to not require a $6000 machine (x 1.5 for us Canadians), it's simply not practical.

      Dude, UI preferences aside, Linux is way ahead (except for the dearly departed BeOS) in terms of a database filesystem. Check it out, ReiserFS is a super cool project.

    3. Re:Unix lags by marmoset · · Score: 1

      Of course, the way it was implemented in BeOS allowed you to set your default handler for given mimetypes, so as long as you had any program which handled a given filetype it would work fine. Any sane implementation that shows up of this elsewhere (OS X, mayhaps) would certainly provide a mechanism for setting default file handlers.

    4. Re:Unix lags by Lukey+Boy · · Score: 1

      Isn't that totally redundant though? On pretty much every system you'd have to rely on the default handler, except for very specific files that can only be opened by one application (like a QuickTime movie).

    5. Re:Unix lags by burnetd · · Score: 1

      ermm....Hello...did you read what you answered too. If files store the MIME type, then your files get opened by what ever application your setup has associated with your MIME type. Note the magic words MIME type. A realplayer file would be something like audio/x-pn-realaudio, a RPM would be something like application/rpm perhaps even you could set up appropriate applications for those.

      If they store the prefered application then, well if the files an RPM and it opens in realplayer you're either getting the files from an idiot or what you think is an RPM is a realplayer file.

      The chances are the application creating the file set the prefered app for viewing it which means the prefered app will be a suitable application even if its one you do not have. If you haven't got it then it should fall back to the MIME setting.

      Get a copy of BeOS and see it in action, then critise the MIME / prefered application setup once you've got a clue.

    6. Re:Unix lags by Lukey+Boy · · Score: 1

      No, I think I do understand the problem. Embedding the application name or path into the file doesn't help, because I want my text files opened with Kate, and my MP3s opened with FreeAmp. Having the application that I have personally associated with the data files attached is just lame, especially when there's a ton of different operating systems out there - most of which include very inferior tools with them. For instance, a lot of people use Windows Media Player for MPG files; I don't. When I send these people a file associated with mplayer, their default handler kicks in - showing again how redudant the metadata for this is.

      What if a Mac user has all images they've created associated with Photoshop and I also have this app installed? I don't want to chew up a couple of hundred megs of RAM to view, uh, flow charts :-)

      And by the way, the RPM extension is a valid one for Realplayer.

    7. Re:Unix lags by FooBarWidget · · Score: 1

      Then what's the point in storing information about associated app in the filesystem?

    8. Re:Unix lags by Anonymous Coward · · Score: 0

      "No, I think I do understand the problem."

      Perhaps you do not understand the solution.
      The mime type (!= application path) is stored as meta data to the file. If you have a file that does not have this meta data, it tries to set the mime type of the file (using file contents or file extension). Then it finds the "app signature"(!= application path) of the prefered application for this mime type and uses that application to read this. If that is not the application you prefer to open the file with, you can quickly (right click and choose open with) do a search in the filesystem for other applications that can handle this kind of file. This search goes really quickly, since it is indeed a databas-like filesystem. Since each application "must" have a application signature, BeOS does not care where the application is on the disk. After installation you can move it where ever you want.

      Those who do not understand or question the power of a database like filesystem, try before criticizing to know what the fuzz is all about.

      /Procton

    9. Re:Unix lags by loosifer · · Score: 4, Informative
      No, I think I do understand the problem.

      No, you don't.

      Be used the following method of determining which app would open a file:

      1. Check for an app preference stored in the file. This was almost never used, but was there in case you wanted it.
      2. Check for an app preference for the file type. This is a system default, set by you, and was the most common method.
      3. Check for an app preference for the file supertype. Remember that this uses MIME types, which have super and subtypes. Again, this is a system-wide preference that you set.
      4. Check for any app that can open that filetype. You can't even do this on most systems!

      Notice that nowhere in here does it take into account what app created a file.

      Even better, you can always right click on any file (or any list of files of the same type) and get a list of:

      • The preferred app for that file
      • The preferred app for that filetype
      • Any apps that can open that filetype
      • Any apps that can open the supertype
      • Any apps that can open any filetype
      And the list shows up pretty much instantaneously. Do that in any other system, anywhere, no matter how many hacks you add. And yes, you'd use it every single day of your life if it were available to you.

      So no, I'd say that you don't understand the problem.

    10. Re:Unix lags by cpt+kangarooski · · Score: 2

      Sigh. You obviously haven't tried this, or considered it much.

      Let's consider me: I have a group of html files that I need to develop and maintain. Ergo, the default associated program is a text editor, because I spend most of my time editing the files.

      However, I also have a group of html files, and plain text files that I like to open in a web browser, which are static text, and never, ever change. This is because they're novels and short stories -- an editing program is definately not what I want to open them with, because it's not as good for reading as a browser.

      So what the hell do I do?
      Either waste time explicitly dragging or opening via a menu or dialog the former group of work files, or the latter group of lesiure files?

      If I can arbitrarily set each file, which are identical in terms of format, to open in the program that is proper for it, I will save myself a damn lot of time and trouble.

      File associations are the only way I've heard of to do it.

      And because they're ALTERABLE, easily so, and ignorable, you can still open files set for RealPlayer in anything else, and have it (or a daemon) automatically change them to henceforth open automatically with that program.

      Give it a shot before you condemn it!

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    11. Re:Unix lags by marmoset · · Score: 1
      Let's try an example.

      Someone emails me an EPSF file created in Macromedia Freehand. I happen to own both Adobe Illustrator and Macromedia Freehand, both of which are capable of opening and editing the file. I prefer Illustrator to Freehand, so ordinarily I use it to edit vector graphics. So I set my system to open "unclaimed" (i.e. files that don't have a specific application creator signature) EPSF files in Illustrator, since 9 times out of 10, that's where I would want to work with them. On the other hand, if my friend edited his file with Freehand, I would probably just want to be able to double-click the file and have it open in Freehand (since that's the proggy that created it, it will probably be the one that will do the best job of preserving the file as he created it.) Keep in mind I still have the option of dragging the file's icon onto the icon for Illustrator and having it open there.

      Does this make sense now? This is pretty much how it works now in Mac OS, Mac OS X, and BeOS (the implementation details are different, of course, but the general idea is the same.)

    12. 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.

  30. OpenBeOS BFS by Anonymous Coward · · Score: 3, Informative

    Bruno G. Albuquerque and Axel Dorfler are working to make a 100% compatiable clone of the file system that shipped with the later versions of BeOS as part of the OpenBeOS project.

    They have a fantastic amount of the work done already such as :
    o Read-only BFS
    o Kernel Interface
    o Full Attribute Support
    o Indexing
    o Symlink Traversal
    o Queries, full UTF-8 Support, and support for non-indexed attributes.

    I believe they are also fixing some problems that were in the original FS.

    I am sure they would be glad for some more file system engineers. Come to think of it, the rest of this open source project is going really well too, but as always it needs more programmers....

    1. Re:OpenBeOS BFS by BGA · · Score: 2, Informative

      Just a small correction. Right now we have write support working and files and directories can be created. Growing a file only works for the direct range (that means we didn't even touch the indirect and double indirect range yet). Also, we don't have any journaling in place yet, but we do have a transaction class that *IS* being used (only that it just writes the blocks directly to disk right now without any journaling).

    2. Re:OpenBeOS BFS by tswinzig · · Score: 1, Flamebait

      You must be in denial. This guy above you says BeOS is dead, and we should just move on.

      --

      "And like that ... he's gone."
    3. Re:OpenBeOS BFS by LOTR+Troll · · Score: 0

      that guy's a zealot, nobody gives a shit about his opinions except other zealots. Linux will never rule the desktop because it's a clunky, inelegant pile of horse manure.

      --

    4. Re:OpenBeOS BFS by BGA · · Score: 1

      I happen to partially agree with that. It is pretty obvious BeOS won't get developed further (although my BeOS is still working... Not only here at home but at work too).

      Although OpenBeOS is based in the BeOS spirit (and APIs), it *IS NOT* BeOS. It is a new OS and is being developed as such, including with a completelly new modern kernel (NewOS), thanks to Travis.

    5. Re:OpenBeOS BFS by tswinzig · · Score: 2

      Although OpenBeOS is based in the BeOS spirit (and APIs), it *IS NOT* BeOS.

      OBOS is aiming for binary compatability with BeOS R5, and is re-creating all aspects of the operating system. The only difference should be that it is BSD open source'd.

      You're right, it's not BeOS, it can be even better, since it will have a future.

      --

      "And like that ... he's gone."
    6. Re:OpenBeOS BFS by BGA · · Score: 1

      Binary compatibility is not really set in stone yet. Doing that would imply, for instance, that we would be locked out from using GCC 3.0 (at least without huge hacks). If I was the one making the call, I would say forget about binary compatibility. But I am not.

  31. Practical File System Design (Giampaolo) by Josuah · · Score: 2, Informative

    A great book on the BeOS file system, its design and the issues involved, is Practical File System Design with the Be File System by Dominic Giampaolo. This was the first book I read about file systems and is a great discussion on the types of decisions the BeOS folks made to address the specific users and OS functionality they were looking for. It's not too heavy and is really a casual read in comparison to most other Computer Science books.

  32. Current Linux work on a database filesystem? by Captain+Morgan · · Score: 1

    Is there any work being done to build a database file system for Linux and other os's? I know I have a hell of a time navigating through my mp3s and it would sure be nice to be able to assign attributes to them(rock+favorite+2002) so you could just search on 'favorites and rock' for instance and have a playlist. A database filesystem should also simplify the task of managing files since you could sort them by adding attributes.

    1. Re:Current Linux work on a database filesystem? by lux55 · · Score: 1

      Reiser4, dude!

  33. Re:Noooooo! by the_2nd_coming · · Score: 3, Informative

    well lets see......Ciro (code name for Win 2k) was begun in 1995, they wanted to have a DB file system in that, that was thier plan and that is when it began.

    BeOS began development in 1991. the first iteration of a DB backed file system came out with BeOS 1.0 and BFS replaced in around 1994ish.\

    soooooooo.......MS again is a day late and a dollor short.

    same with MATURE Office productivity products, since workperfect was mature long befor word 1.0 was released, as was lotus spread sheet.

    perhaps they did good work on the OLE crap, but that stuff sucks (imho) and Adobe has much better products to crate desktop publishing work that OLE was intended to help with....not to mention that word still can not do what TEX can do.

    --



    I am the Alpha and the Omega-3
  34. Re:Noooooo! by Anonymous Coward · · Score: 0

    "Microsoft announced that as the eventual path for Windows LOOOOOOOOOOOOOOOONNNNNNNNNNG before BeOS came on the scene."

    As a longtime student of MS PR, I don't think so. They did mumble something about an 'object' filesystem back in the Cairo days, but they later declared that DFS was what they were talking about.

    Note that MS runs (or ran) their core systems on AS/400 and VMS -- after figuring out the profit margin on those boxes, that's likely where they got the idea.

  35. Who Invented the B-Tree? by Anonymous Coward · · Score: 0

    Wasn't it Leo Guibas?

    1. Re:Who Invented the B-Tree? by Anonymous Coward · · Score: 0

      Leo Guibas can be anagrammed into 'lube as i go'. You people sicken me.

    2. Re:Who Invented the B-Tree? by Anonymous Coward · · Score: 0

      Guibas was a Geek and a Greek. And your point?

  36. What about the new ReiserFS by Anonymous Coward · · Score: 1, Interesting

    Is not the new ReiserFS 4 (due for release late summer) going to be a DB FS? Check out http://www.reiserfs.org and read for yourselves.

  37. Re:UK naturalisation: 5 years? by Anonymous Coward · · Score: 0

    The US has a backdoor visa program for those who are qualified enough (or have the proper political connections, or just pay something like $1M) -- people like brain surgeons and guys who wrote crappy Unix clones have no problem getting in over here. Also, if you are Irish or Mexican, you can live here visa-free for no problem even if you are a wanted terrorist/axe-murderer back at home.

    In short -- move to the US. Nobody can beat our visa policy!

  38. About Five or Six Years Ago by Anonymous Coward · · Score: 1, Interesting

    MS was so proud of their registry that they thought that they could make the whole file system a part of the registry. It broke under stress of actual use, and now the registry is on its way out, never having been much of a success. I expect that the database file system will do the same for a few generations as well.

  39. YHBT YHL HAND by Anonymous Coward · · Score: 0

    nt

  40. What about D3? by Anonymous Coward · · Score: 1, Informative
    Database filesystems aren't anything particularly new.

    D3 and other Pick-like systems have been using filesystems based around a database for years.

    Check out this link for more information on the D3 database filesystem. ;)

  41. 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.
    1. Re:I used to like this idea. by Tsk · · Score: 1
      * 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...

      Frontbase from fronline software uses SQL-92 ...

      --
      none Yet.
    2. Re:I used to like this idea. by osgeek · · Score: 2

      That's actually a good point. If you think about it, filesystem use is one of the few things that is more-or-less the same from platform to platform. Sure, directory demarcations change, and line endings, but that's about it. Using the standard C library on just about any system gives you easy compatibility.

      Imagine if you had to really work to abstract your filesystem layer in all of your crossplatform software the way that you have to abstract your windowing system and most other stuff.

  42. my two cents by joshuaos · · Score: 3, Interesting
    Benoit: Either you make the data shared, or you make the application components shared. And sharing the data was easier. (Dominic agrees).

    If the data is shared, and you have libraries that are shared, then why not ask the data to display itself (object.display(x);) and have it call to a standard library (system library?) which queries a system properties database object as to what application to display it? Don't actually store the display code in the objects, but have the objects query the system as to what the user has specified to display that type of data with.

    Dominic: That's what I mean. Some people are very anal about organizing things in rigid hierarchies and others are 'I know what I want to find'.

    I think there is a place for hierarchies, but not as the base organizational method of the filesystem. I would like to see a hierarchy of attributes, or keys, or whatever you want to call them. When you save an object (off the internet, or out of your head), a title is only one possible attribute you want to give it. When I save a pr0n jpg, it doesn't need a damn title, I need to mark what it's a damn picture of (amateur AND cumshots AND redhead)! Perhaps start with people, places, things. Or later in the hierarchy, sound -> music -> various bands as well as various artists as well as various sound effects as well as dates and live or studio, all keyed (so to speak) and queryable. But the hierarchy is for browsing. Just for browsing, because browsing is important (when you want to look at cumshots, you want to look at cumshots, but when you query for cumshots, watersports and lesbians, well that's bloody well what you should get), and micro$oft's nice little explorer looks about right. Although instead of a stupid directory tree, we have a tree of object properties and types, and any object can be in any number of places in that tree, depending on it's attributes (categories?).

    I know of course that I haven't really said anything new in this post, and I know that performace needs to be taken into account. This is, however, the way things are moving, and all we really need is a really good, really fast, solid state storage medium. When permanent storage is as fast as or faster than RAM is today, the database filesystem will finally become a reality, until then, we'll sure be gearing up.

    Cheers, Joshua

    --

    When in danger or in doubt, run in circles, scream and shout!

  43. Re:Noooooo! by Anonymous Coward · · Score: 0

    M$ sort of got there before Be. NTFS uses a btree database, but that doesn't really add much more functionality than FAT really. Back in the 'old days' I remember reading that if you had more than 200megs of disk space you needed 5megs of ram just for the filing system, seemed a bit much at the time.

  44. brute force by mmusn · · Score: 2
    Making the file system a database didn't start with Be or Microsoft, it goes back several decades to IBM.

    There are brute force ways of doing it: you build some kind of ad hoc database system and dump it into kernel space. You may be able to engineer such a system reasonably well, but to me, it is in bad taste: indexing is such a complex and application dependent area that nobody can guess ahead of time what kind of indexing people will want a few years from now. The Be file system looks like it's too complicated to interoperate well, and too simplistic to be of much use for anything rather than fairly primitive indexing operations.

    A better way of doing this is to figure out a protocol for notification and updates between a traditional file system and user-space database indexing services. Yes, that's harder, but that's what software engineers get paid to figure out. And, as far as I'm concerned, if you can't figure out how to do it right, it's better not to do it at all rather than doing something half-baked.

  45. Threat to Open Source? by TheFlu · · Score: 2

    Newforge has this commentary by James Treleaven about the possible implications to Open Source if Microsoft implements a database driven filesystem.

    1. Re:Threat to Open Source? by mmusn · · Score: 3, Interesting
      That's a tempest in a teapot. MS Office files still need to be serializable somehow, and that format cannot possibly be worse than it is right now. If anything, it may get better with Microsoft's push for XML.

      Functionally, database-based file systems are an old hat. If they were the magic bullet Microsoft and BeOS think they are, they would have caught on long ago. To me, it looks more like a bunch of college hackers getting mightily excited about a whizbang feature of little real value. (Database based file systems have worked well in some niche markets--IBM is selling some systems with such file systems.)

      Something needs to be done about indexing and search, but putting a database into the kernel is not the right thing.

  46. Microsoft is NOT putting SQL Server into Windows!! by Anonymous Coward · · Score: 5, Interesting
    I should know - I actually interviewed for a position in the group developing this. (I signed the standard pre-interview NDA, so I'm posting anonymously, but I'll still try to stay general so I don't get into too much trouble...)

    As the ExtremeTech article pointed out, they are not even considering putting the full-blown SQL Server into Windows. SQL Server is too resource-intensive (it really wants to use all of the available CPU, memory and disk space), too much overhead, and most importantly to MS, too profitable (sales of SQL Server / BackOffice make up about 10-15% of MS's revenue.) There's no reason to bundle it if people are willing to pay a ton for it separately!

    As the article says, they're thinking (nothing decided yet) about including MSDE, which is exactly the same as SQL Server 2000, except it is tuned for 5 concurrent users (and hard-limited to 10), the database size is limited to 2GB per database (the same as the Jet DB, aka Access), and it doesn't have the nice GUI admin tools bundled.

    Also, the OFS (Object File System) discussed previously probably won't get added either. There's a good reason why it was talked about way back in the Cairo (pre-Win95) days but never implemented - it's really, really hard to do, and it's hard to even convince anybody of its value. (Just look at Be.) Active Directory was originally supposed to be an object store, but I don't think anybody uses it for that (if anybody even uses it at all.)

    What probably will be included is an improved version of Indexing Service, which is currently included in Windows 2000 and XP. For those of who are fortunate enough to be unfamiliar with Indexing Service (formerly Index Server), it's an NT service (think "daemon") that periodically scans the file system for new / updated files, and then adds whatever metadata it can extract into a database of sorts, which is then used to speed up searches in the built-in Search dialog on the Start menu.
    There are a couple of problems with the current implementation:
    1. It's extremely buggy. For example, it's supposed to run only when the system is idle, but it usually chooses to run right when I'm doing some big IO-intensive process. It periodically also consumes all available memory and CPU cycles, so I usually leave it turned off.
    2. It doesn't index very much metadata. For most files, it only indexes the standard file system attributes (size, date, extension, etc.) For MS Office documents, it can index the Summary Information property stream, which usually includes things like Author, Title, etc. If you have IIS running on a box, it can also index the META tags in HTML documents. Other than that, not much. It does have some extensibility , by means of DLLs that implement the IFilter COM interface, but no 3rd-party vendor seems to have done much with that, perhaps because of #1.

    So, in summary, MS's plans for the DB-in-the-filesystem look a lot more like Reiser4 than like BeFS or SQL Server.
  47. Re:Noooooo! by Tony-A · · Score: 2

    So that's how early NT4 could manage to trash a file that was read-only.

  48. An Earlier Example of a DB Filesystem by Black+Art · · Score: 2

    The PICK OS was an even earlier example of a "database filesystem". I worked with it back in 1981, but it dates back earlier than that.

    PICK has an SQL-like language to create reports and search and select databases. The data structures are kept in a "dictonary" file for each file. Records are variable length and seperated by upper acsii characters. (254 for fields, 253 for values (sub-fields), and 252 for sub-values.)

    PICK is pretty much considered a "legacy system" by most people any more. (If they have heard of it at all.) It had some features that were far ahead of its time. Unfortuantly, Dick Pick, the creator of the OS, was unwilling to improve on it. So PICK remained in the dumb terminal world, while everyone else moved on. The vendors of PICK made improvements over the years. It was the only thing that kept it even vaguely current.

    Microsoft is claiming that you will not need datastructures for their new system. DB filesystems are very dependant on embeded filestructures. It has to be there. I have no idea how they will be able to take a structure as complex as Word or MPEG-4 and make it "transparent" and portable. More likely you will be held hostage to their OS. It will be portable to "upgrades" of the OS and no more. (At least until they make that data format no longer supported...)

    --
    "Trademarks are the heraldry of the new feudalism."
  49. Integrated database computers: IBM AS/400 by octogen · · Score: 5, Informative

    It's really not Microsoft's innovation.

    IBM's AS/400 (a midrange computer system targeted for commercial use/accounting/warehouse/etc...) is based on an object-oriented database filesystem which is implemented at the firmware level (SLIC) rather than at the OS-level - and this system has been around for about 20 years and IIRC it always had quite good performance.

    -arch----

    A few words about its architecture, if you're interested...

    The operating system (OS/400) itself runs on top of this object-oriented low-level "OS" by calling its APIs - as a result, most parts of OS/400 are platform-independent. If you'd manage to get the SLIC running on another hardware platform, you could probably install a nearly unmodified version of OS/400, and it would do its work.

    Actually, I'd call the SLIC code the 'real' operating system kernel rather than OS/400, because OS/400 itself would not work without an apropriate SLIC layer.

    Everything on the system is an object, so you'll always have to use the object's methods to perform some operation.
    For some applications that may be an advantage, because security is enforced on each object at the firmware level. For other applications it might also be a disadvantage, because you'll always have to use a limited set of APIs for modifying data. That blocks many methods commonly used for writing highly optimized code.

    -end arch----

    One of the benefits of having a database-filesystem is probably the fact that you do not need to run a database product on top of the OS.
    Every object on the system can be backed up and restored in a very simple way. Logical files (multiple logical views of one physical file) can help to keep data management simple and consistent.

    On the other hand, you will have to update the entire OS (including the kernel) when you need to install a new release of the database - which means, that you'll have to reboot the machine.

    And - last but not least - the more code you have in the OS kernel, the higher is the probability of having dangerous bugs somewhere in the kernel.
    It should not be necessary to mention, that bugs in the OS kernel may compromise all system security.

    There are certainly many advantages and disadvantages regarding the database-filesystem issue, so I think it all depends on what you want to do with your computer.

    -----

    kind regards from Austria,
    octogen

    PS: i hope my english isn't too poor..
    And - by the way - even Microsoft uses AS/400 boxes for running its business, so what do you think, where did they get their inspiration from...?

    1. 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!!!
    2. Re:Integrated database computers: IBM AS/400 by Anonymous Coward · · Score: 0

      The really cool part of having the db be the file system is that the concept of file disappears. Every file is strucutured. Every file is self-describing. Everything is stored in the database. It doesn't sound efficient computer-wise but people-wise, it makes a lot of sense. The As/400 came out in the mid 80s but it already had a 64-bit architecture and an OO operating system. Too bad they saddled it up to RPG, arguable the worst programming language ever invented!

    3. Re:Integrated database computers: IBM AS/400 by Tablizer · · Score: 1

      (* This guy has it right. I have been working AS/400's for YEARS! The OS is built around the DB2 database. *)

      But DB2 is generally *relational*, not OO. The above post said it was an object-based database IIRC.

      I am not sure what to make of this appearent contradiction.

      I remember reading the manuals of the AS/400 in the mid-90's, but "object" was used very loosely, as if to give it buzzword power by calling anything and everything an "object". It was hard to pin down any specifics.

      It makes for horrible documentation to call *everything* the equivalent of "thing". Try it if you don't believe me.

    4. Re:Integrated database computers: IBM AS/400 by leandrod · · Score: 2

      > But DB2 is generally *relational*, not OO.

      IBM DB2 is SQL. While SQL claims to be relational, it isn’t. There are only two faithful implementations of the relational model, one is obsolete, the other is still a beta.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
    5. Re:Integrated database computers: IBM AS/400 by Tablizer · · Score: 1

      (* IBM DB2 is SQL. While SQL claims to be relational, it isn't [dbdebunk.com.]. There are only two faithful implementations of the relational model,.....*)

      I meant "street relational", not Codd theory-book relational.

    6. Re:Integrated database computers: IBM AS/400 by leandrod · · Score: 2

      > I meant "street relational", not Codd theory-book relational.

      The problem is that street relational is no relational at all, since it violates the basic theoretical principles of the relational model. BTW it’s not only Codd, but also Christopher J Date, Hugh Darwen, Fabian Pascal and now Nathan Allan.

      It makes no sense to speak about Codd theory-book relational. There is a post-Euclidian Math with is still Mathematics, and indeed superseeds Euclid; but it evolves from the Euclidian fundamentals to the point of redefining them. SQL, OODBMSs and other database models up to this day are either pre-relational or just plain confusion of mind which seems works just because people never considered they could have something much better &ndash -- that they could have had it for twenty years already.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
    7. Re:Integrated database computers: IBM AS/400 by Tablizer · · Score: 1

      (* The problem is that street relational is no relational at all, since it violates the basic theoretical principles of the relational model. *)

      Codd's ideas were intially pretty much ignored. What finally triggered something was that he started showing how his ideas made queries simpler, or at least smaller. Others took the ideas and made them a bit more palettable to the mainstream.

      If some new thing is truly better, then one is going to have to do the same thing: show how it makes things better, faster, shorter, cheaper, etc. significantly *enuf* to justify tossing the current standards.

      Until then, it will just be considered an intellectual toy.

      I am only the messenger.

    8. Re:Integrated database computers: IBM AS/400 by leandrod · · Score: 2

      > Codd's ideas were intially pretty much ignored. What finally triggered something was that he started showing how his ideas made queries simpler, or at least smaller.

      If you have any reference to this piece of history I‘d like very much to read it. As far as I know what triggered the wholesale migration to SQL was on one hand IBM‘s restricted release of SQL/DS validating Relational Software’s crappy first version of Oracle, and on the other Berkeley‘s Ingres and its associated QUEL validating the applicability of relational model.

      In fact it was when Codd tried to market his ideas thru ‘The Relational Model for Database Management: Version 2’ that his writing lost some technical qualities – for example terseness and strict adherence to a clean implementation of sound theoretical principles – and so he lost much of his influence. It was a pity, because before that many more people were hearing him when he delineated his still disregarded rules to evaluate a DBMS compliance with the relational model and the still not implemented RM/T.

      > Others took the ideas and made them a bit more palettable to the mainstream.

      > If some new thing is truly better, then one is going to have to do the same thing: show how it makes things better, faster, shorter, cheaper, etc. significantly *enuf* to justify tossing the current standards.

      > Until then, it will just be considered an intellectual toy.

      First, your ‘current standards’ – I take that to mean ISO SQL 92 and its successors – are so substandard that they are mostly disregarded. Try, for example, run some simple queries on Oracle‘s data dictionary with the SQL flagger turned on, even to the SQL 92 Entry level. Almost everything will fail to run, because not even data types are compliant.

      Second, that the relational model can ‘make things better, faster, shorter, cheaper, etc significantly’ has already been widely demonstrated by Codd, Date, Darwen, Pascal in their various writings, by Darwen‘s in his BS12 and now by Nathan Allan in his Alphora Dataphor. But it is difficult to argue with a disinformed climate of opinion, because people don’t want to do their homework, do their reading, their understanding, even buying the relevant books.

      Finally, it’s a pity that users suffer so much because current products are so limited and frustrating to use, and still the blueprint that would make life easier &ndash and didn’t before because it was disregarded – gets dismissed as ‘an intellectual toy’. When the Columbia space shuttle exploded, I don’t think anyone still considered physical and chemical theories, models and experiments intellectual toys, if one ever did.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
    9. Re:Integrated database computers: IBM AS/400 by Tablizer · · Score: 1

      (* When the Columbia space shuttle exploded, I don't think anyone still considered physical and chemical theories, models and experiments intellectual toys, if one ever did. *)

      Well, when 7 dead astronauts are traced to SQL flaws, then perhaps the "real relational" model will finally get the attention that it allegedly deserves.

      What you need to sell it is catchy buzzwords and toy examples and techno-cliches that inject half-baked ideas (or even those that happen to be full-baked) to PHB's.

      After all, OOP got away with it.

      BTW, I agree that NULL stinks overall. It's few benefits are not with the myriad frustrations it causes.

    10. Re:Integrated database computers: IBM AS/400 by leandrod · · Score: 2

      > Well, when 7 dead astronauts are traced to SQL flaws, then perhaps the "real relational" model will finally get the attention that it allegedly deserves.

      You should read the authors you criticize before being ironic about them anyway, my example was purposefully overshooted to try to bring your attention to the fact that theory is practical, and there is more than one book about that, but you seem to have also purposefully missed the point.

      > What you need to sell it is catchy buzzwords and toy examples and techno-cliches that inject half-baked ideas (or even those that happen to be full-baked) to PHB's.

      Here I agree with you. But all this can come just after an implementation of the relational model gains some acceptance. It’s a chicken-and-egg problem which was broken for the basic relational ideas by IBM Future System’s System R prototype which eventually became SQL/DS. BS12 could have been it for the full relational compliance, but perhaps now it’s too late for it, even with IBM newfound open source friendliness. But Alphora Dataphor could be it, too bad slashdotters don’t want to hear about it. There were at least two rejected submissions about it.

      > I agree that NULL stinks overall. It's few benefits are not with the myriad frustrations it causes.

      You get the point relating to NULLs. You can say about the same about duplicates, inconsistent language design, lack of closure, arbitrary restrictions, broken types and domains system, mistaken object support (the relvar == class blunder), and the list goes ever on that’s why it’s way better to ditch SQL and start all over again, and that’s why we need The Third Manifesto.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
  50. XML user space is the answer, not os extensions by horster · · Score: 1, Interesting

    This whole discussion is entirely wrong in its direction. While the rest of the world is moving towards managing data in a user space, world readable, flexible format that is xml, microsoft is yet again going backwards into proprietary extensions and api's that aren't transferable.

    Sure there might be some speed advantatages in certain places, but that will in no way make up for the fact that you're data will be burried deep inside the os, as opposed to freely available as it is in xml.

    The progress of XPath ,XQuery, Schemas and xml libraries in general makes me confident that in two years using a xml as a primary data store as well as programming interface will be a breaze. Think about it, what is really missing from xml that a relational database has right now? Basically some indexing scheme and a good api to handle locking and concurrency, other than not really a whole lot. Throw in a little client server and you're done. Now once you've gone that far, what does an object data base have that an xml database doesn't? Not a whole lot, throw in some XPointer stuff, and you've got references nailed.

    Pretty much anything that can be locked away in an os can be done better, and more flexibly in user space. That is why unix is better than vms, multics, or windows or whatever mainframe os, not because it has more features or higher speed, but becuase of it's light and flexible api. Files are stripped bare of anything more than the bare minimum. That keeps things flexible and easy, everything else is moved into the library.

    1. Re:XML user space is the answer, not os extensions by jo42 · · Score: 1

      ARGH! XML is not some piece of magick. It is just a frickin' text-based file format!! Stop trying to shove everything into XML for forks sake.

    2. Re:XML user space is the answer, not os extensions by horster · · Score: 1

      > It is just a frickin' text-based file format!!

      of course! that's why it fits in so well with the unix/internet model, because it is really just a text file, and the entire tool chain built around operating on text files can be utilized.

      there isn't anything really magical about xml, it is just a way of unifying and formaziling your text data.

    3. Re:XML user space is the answer, not os extensions by hangdog · · Score: 1

      Have you seen IBM's Xperanto?

  51. Software Necrophilia by fm6 · · Score: 2
    Great! You bought a domain name! You started a web site! This guarantees that you will have all the volunteer development talent you need! And once you have an OS, everybody will just abandon Windows and Linux and hurry to install OpenBeOS -- just as they did with BeOS! But are you prepared for all the competition from OS/2, DR DOS, NextStep, and AmigaDOS?

    Look, there's a lot of good stuff in BeOS, and a lot of us would like to see it preserved. But it's the technology that's worth preserving. The platform is just a way of delivering the technology. If you insist on totally re-inventing the platform, either as an OS or as a compatibility layer, you force all your potential users to start over completely. And they just won't do it. You want proof? OS/2. DR DOS. NextStep. AmigaDOS. All of these were impressive products. I personally would prefer any of them (or BeOS for that matter) to Windows. I might even prefer some of them to Linux. But like most users, I have to concentrate on platforms that have a real user base.

    1. Re:Software Necrophilia by tswinzig · · Score: 2

      You are either trolling, or are very ignorant of OpenBeOS.

      It was started many months ago, already has 150+ people working on it, already has a kernel in progress (based on NewOS kernel, written by an ex-Be engineer), and is aiming for BINARY COMPATABILITY with BeOS for the first release. Most of your argument doesn't make any sense if you know all the facts, so instead of just criticizing the project, why not read the website FAQ's.

      P.S. Whoever said we are creating OpenBeOS to try and take over the OS world? We like BeOS, we want to re-create it in OpenBeOS, and then once we have something on par with R5 BeOS, we can go forward with new ideas (which are already being hashed out in a separate sourceforge project called The Glass Elevator).

      :-P

      --

      "And like that ... he's gone."
    2. Re:Software Necrophilia by Anonymous Coward · · Score: 0

      NextStep? Oh, you mean OpenStep? Yeah, that is what Apple bought to provide the base of their Next Generation Mac OS replacement OS. What did they call it? Oh, that's right, Mac OS X! Well I'll be damned, there is competetion from then after all, especially considering the fact that apple has hired the BeOS filesystem engineer.

      Still, check out OpenBeOS, especially if you have ever used BeOS, as it is a very promising desktop OS, and much lighter than Mac OS X with similar (in a few aspects, superior) functionality. Both are microkernel related, both are fully WIMP GUIs with a powerful POSIX shell available, and both are very good for handing digital media. Of course Mac OS X is a much more capable Mach based Unix, while BeOS is a much more responsive pervasively multithreaded GUI. Depends on what you need more.

      Don't sell Windows 2000 short, it is still worth having, though more as a desktop than as a server. With NTFS it should be capable of anything OS/2 handled. And NTFS is far more expressive than any Linux filesystem I am aware of. I would love a stable and writable NTFS implementaion on a GNU system, especially if GNOME actually leveraged it. OpenTracker would be even great, but that might be asking for a bit too much. I hope that the "Atheos fork" BeOS/AtheOS API implementation over Linux brings some of this functionality to Free Software, but from what I've read so far, Necrophilia might still be the only option for some time to come. At least WINE has made significant headway, perhaps a loving burial of the MS Windows corpse will be an option soon enough (the body is starting to get cold).

      I won't aregue with you that the technology is what is worth preserving, but there is value in platforms as well. A colletion of technology can be hobbled together like most Linux distros, but that is not the same as a well planned cohesive system. BeOS had no innovative individual technologies whatsoever... the value was the synergy from the clean integration of preexisting technologies. The attempt to minimise kludges and legacy cruft made for a very responsive system with excellent usage characteristics.

      While it may not have been the most performant system, it was among the most responsive, which was more important for a desktop centric OS. It made my jaw drop to see BeOS coax workstation comparable performance from by lowly Mac OS clone, and I was giddily able to manipulate multiple playing movies, strectching them silkily while playing multiple MP3s forwards and backwards simultaneously. All of this, at 132 MHz with no "busy" icon, was not a small feat. I still feel that the BeOS experience is worth preserving as a whole, and not just for its component technologies, so I look forward to seeing what the OpenBeOS project releases.

      -castlan
      sorry for AC, don't wanna waste my mod points.

    3. Re:Software Necrophilia by fm6 · · Score: 2
      Whoever said we are creating OpenBeOS to try and take over the OS world? We like BeOS, we want to re-create it in OpenBeOS, and then ... we can go forward with new ideas ...
      That's very nice. But what is your goal? A viable software product isn't just a code base. It's a significant community of users applying the product to real-world problems. BeOS simply failed to create that community, and I haven't heard any compelling arguments that OpenBeOS will do any better.

      You're right, I'm ignorant as to how many people are working on OpenBeOS. There are thousands of open source projects doing interesting things. I can't even follow all the ones that are closely-related to my own work. I'll simply take your word for it that a lot of people are working on this particular one.

      But if that's true, I'm all the more discouraged. What is the goal to all this work? Just to avoid moving your desktops to Linux or OS X? Seems rather a lot of work devoted to a very limited goal. The sad fact is, you're actually working against having Be technology becoming more widely accepted.

      Maybe I'm just whining because I'd really like to play with some of this technology. But as long as this technology is only available in the form of a totally new platform, I don't have any room for it. My job already requires me to spend time with more platforms than I care to think about: various desktop Linux distros, Windows, Symbian, and .NET. My personal interests include PalmOS and Java. There's simply no time for me to integrate a whole new platform into my job or other work. (If there were, it would probably be one of the embedded or game-console Linuxes.) And I'm more flexible than most users, most of whom are totally resistent to trying new platforms.

      But if a Linux implementation of the Be file system or the Be file type model were to appear, I'd jump on it with both feet. I might even lobby for my companies development products to support them. But I guess you don't want that to happen.

    4. Re:Software Necrophilia by rahul_inblue · · Score: 1

      Two things ,,
      Why did you try linux? and Why did u ever try java and .Net ? both were significantly newer platforms during their time, and there did exist competitive technologies which were in existance for a long time. The point is to let the project mature and see what they can do , until then no one is asking you to jump.

      --
      _
    5. Re:Software Necrophilia by Anonymous Coward · · Score: 0

      You might like BlueOS. It's using a custom Linux core with Be API's on top. I think they aim to run recompiled Be apps and Linux apps. Personally I think that using the right tool for the job is more productive than looking for a swiss army OS. Be would be great for audio and video content creation on cheap hardware. For everything else, Linux/OSX/Windows covers it. Have you ever tried Be? It really is pretty snappy. QNX is also. I thought that Intel hardware just sucked until I loaded Be and QNX. They really are MUCH different. It's hard to go back when you've been spoiled. For the record, I do think you make a valid point. -- I just think that Be is different enough to be worth the trouble. And with OpenBeos being OSS, some of that technology that you like will surely be available for Linux eventually. I know how you feel. OS addiction can be quite distracting.

      God Speed!

  52. Dominic is at Apple! That rocks! by osgeek · · Score: 2

    ?K

  53. Re:Dominic is at Apple! That rocks! by osgeek · · Score: 2

    [Damn, I hate IE's text edit bugs.]

    Dominic, we are delighted to learn, has subsequently joined Apple as a file system engineer.

    This is the best news that I've had in a while on the Mac OSX technical front.

    Allright, Dominic! Get in there and kick some ass!

  54. Re:Microsoft is NOT putting SQL Server into Window by Malcontent · · Score: 2

    The indexing system in W2K is just about useless. I have it turned on and when I ask it to find a file given it's name it still takes over a minute to return answers. On linux or freebsd type in "locate filaname" and you get your answer instantly. I don't know what it does but it sure as hell can't find files fast. Like almost everything MS makes "it makes a lot of promises but delivers almost nothing"

    --

    War is necrophilia.

  55. 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.

  56. Why object oriented? by Tablizer · · Score: 1

    (* I prefer object-oriented graph filesystem *)

    I agree that graphs are superior to trees in most respects, but why OO?

    What specifically will that get you over a relational approach? OO approaches tends to tie stuff to a particular language because it over-integrates behavior to attributes, and behavior tends to lock you into a language unless you settle for a lowest-common denominator, which does not give you much besides a typical, bland API.

    http://geocities.com/tablizer/sets1.htm

    1. Re:Why object oriented? by WetCat · · Score: 1



      I mean not objects from programming OO, I mean real-life objects, kinda generalised files. I didn't mean, for example,
      inheritance.

      I.e. file that has 20 names, 100 links to it, some with orientation,
      extension, mime-type, role, security model, security level, etc...

      Any language can work with such objects and it's really no restrictions on API to that objects...

    2. Re:Why object oriented? by Tablizer · · Score: 1

      (* I.e. file that has 20 names, 100 links to it, some with orientation,
      extension, mime-type, role, security model, security level, etc... *)

      Why not use a relational system to get these? (I gave some base schemas at my link.)

      Relational technology is tried and true as anything. Besides, you can switch engines if needed to Oracle, Sybase, Postgre, etc.

      If you build a custom engine, then you cannot do this nearly as easily.

    3. Re:Why object oriented? by WetCat · · Score: 1

      You actually can. It's ok to use RDBMS for such structure.
      But it's overkill - it will need huge engine just to start, but that system doesn't need most abilities of RDBMS.

    4. Re:Why object oriented? by Tablizer · · Score: 1

      (* It's ok to use RDBMS for such structure.
      But it's overkill - it will need huge engine just to start, but that system doesn't need most abilities of RDBMS. *)

      Relational systems come in all shapes and sizes. What exactly do you want to keep and what do you want to chuck, and why?

      If you want it flexible, then you should not design limitations into it up front that you cannot later get out of.

    5. Re:Why object oriented? by WetCat · · Score: 1

      The main purpose of such filesystem is to be a primary filesystem,
      that can lie on physical medium. OS can be boot from it. I don't want much flexibility in search operations, I prefer less overhead in data structures, although giving more names and attributes to objects and links than in ordinary filesystem.

    6. Re:Why object oriented? by Tablizer · · Score: 1

      What if boot files were outside of (or in addition to) the DB file system? Maybe prefix them with "$" or something so the file system puts them in a special place to boot faster.

      I see no reason so far to limit db-based file handling just so a few files can boot faster or boot of there is some DB corruption. It would be letting the tail wag the dog.

    7. Re:Why object oriented? by leandrod · · Score: 2

      I followed the link to your home page, and I must say I was impressed.

      Nevertheless, I must say you will get only as far as SQL goes, and SQL doesn’t really gives you the full benefits of the relational model. While your ideas are certainly very interesting, they would be potentially even more powerful if they were recast in terms not of SQL tables, but of relations.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
  57. Re:AD doesn't yet have wide acceptance, DBFS doome by ceswiedler · · Score: 2

    Active Directory *is* LDAP, and they use standard Kerberos for authentication. You can use an OpenLDAP client to query every bit of information a Windows 2000 domain controller holds, and use MIT Kerberos to authenticate against it.

    Where is that standard-incompliant?

  58. More info please! by Crag · · Score: 1

    This sounds a lot like something I've wanted to do for years. Do you have any links to projects like this?

    I'm helping with something which could be used to implement what you describe: Coldstore.

    1. Re:More info please! by WetCat · · Score: 1

      I have at least 2 GUI (one is going to become production and second exsts as a prototype)
      that can really work with such filesystems.
      if you're interested, drop me a note at
      (REMOVE FOR NO SPAM)a_mdl@(REMOVE FOR NO_SPAM)mail.ru

    2. Re:More info please! by Vryl · · Score: 1

      Is coldstore still going? Seems stalled.

  59. Re:Microsoft is NOT putting SQL Server into Window by Anonymous Coward · · Score: 0

    I'll go a step further and say that I think there's something fundamentally wrong with Microsoft's free text search products. Index Server sucks, and even their public product support and MSDN search engines can't return consistent results.

    My guess is that the field is patented to all hell, and MS rolled their own rather than buying the tech needed.

  60. Re:Fsck meta-data by castlan · · Score: 2, Insightful

    Close, but replace "filename" with "attributes". On most Filesystems, an Inode is used to access the file. The filesystem also stores attributes like date created, and write permissions. To transfer a file from a Mac to a FAT based MS OS, you need to package the file to retain the metadata, as the Mac metadata (attributes) are more expressive than the FAT filesystem allows. This is no shortcoming of the Macintosh, just an unfortunate result of MS-DOS FAT being considered the standard Lowest common denominator Filesystem. To transfer a files from Unix to a FAT filesystem inflicts similar metadata loss, including multiuser data. This does not mean that FAT is superior, rather, the contrary. FAT is not the most restrictive filesystem either, as at least it has file Hierarchy data (directories or folders).

    Note that MS has remedies their shortcoming with NTFS, which is more expressive than many Unix filesystems, and is fully capable of maintaining full HFS Metadata. this is why Services for Macintosh (or whatever MS calls it) requires an NTFS FS to run. metadata is much more elegant than "structured files", which seem to be what you might prefer. A big downside with structured files (like the ID3 tags in MP3 files) is that if you do not know the predefined format for the file structre, then you cannot access the metadata. this prevents the useage of a standard systemwide metadata store, which can be very useful in GUIs and multiuser systems to say the least.

    -castlan
    gots to preserve my mods

  61. Re:grrrr by Anonymous Coward · · Score: 0

    Go cry me a fucking river, loser.

    (Note: I spelled 'loser' correctly)

  62. Re:Noooooo! by Anonymous Coward · · Score: 0

    Why do all the Indians always order Mountain Jew?

  63. Why NOT to use a DB file system by Anonymous Coward · · Score: 0

    http://www.namesys.com/whitepaper.html

    "The Naming System Venture" by Hans Reiser (of ReiserFS fame)

  64. How does this compare to Oracle's IFS? by hpavc · · Score: 2, Informative

    Oracle has a database based filesystem Internet File System/IFS that is pretty sweet.

    Supports protocols HTTP, WebDAV, SMB, FTP, IMAP, and SMTP gives the ability to store, manage, and search documents, presentations, multimedia, Web pages, and XML files.

    Also do Check-in/check-out, version control, and event notification features. Unlike most of the examples i have seen developers can extend these base features to build custom content management applications.

    --
    members are seeing something, your seeing an ad
  65. Dominic, a b-tree is not a compare function by Anonymous Coward · · Score: 0

    The comment by Dominic below: ...you do a case insensitive substring match aand a B-Tree is useless for that type of query. is wrong. That's a compare function not a b-tree function. A b-tree has no notion of greater or lesser or equal, it only knows what the compare function returns. The compare function can return case-agnostic results so that "Firetruck" matches "firetruck" and the b-tree algorithm takes the comparer's word on that and says they are the same too. (Dumass!) Dominic: Can Microsoft make a database file system fast? It depends on what they're trying to do, I think, is going to be the answer. It's very tricky. It's got to be appropriate for the things that you do. Benoit is right about B-Trees, really, in that they're a stupid data structure for most cases, because 99 per cent of the time when you do a Find, you do a case insensitive substring match aand a B-Tree is useless for that type of query .

  66. Re:Microsoft is NOT putting SQL Server into Window by Malcontent · · Score: 2

    Why would patents stop MS? They have stolen technology before. They simply drag the case out till the other company is almost bankrupt and then offer a settlement for pennies on the dollar. Remember this is a company which bitchslaps the dept of justice around like a two dollar whore. You think they are afraid of the patent office?

    --

    War is necrophilia.

  67. Err... by Otis_INF · · Score: 2

    they are not even considering putting the full-blown SQL Server into Windows. SQL Server is too resource-intensive.
    I find this very hard to believe. True, SQLServer eats up everything you feed it, but stays away from the stuff you don't give it: if you forbid it to use a certain CPU, it won't use it; if you tune it to only use XX% of the memory , it will only use that amount of memory (and databases use memory mainly for cache).

    they're thinking (nothing decided yet) about including MSDE, which is exactly the same as SQL Server 2000, except it is tuned for 5 concurrent users (and hard-limited to 10)
    MSDE is limited to 5 concurrent transactions, not users. So every 6th transaction (i.e. a T-SQL command) will get queued and has to wait for an empty slot. This will degrade performance but you can hook up 30 or more users on a single MSDE powered database without noticing it.

    Your point about 'including' MSDE and not SQLServer is weird: both share the same codebase and both eat up everything you give them. MSDE too eats up all the memory it can get, even for 5 transactions. Also: a DB Filesystem eats resources, plain and simple, because you have more data to store plus you're not just serving files but VIEWS on bits of data. So caching has to be intensive. Yes this costs memory and perhaps a lot of diskspace.

    As for Index Server: Index Server is ment to index textdocuments and documents of a certain format (office docs etc). It's a hog, indeed, but it also doesn't need much maintenance. It does it's own housekeeping, indexes files by itself. Asking a query by the windows search is a bit slow perhaps, but I've never had any performance problem when using indexserver as the searchengine on static websites.

    --
    Never underestimate the relief of true separation of Religion and State.
  68. That's not the point with MSFT DBFS by Otis_INF · · Score: 2

    As I see it, working with OS/400 is as if you're inside oracle or SQL Server: A table in these DBMS'es is a file in OS/400. Nothing special about that.

    What's the point in MS' DB filesystem is that you're not INSIDE a database, but ON TOP of the database. So you handle files and bits of data as you are doing today but they're not physical files but views (or query results as you wish) on the data in the database. That's something different than a filesystem with metadata connected to the 'files' like in the article, or an OS that is just a DMBS like OS/400.

    You could simulate the behaviour today if you store different pieces of a file in a database (SQL Server, Oracle) as blobs with metadata stored in related fields/tables. Query on the database, f.e. by selecting blobs based on a certain where clause on the metadata, and build some component that will reconstruct a file from the blobs. _THAT_'s what's all about.

    --
    Never underestimate the relief of true separation of Religion and State.
  69. dict.org by Anonymous Coward · · Score: 0

    it's spelled "looser", loser.

  70. Re:AD doesn't yet have wide acceptance, DBFS doome by Beetjebrak · · Score: 1

    Have you actually done this? I'll admit I haven't, and have been wary to do so since I keep hearing the same story: AD is not 100% LDAP, and the authentication scheme is not 100% Kerberos. If you actually have tried this, I'd like to know how you managed to pull it off properely where dozens of others failed..

    --
    Learn from the mistakes of others. There isn't enough time to make them all yourself.
  71. Re:UK naturalisation: 5 years? by Anonymous Coward · · Score: 0

    s/terrorist/freedom fighter/g

    It's a matter of perspective...

  72. My point exactly by Anonymous Coward · · Score: 0

    To clarify: they're thinking of "bundling" MSDE, not "integrating" it. So it wouldn't be installed by default, any more than IIS. As for the resource issue, of course you can tune SQL Server the same as MSDE, but how many users (esp. Windows users) are willing to "tune" their filesystems?? As you pointed out, Index Server's one saving grace is that it's very easy to maintain. Now if they could only get rid of all those memory leaks, improve performance, and perhaps index a bit more metadata (cough cough exemelle cough), then it might actually be worth re-enabling on my machine...

  73. Re:Microsoft is NOT putting SQL Server into Window by Anonymous Coward · · Score: 0

    This is due to a technical problem with the current implementation of the Windows shell. When you ask the shell to find a file, it will only use the index as long as it is not out of date. If the index is out of date, the shell will do a regular search of the filesystem. Unfortunately, as soon as a write is performed to an indexed file, the index is considered out of date until the next indexing operation.

    Before you start griping about "locate" under Linux, remember that locate will not necessarily find a file that has been created fairly recently. For whatever reason, Microsoft didn't think that this was reasonable behavior in the Windows shell, and thus ran into this problem.

  74. locate by horza · · Score: 2

    I agree that searching for files under Windows is so slow that I find rapid clicking around in folders yields a better average success time. I have to admit that I cannot countenance using a *nix box without locate. Especially when piped through to grep. Want to find the executable for application foobar? locate foobar | grep bin. Result comes back after a few milliseconds. Locate actually builds a database, usually rebuilt 4am each morning by cron, which is the reason it is so fast. If you've just installed a package and need to find where it has just put something then type "locate -u" to update db (though my sys admin friend tells me off for doing this as there is apparently a better way, my way works fine though) and then use locate as usual.

    Phillip.

  75. Re:AD doesn't yet have wide acceptance, DBFS doome by arberya · · Score: 1

    AD is a veneer of LDAP compliance. It needs the ADSI libraries to 'use LDAP'. If you connect from a Linux (or other OS), you have to jump through numerous hoops to do it. It implements LDAPv3 like it does all of its standards based protocols. It always sort of implemented. It does the bare minimum to say "Hey, we support LDAP v3". All I can say is look at Microsofts POSIX compliance.

  76. What I try by fm6 · · Score: 2
    Actually, when I first tried Linux (I think it was 7 years ago), I was most unimpressed. It was interesting, but there were too many silly little hacks. I wasted the better part of a day making Netscape work properly, 'cause of obscure silliness in Linux keyboard mapping. In the end, I thought, "OK, it's free, but can I afford it? Better to plunk down 50 bucks for Solaris x86 and get a coherent product."

    Time passes. Sun drops the ball on Solaris x86, and consulting companies like Red Hat and SuSE start attacking Linux's shortcomings. Finally I get hired by a company that wants to extend its Windows development tools so they also target Linux. This forces me to play with Linux some more, and I get a more positive impression. I even think it might replace Windows for my day-to-day work, 'cause Windows has gotten too bloated, brittle, and inflexible, and Linux is getting more mature and easy to use. Best of all, Linux is, by its very nature, unmonolithic and open to experiment.

    Alas, desktop Linux hasn't lived up to its early promise, though I think that might still happen.

    More time passes. I still work with Linux, but for various reasons I still spend most of my time on Windows. Our Linux tools aren't as successful as we'd hoped, but they're still pretty succesful. And now we're also gonna start targeting .NET and Symbian. I'd like to avoid getting into these platforms, lest my brain explode. But I'm responsible for documenting core features of our cross-platform API, so I can't avoid it.

    My history with Java is similar. I actively avoided it for a long time, then got a job where I had to learn it. Currently I write the odd web applet for friends.

    Bottom line: I can't jump into every technology that looks interesting. Too many constraints. Finite brain capacity. The need to earn a living. The desire to work on things that people will actually use. The business decisions of the people who sign my paycheck. If you want me to use your technology, find a way to integrate it with platforms I already use, or be ignored. Not fair? Perhaps. Life is often unfair.

    And as I said before, I'm actually more flexible than most computer users. It may be frustrating and boring to cater to their limitations. But if you don't, all the work you're putting into Be technology will only be seen by other Be enthusiasts. Not that you have any obligation to the rest of us -- but it strikes me as a nasty waste of human potential.

  77. [Semi-historical] Newton "filesystem" by JBHemlock · · Score: 1

    The Apple Newton is another machine with a database "filesystem". Instead of a traditional filesystem, it uses freeform object databases. The slickest thing about them are the way they integrate with NewtonScript (the high level Newton programming langauge), and the way they handle integration between multiple stores.

    To appreciate how well the databases (called "soups") integrate with NewtonScript, you'd need to understand a little about it. NewtonScript is an object-oriented langauge based on parent- and proto- inheritance, rather than class-based inheritance (there are subtle differences, but the basic point is that it is object oriented and supports inheritance). The NewtonScript objects (called "frames") can be written directly to, and read from, the soups. Instead of going through a serialization layer, where the object is "flattened" for writing to the database, you can just feed the frame directly to the soup. You don't need to define the format of the frame ahead of time, either, except for the slots (object members) that you will be indexing. This means you don't have to write identical cookie-cutter objects to the soup.

    Newton soups also handle multiple storage devices in a slick way. Each storage device on the newton is considered to be distinct (i.e.: you have the internal store, plus additional external stores for each memory card you stick into the Newton). On a low level, a soup exists on a single store. However, you can have identically named soups on several stores, and they will be automagically combined at a high level into a single "union soup". This happens transparently, even at the query level. If, for instance, you've queried a soup and gotten back a cursor (a regular database cursor, i.e.: effectively an array of frames from the soup), this cursor will always reflect the contents of the union soup you're querying in real time. If you eject a card that contains some of the entries in your cursor, they will disappear from your cursor. If you stick in a new card that has entries that would match the query that returned your cursor, they will appear in your cursor.

    This, combined with a rather free form linking mechanism between frames, made the Newton "filesystem" a pretty interesting and powerful database.

  78. Some people consider filesystems old hat by Bazzargh · · Score: 2

    ... and not just dev nodes in the filesystem.

    EROS claims to checkpoint the memory of the system - its running state - rather than have programs explicitly serialize state to save and so on. By doing this they can make a machine shut down and reboot in a matter of seconds into a consistent state with your programs apparently still running. This is different from hibernation - you can take the machine down at any time by pulling the plug and this will work.

    Its a different axis of filesystem from the 'store more metadata' stuff in this thread, but IMHO its a more interesting way to go. EROS's storage is transactional - to the extent that what is on disk always presents a consistent picture of what was in memory; user-level transactions are dealt with in programs. Its unclear from the register article whether the Be filesystem had this level of integrity.

    -Baz

  79. A self-correction by fm6 · · Score: 2

    It's worth noting that not all of the OpenBeOS team think in terms of "Give me Be or give me an abacus!" In particular, the file system team makes a point of describing their work as "a kernel add-on". Well, I guess that's architecture they inherited from BeOS. But one member of the team, Will Dyson, is also working on a Linux driver. Which I intend to try out at the first opportunity. The possibilities of integration with KDE are very intriguing.

  80. Unix *File* *System* lags. by fm6 · · Score: 2
    I agree that the filesystems on most Unix boxes are pretty dated. But that's a feature of a particular Unix component, not a basic feature of the OS. Unix (and Linux, which is basically a kind of Unix) is simply not tied to any particular file system.

    If you're a fan of the Be file system (and I may be turning into one myself), note that you don't have to use BeOS to use the Be file system.

  81. IFS: servers only by fm6 · · Score: 2
    IFS is pretty intriguing. But it's also pretty complex. Oracle products tend to have a huge cost-of-ownership, and IFS looks to be particularly bad. No only do you need to set up an Oracle relational server, you have to put a lot of work into defining mapings between the database and your other entities. Probably not worth the work unless your project is very big.

    In anycase, IFS is not a workstation filesystem, like BFS. Strictly for servers.