Slashdot Mirror


'Storage' to Replace Traditional Filesystems?

JigSaw writes "OSNews is reporting on Storage, an innovative project which aims to replace the traditional hierarchical filesystems with a new document store which is database-based (PostgreSQL). The current implementation, built under Gnome 2.x for now, offers natural language access, network transparency, and a number of other features. The project is currently in alpha (screenshots already available), and it is part of the next major generation of Gnome. It is currently developed by Seth Nickell, the person responsible for the enhanced Gnome usability on 2.x and its HIG, among other things."

100 of 599 comments (clear)

  1. i think by Tirel · · Score: 2, Interesting

    it's better for programs to abstract data like that, the fs should only to provide access to the medium, nothing else.

    1. Re:i think by laird · · Score: 4, Interesting

      I disagree, strongly. Files are an artifact of a bunch of bad implementation decisions when stripping Multics down to produce UNIX. What programmers want to be able to do is manipulate data structures and store them persistently. What files force you to do is waste tons of time writing code to take your data structures and write them out as sequences of bytes and read them back in.

      One OS that solved this nicely was NewtonOS. If you wanted to manipulate persistently stored data you opened a "soup" that contained objects. So if you wanted to, say, set up an appointment with someone for lunch, you could find the person in the address book "soup" and then create an entry in the databook "soup" recording the appointment, which would immediately appear in all other apps that dealt with appointments (because app's accessed the same data structures, and were notified of changes so that they could update). So your data was not trapped in a particular application's proprietary format, and users weren't forced to learn the artificial concept of a "file" but instead could think about "my appointments" or "my address book".

      If you haven't tried it, don't knock it. As a developer, and as a user, it was wonderful -- much more straightforward than "files" and "directories".

    2. Re:i think by glwtta · · Score: 3, Insightful
      and users weren't forced to learn the artificial concept of a "file"

      Um, artificial as they may be, these so called "files" have been around for some time, in fact long before computers. Users can quite intuitively understand the concepts of "file" and "folder." I really think you are trying to make the difference seem greater than it actually is. (on the user side, that is)

      --
      sic transit gloria mundi
    3. Re:i think by mangu · · Score: 2, Insightful
      What programmers want to be able to do is manipulate data structures and store them persistently


      What programmers want is to be able to manipulate data. Period. What's so good about unix is that everything is a "file"; for instance, you can manipulate data coming from a sound card with exactly the same code you use to manipulate a sound file. You can't do this with this so-called "storage".

    4. Re:i think by spitzak · · Score: 3, Interesting

      "Files" are not a bad idea. It is nice to have an interface of commands that is limited in size and easily serialized (ie open/read/write/seek). If Unix had instead mmap'd files in it's original design there would probably not be transparent access to network file systems or many of the other things we take for granted today. So the design of files was actually a huge win.

      1. The primary problem is implementation. Filesystems today are designed to store small numbers of very large files (ie more than 1K in size). Anybody who wants to store "objects" that are smaller than about 1K in size (like if you are implementing a "registry", for instance) is forced to write or use a database program, with needless complexity, to force all this data into a single file, so that it can be stored efficiently. What we need is a design where tiny files (like 4 bytes) can be stored efficiently.

      Supposedly ReiserFS addresses this, but it is not clear if it does the necessary level of compression: ideally if you had 100 files with the same 50-bytes name and 1 byte stored in them, all those names would be in the same 50 bytes on the disk.

      Sadly NOBODY seems to be trying this, and keep spouting "attributes" and "registry" and "config file". Those are all work-arounds for poor file systems.

      All files must have the capability of being a "folder" and having subfiles. Any time anybody says "attributes" this should mean this sort of subfile.

      2. The other problem is the blinders so people believe the "filename" is some sort of user-friendly data. This leads to brain-dead ideas like "case independence" and "wide characters" and the fact that certain bytes like "/" and zero are disallowed. This requires programs to cook data in strange ways to use it as indexes into the filesystem. This used to be true of the *data* in old systems, and we know now how horrid that was (only a rudimentary piece of that old stupidity remains in Windows text/binary distinction but I hope newer Windows systems will move that out of the kernel).

      The filesystem should identify files with a counted length of bytes, just like the data in the file. In fact "name" should be a subfile of any file, and you rename it by writing a new "name". I don't think this can be solved without fixing existing filesystems.

      (for "user friendly" names some form of quoting is going to be necessary. Since Windows has made "\" useless I would use that for quoting. "\0" is a null, "\\" is a backslash, "\/" is a forward slash. Just "/" itself indicates a break between hierarchy levels. For semi-Windows compatability you can also make just "\" followed by an unassigned code also mean a break between hierarchy levels.

      3. The other thing that is needed (but could be done atop existing implementations) is to change the model of files. They should be "atomic" in that when you open a file for writing, you get an empty file, and this is invisible to any other program. The file only appears at the moment you close it, and only to programs that then open it for reading (programs with the same name already open continue to see the old file). Current files where you can replace a block in the middle are a special case that only a few programs use, and support can be operating-system dependent (and while you are at it, try making it so you can insert or delete data and not just overwrite).

      4. As for "database" this can all be done with symbolic links (which can be implemented atop any file system which efficiently stores identical small blocks of data).

  2. Windows' filesystem by mic256 · · Score: 3, Informative

    I think Longhorn will be the first Windows with a database filesystem. It will probably be based on SQL Server

    1. Re:Windows' filesystem by Serapth · · Score: 2, Interesting

      Yes, from what I have read, that is true. MS plans to use SQL server 2k3 as the underlying technology for the file system for longhorn. What I just dont get though... if SQL is going to be used as the file system... then every Longhorn PC in a sense either needs to have SQL ( or MSDE ) or needs access to a SQL server which seems unlikely as you would bottleneck on the network speed.

      What then happens to SQL as a MS product? If its built in to every OS, why then would anyone buy it. Ive seen MS build other peoples apps into their products, but never seen them do it to their own. Are they actually going to kill off a profit centre?

    2. Re:Windows' filesystem by cyclist1200 · · Score: 3, Informative

      The filesystem will be based on SQL Server 2003, but it won't be a fully functional version of SQL Server.

    3. Re:Windows' filesystem by lurvdrum · · Score: 3, Interesting

      Who owns the patent on this type of filesystem implementation - there must be one? Microsoft, IBM, Seth...SCO?

    4. Re:Windows' filesystem by Zocalo · · Score: 4, Interesting
      Good guesses. Replace "SCO" with "Apple" and you probably have the right triumvirate. All three were working on this in 1995 or so - Microsoft was going it alone with "Cairo" (should have been Win2K) and IBM/Apple were working togther on "Taligent"/"Pink". Neither project saw the light of day, although whether this was because of the system requirements or a marketing decision based on the paradigm shift is a matter of opinion.

      The idea was probably stolen from Xerox Parc in the first place, of course.

      --
      UNIX? They're not even circumcised! Savages!
    5. Re:Windows' filesystem by Pfhreakaz0id · · Score: 5, Informative

      My guess is it will be something like the MSDE engine. So it will be limited. For those who don't know, MSDE is just an embedded, single-user version of the SQL engine. I worked on an app once that used it for laptop users who were offline from the network and would have a copy of the database to search and enter orders in, which would auto-replicate with the master SQL server when it got back on the LAN. It was pretty neat.

    6. Re:Windows' filesystem by ReelOddeeo · · Score: 2, Insightful

      I think Longhorn will be the first Windows with a database filesystem. It will probably be based on SQL Server

      First, about being first. Microsoft will have the First GUI. Microsoft will have the First internet web browser. Microsoft will have the first 32-bit clean API. Back in 1982, some big fat PC magazine (not Byte, but one with PC in the name) said that MS-DOS 2.0 would be the First OS to have a herarchical filesystem! I think I could go on and on, but I trust my point is clear regarding Microsoft having the first database filesystem which they most certianly do not. (Can you say BeOS.)


      I think Longhorn will be the first Windows with a database filesystem. It will probably be based on SQL Server

      Second, Microsoft wants their database based fileserver to be reliable. So maybe it will be secretly based on MySQL. :-) Ooops, wrong license. I meant PostgreSQL.

      --

      Those who would give up liberty in exchange for security and DRM should switch to Microsoft Palladium!
    7. Re:Windows' filesystem by Zocalo · · Score: 3, Insightful
      Yeah, but as I mentioned in an earlier post, *all* filesystems are databases of some type, it's just a matter of context. Generally, when someone says a "database filesystem" today, what they actually mean is "a relational database driven, virtual filesystem providing an infinite variety of views onto a soup of metadata". I think I prefer the former and leaving the rest up to inference, but I'm sure that when these new products finally ship the marketroids are going to think otherwise.

      I do deserve my wrists slapping though... I'd completely forgotten about BeOS! For shame!

      --
      UNIX? They're not even circumcised! Savages!
    8. Re:Windows' filesystem by simonecaldana · · Score: 5, Funny

      > The filesystem will be based on SQL Server 2003, but it won't be a fully functional version of SQL Server.

      you mean it will be a standard version of SQL server? :)

    9. Re:Windows' filesystem by deque_alpha · · Score: 2, Informative

      uhh... he said first Windows with db filesystem, not first OS. Read more carefully before you go on crusade.

    10. Re:Windows' filesystem by duliano · · Score: 2, Interesting

      Also, although I agree with you regarding your filesystem to database comparison, running a rdbms engine --even if it is stripped down creates yet another abstraction layer between the user request and the hardware. I know from using SAP on high volume transactions systems that even Oracle's dbwr's (or even db_ioslaves) can get backlogged during periods of high write activity. I think I am going to take a "wait and see" approach with this type of filesystem.

  3. so is everyone copying BeOS by Anonymous Coward · · Score: 4, Interesting

    It's really a sad that there was a perfectly good implementation of database file system, but the company wasn't able to topple a monopoly and got squashed. MS really should have just bought BeOS and ported everything over to it. They could have just called it LongHorn and released it this year instead of waiting until 2006.

    1. Re:so is everyone copying BeOS by Twylite · · Score: 4, Insightful

      Summary of developments:

      • BeOS has a good idea
      • Microsoft announces a breakthrough in file system technology (around 1996), nothing happens
      • newdocms announced on Slashdot in January 2003. Integrates with KDE, so no-one cares
      • Microsoft announces WinFS plans for Longhorn. Slashdot decides that Microsoft sucks.
      • Initial release of Haystack from MIT. Screenshot has XP interface so no-one gives a toss
      • WinFS is reviewed, Slashdot has a flame war about file system layout, and concludes that MS sucks and a database file system is a stupid idea anyway and no-one wants one
      • YEDFS (Yet Another Database File System) announced calling itself "Storage". Integrates with GNOME. FLOSS community bows and worships the superiority, leadership and sheer innovativeness of the application.
      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
    2. Re:so is everyone copying BeOS by jilles · · Score: 4, Interesting

      Be-os deserves some credit for merging meta data with a file system. However, a real database goes a few steps further in terms of the ability to query, to do replication, remote data access etc.

      Essentially, the Be-OS filesystem, while much richer than other filesystems, is still a filesystem. This Storage thing is a full blown SQL database in the first place.

      Essentially a normal filesystem is a hierarchical database where as modern databases are relational or object databases. Relational databases have proven themselves for storing complex data over the past few years.

      Some scenarios to give you a clue as to why the distinction matters: you can set up a database trigger to track changes in wordprocessor documents (i.e. automatically update some table with version info whenever you click save); you can involve external databases when doing a query on your own database (e.g. the imdb example in the Storage proposal, a tv guide); emulate a hierarchical file system by associating directory attributes with an object; emulate multiple orthogonal hierarchical filesystems; integrate security policies and encryption into the database (could also be used for DRM, I know this is a sensitive topic); make the objects themselves database records (e.g. contact information); use report generators and queries to dymamically generate complex documents (e.g. software documentation, financial overviews, etc.). Use special purpose software to browse specific types of information (e.g. a picture album, movie library or an old fashioned filebrowser).

      --

      Jilles
    3. Re:so is everyone copying BeOS by FooBarWidget · · Score: 2, Insightful

      "WinFS is reviewed, Slashdot [slashdot.org] has a flame war about file system layout, and concludes that MS sucks and a database file system is a stupid idea anyway and no-one wants one"

      Wrong! Slashdot concluded that WinFS will make computing soooo much easier that it will blow the competition out of the sky and that if Linux doesn't caught up fast it will die off.

      Open your eyes people. Slashdot is not an anti-MS site anymore!!!

    4. Re:so is everyone copying BeOS by leandrod · · Score: 2, Informative
      > BeOS has a good idea

      No!

      When Codd created the relational model, there wasn't the current Unix filesystem idea... the relational model was always intended to store data, and files are data.

      System R, SQL and DB2 prototype, was intended to be the basis for IBM FS.

      IBM realised this in OS/400, which being proprietary hasn't the influence it deserves.

      MS also wanted Jet to be the building block of its OSs since its inception, that is, sometime before MS Access release.

      > newdocms announced on Slashdot in January 2003

      Sorry, but NewDocMS is based on SQLite, which is typeless and but a library... simply not good enough to be attractive. Storage is based on PostgreSQL, the real thing, and aims high.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
  4. Finally something new to play with! by Trigun · · Score: 4, Interesting

    Hopefully they plan on extending this to the networked environment, allowing multiple domain/realm file permissions, authentication, and encryption.

    Anything to replace NIS and its bastard stepchildren.

  5. Replacement for ls by Anonymous Coward · · Score: 3, Funny

    SELECT * FROM MY_FILES

    1. Re:Replacement for ls by Mwongozi · · Score: 4, Funny
      SELECT * FROM Users WHERE Clue > 0
      0 rows returned

      Ah, humour.

    2. Re:Replacement for ls by sharkey · · Score: 4, Funny

      SELECT * FROM MY_FILES
      WHERE TYPE = 'video/x-mpeg'
      AND TITLE IS LIKE ('*tit*, *blonde*)
      ORDER BY PERV_RANK

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
  6. Obvious advantages by tsetem · · Score: 5, Interesting
    There's lots of advantages to this kind of system, especially if interfaces are written for other OS's (Windows, Solaris, OSX)
    • Networked file system. No more NFS/SMB hacks. Everyone accesses the data in a common way, and can access the same data
    • Integrated mime-types. No more relying on file extensions and other hacks. The mime-type (and subsequent viewer) is right there in the query
    • Integrated version control. Have and keep a history of all of your files as they were managed and maintained through their lives, as well as a history of who modified them. If this aspect could be enhanced with branching & merging, then would make other CM Systems (CVS, ClearCase) obsolete?

    Of course it's only wishful thinking. I'd be nervous to see exactly how this integrates into other "Legacy" applications. I can also see be performance penalties since you are now querying a database, rather than looking at a simple file structure...
    1. Re:Obvious advantages by dabadab · · Score: 5, Insightful

      "Integrated mime-types. No more relying on file extensions and other hacks. The mime-type (and subsequent viewer) is right there in the query"

      And how does that meta data gets to the db? Oh, right, it will rely on file extensions and other hacks :)

      --
      Real life is overrated.
    2. Re:Obvious advantages by azaroth42 · · Score: 4, Insightful
      Obvious disadvantages:

      SQL is slow compared to things like BerkeleyDB

      We already have journaled file systems that can save metadata (though not user defined, I think)

      Your database becomes corrupt, you lose everything.

      Sorry, give me something that gives me back my data -fast-. If I want to do selects for files, I'll use locate and xargs.

      --Azaroth

    3. Re:Obvious advantages by Anonymous Coward · · Score: 3, Insightful

      XFS limits user-defined extended attributes to 32 KB. Big, but not unlimited.

      Also, extended attributes are fundamentally broken because they're stored in the inode. They do not survive, for example, a copy operation. Worse, they do not survive an open/save cycle in most cases, because most programs do not write to open files. Instead, they open a new file under a temporary name, write the data into it, close it, unlink the original file, then rename the temporary file to the original file's name. That way the data is safe if the program or computer fails during the save operation. This creates a new inode for the file data, however, which means extended attributes go bye-bye.

      Extended attributes are not the answer. I'm not sure exactly what the question is, but I'm sure extattr are not the answer.

    4. Re:Obvious advantages by Sunracer · · Score: 2, Informative

      But there are no file extensions to rely on in the first place. When a file is first created, it will be given a MIME type when it's put to the DB. And from there, the metadata will be transferred when retrieved/copied/whatever.

      --
      "The Internet, of course, is more than just a place to find pictures of people having sex with dogs." - Time Magazine
    5. Re:Obvious advantages by ryanvm · · Score: 3, Interesting

      You don't happen to be familiar with the Mac's old "fork" filesystem do you? Metadata was kept in a seperate file (or fork). It made downloading or transferring files with non-Macs a bitch.

    6. Re:Obvious advantages by laird · · Score: 4, Interesting

      "And how does that meta data gets to the db? Oh, right, it will rely on file extensions and other hacks :)"

      Like it has in MacOS for 20 years -- when applications write files, they tell the OS the filetype. The only time MacOS looks at extensions is if it's dealing with files transferred from operating systems that don't have relevant metadata. Unfortunately, that would be nearly every other OS. :-) But if Linux started transferring filetype metadata that would be a nice step in the right direction.

    7. Re:Obvious advantages by jeti · · Score: 3, Informative

      You are aware that almost all internet protocols transfer a MIME-type with each file?

    8. Re:Obvious advantages by smallpaul · · Score: 3, Insightful

      The file should be self-describing. It should have a header saying its type. You can never trust intermediary software to properly keep data and metadata together. The problem isn't just other operating systems. It is file formats like ZIP and prototols like FTP. Plus there is a problem that the file type a user gives a file on their computer may be just a means of triggering a bit of software (e.g. change a JSP file to HTML so it launches your HTML editor). But the intrinsic type of the file should not be corrupted by these user preferences.

    9. Re:Obvious advantages by Chelloveck · · Score: 2, Informative

      Amen, brother! You just can't rely on metadata stored separately from the file itself. If I ZIP a file, or transfer it via XMODEM, or copy it onto an obsolete FAT-formatted floppy, that file should retain all it needs to be usable.

      Some metadata is bound to be lost, such as its modification time or even its filename. If you can afford to lose this sort of metadata, then go ahead and store it separately. But if the file can't afford to lose this stuff you'd better make sure it's part of the data, not just the metadata. It'd better transfer intact when I send the file serially or copy it to and from a legacy filesystem.

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
  7. Re:Ahead of the game. by kubla2000 · · Score: 2, Insightful


    Yeah, and as Longdong gets pushed back and delayed and delayed and pushed back and postponed and delayed, it'll be last to market but microsoft will still have been the first to announce it. I guess that's more innovative than they've been in the past when they'd simply wait for someone to do something interesting before buying them out.

    It's not enough to say. One has to do. Microsoft has proved many times over that it often makes grand announcements only to provide something far more watered down by the time they get to market.

    We'll see what they're DB-based file system really is when (and if) it gets here.

  8. How does the metadata get into the database? by farnz · · Score: 5, Insightful
    My major concern with all these database type filesystems is that the gains are always shown as things like, "Find all films directed by Steven Spielberg", and yet this is not information that the computer can necessarily gather for itself.

    Outside of a work environment, I've rarely encounter anyone who keeps consistent, useful filenames, let alone metadata indexes; it seems to me that people will skimp on the metadata, and thus limit the usefulness to metadata that the computer can collect automatically ("All movies that last under 90 minutes"). It's like CD collections, or books; libraries have nicely catalogued and ordered collections. Private individuals don't; they have roughly ordered collections on the shelf, and don't bother keeping them in any better order. I suspect the same will happen with these metadata systems; people won't do the work needed to make them truely useful.

    1. Re:How does the metadata get into the database? by henbane · · Score: 4, Funny
      "It's like CD collections, or books; libraries have nicely catalogued and ordered collections. Private individuals don't; they have roughly ordered collections on the shelf, and don't bother keeping them in any better order"

      Call yourself a geek? How can you possibly but something on a shelf without first checking to see that it's in a proper place observing the subtle cross reference system that backs up the obvious system. Man, I hate it when people move my stuff.

    2. Re:How does the metadata get into the database? by Tom · · Score: 4, Insightful

      That's why we have community products. For music, CDDB works pretty good and is a working real-life example.

      Other metadata is automatically inserted. When you install OpenOffice, it asks for your name and inserts that as the author into any new documents you create, for example.

      Sure, the metadata on my personal machine will never be comparable to what a library could do. But it doesn't have to be - it has to be useful for me, not - like the library - for thousands of people with very different interests and approaches.

      --
      Assorted stuff I do sometimes: Lemuria.org
    3. Re:How does the metadata get into the database? by noselasd · · Score: 2, Insightful

      Right. Individuals hate having their stuff messed with. So files are kept in a mess, but _you_ know where they are. Atleast untill you use Storage, which will mess them up.

    4. Re:How does the metadata get into the database? by Anonymous Coward · · Score: 4, Insightful

      There are two kinds of metadata: intrinsic and extrinsic. Intrinsic metadata, as the name would imply, is information that's contained entirely within the file.

      Some intrinsic metadata can be extracted with automation. For example, it's pretty trivial to examine a TIFF and tell you that it's X by Y pixels in a given color space. It's harder, but still possible, to tell you that the TIFF is predominantly red and green. It's impossible for the computer to tell you that it's a picture of a barn.

      The same is true of extrinsic metadata: some of it can be extracted automatically, but not much. An example of extrinsic metadata would be a relationship. The computer can tell you that main.c and somefunction.c are both C language source code files, but it may or may not be able to tell you that they're both part of the same program. If the two files are explicitly related to each other through a makefile or some such, then the computer can know that they're related. But consider the collection of JPEGs I just copied to my home directory from my digital camera. A dozen of those pictures were taken in Fiji. The computer cannot know this unless I tell it, nor can it know which pictures were taken in Fiji and which were taken in my back yard last Tuesday. Thanks to my camera, the computer can know what apeture and focal length were used for each picture. In theory, if my camera had a GPS receiver in it, the computer might even be able to tell me there, on earth, the camera was when it snapped a given photo. But these are just automatic methods of telling the computer about the pictures. They're conceptually no different from sitting down and typing the information in. The point remains that the computer can figure out some things on its own, but it cannot know most things unless it is told.

      You don't have to strain your imagination to think about this stuff. Consider your MP3 collection. Your computer can tell you that a given MP3 is 6:15 long, and that it's 192 kbps, and that it's stereo. It can't know that it's "Treefingers" by Radiohead unless somebody tells it first.

      So you're basically right: automatically extracted metadata is marginally useful, but the really useful stuff has to be manually entered. And generally speaking, even in business environments, that sort of information simply never makes it into the database. It exists exclusively in people's heads.

      That's the biggest challenge of digital asset management--which is, incidentally, essentially what we're talking about here. The biggest challenge is how to take information that people have in their heads and store it in some structured, persistent form. That form might be a three-ring binder or a card catalog or an Oracle database; the challenge is the same even if the technology is different.

      Bottom line: this technology is really neat, and has limited applications in which it's very useful. But it is not generally useful, nor does it have widespread applications.

    5. Re:How does the metadata get into the database? by selderrr · · Score: 4, Insightful

      Very true and insightful !

      Another argument to prove you right is the "rate this song" options in iTunes. With that feature, one can assign 1 to 5 stars to a song so that later, you can quickly select your favourites. Such system is flawed in 2 ways :

      - I have yet to encounter anyone who uses it exhaustively. Most folks rate a few dozen songs. I have a library with 9000 mp3s and sure as hell I'm not going to spend a whole week rating them.
      - I have yet to encounter someone who uses it consistently. Today I might consider Chris Isaak a 4star song since I'm in a depressed mood and it's raining outside. Tomorrow the weather might be beautifull and I mod him down to 2 stars cause he's a bloody negative wanker.

      This is offcourse iTunes specific, but it shows that the assignment of metadata is far far far more complex than the methods to search/organize the stuff, which is what the "Storage" software above is about.

      As an extra complication : consider that my metadata might not match someone elses. For instance if I were to label a mail "message from my brother", the same content would be "message from my son" for my father !

      The fact that metadata based filesystems are not on our desktop is perhaps more to the fact that it's not a valid solution for data on desktop computers. Maybe, just maybe this is not due to MS squashing Be, as someone else was karmawhoring above.

    6. Re:How does the metadata get into the database? by ryanvm · · Score: 2, Insightful

      Good points, but you're just talking about subjective metadata. The usefulness of which is certainly debatable. But what about factual metadata? Consider a downloaded movie that may have fields like: Year, Director, Rating, Genre, Studio, Cast, etc.

      Granted the end user is not going to be likely to maintain this information, but that doesn't really matter. The end user is also not likely the source of the material in the first place. I contend that metadata is more useful for material that the user has downloaded or purchased. That data SHOULD have accurate metadata and could be extremely useful.

      Consider the following meta-search: ALL MOVIE FILES WITH YEAR>2007 AND RATING>X AND GENRE=SILENT AND CAST='BRITNEY SPEARS'

    7. Re:How does the metadata get into the database? by hoggoth · · Score: 2, Funny

      > Organizing by color works better with CDs than books

      Geez, do you have to count how many times you wash your hands? Do you make sure your right turns always equal your left turns?

      Try this:
      Leave a big cardboard box on the floor. Dump all your CDs into it. When you want to listen to music, fish around and enjoy the surprise at what you find.
      Enjoy the extra free time you have now that you are not obsessively organizing your collection.

      --
      - For the complete works of Shakespeare: cat /dev/random (may take some time)
    8. Re:How does the metadata get into the database? by gr8_phk · · Score: 2, Interesting
      "I've rarely encounter anyone who keeps consistent, useful filenames, let alone metadata indexes".

      If it allowed natural language interaction with the machine, people might just provide more information. Since it begs for a voice interface, why not have the machine ask a few questions about a document while you're editing/viewing it? When a new file comes in via email with no metadata, the machine says "what's this all about?". You'll naturally describe it using words similar to those you'll use to retreive it later. Sounds fantastic if all this can really be made to work.

  9. Re:Hmm by UnuMondo · · Score: 4, Informative

    No, because doing away with the root filesystem, user stuff in /home, config files in /etc, and so forth would break a number of Unix standards Linux's big advantage of being able to run many Unix apps (if you compile from source) would disappear. Storage will apparently be an interface to the existing real filesystem. Joe User won't know the difference.

    --
    GPG Key ID: 8C444E97 Fingerprint: E7BA D851 9714 8D97 C4F9 1777 8168 6913 8C44 4E97
  10. ext3 + sql by Dreadlord · · Score: 2, Interesting

    I don't know how a database system can improve a file system's performance, especially with the unnecessary overhead associated with, the current state of the ext3 file system is doing quite well, and updatedb/locate works fine for me.
    What can really interest me is something like updatedb/locate but with SQL syntax support, this could be awesome.

    --
    The IT section color scheme sucks.
    1. Re:ext3 + sql by rtaylor · · Score: 4, Informative

      It won't improve performance if you know exactly what you are looking for. The goal is to improve performance when you only have a vague idea of what you want.

      This isn't a place to store config files or cronned shell scripts which have definitive locations and content.

      This is a replacement for that 5TB corporate filestore with a 50 directory hierarchy that nobody can figure out, and a content based find takes days to complete.

      --
      Rod Taylor
    2. Re:ext3 + sql by stephenbooth · · Score: 2, Insightful

      It also solves the problems of if I have a letter to Smith and Sons (Builders) about a bridge construction project do I store it under letters/Smith&Sons/Bridge or Smith&Sons/letters/bridge or bridge/Smith&Sons/letters or projects/builders/bridge/smith&sons/letters or what. With a database based file system you store it once and tag it as a letter, to Smith and Sons (Builders) about the bridge construction project (and any other tags you would like to apply to it) and then when you want to find it again you can just go through which ever access path you like. Also you can then find all letters, all documents relating to Bridge construction, all documents relating to Smith&Sons &*c.

      Last time I posted about something like this a coupel of people posted responses stipulating an 'ideal' directory path. To preclude this I must point out that whatever method of classification makes most sense to you and the tasks you do won't make sense to someone else and the tasks they do. For example to a project manager it makes sense to classify documents by the projects they are part of then probably by the document type as they are only interested in the projects they manage and don't want to have to navigate through multiple branches of a directory tree to locate all of the files for their projects (if they are working ont he brige construction project they want all the documents to be under a directroy called 'bridge_construction' but for a finacial director it makes sense to classify the documents by type they are as they are only interested in financial documants and don't want to have to navigate through multiple branches of a directory tree to find all of the financial documents (if they are looking for all invoices from Smith and Sons they want to find them all under invoices/smith&sons). A database based storage system allows everyone to view the data int he way that makes most sense to them and the way that they work.

      Stephen

      --
      "Don't write down to your readers, the only people less intelligent than you can't read" - Sign on Newspaper Office Wall
  11. Re:Screenshots ? by tsetem · · Score: 2, Funny

    > I know, I'm the first to look for screenshots, but antialiased filesystems are a bit too much, maybe.

    Reminds me of an internal joke we have here. Our ClearCase file server was an SGI.

    Why?

    Because the filenames were rendered so much prettier than on a Linux or Sun box...

  12. Limitations in the home edition by yerricde · · Score: 5, Informative

    What then happens to SQL as a MS product? If its built in to every OS, why then would anyone buy it.

    Remember how Windows XP Home and Pro editions can serve files only to less than a dozen simultaneous clients? This is to boost sales of the IIS bundled with Windows 2000 Server and now Windows Server 2003. Microsoft SQL Server Home Edition will probably be limited.

    --
    Will I retire or break 10K?
  13. AS400 did this 20 years ago: by +mikepb78 · · Score: 5, Informative

    The filesystem on AS400 is actually a db2 database and it work quite well

    1. Re:AS400 did this 20 years ago: by EarthTone · · Score: 2, Insightful

      Well sure, but it hasn't successfully been done on a desktop OS yet.

  14. Re:Ahead of the game. by Serapth · · Score: 2, Interesting

    To my understanding, the delay in Longhorn's release is a result of the TrustWorthy computing initive...

    This, IMHO, is a good thing. The big difference between MS and Open Source on something like this... in Open Source land, you can often see progress from day one... no matter how unstable it is. With MS, you wont see anything until the whole product is done... Not saying one is better then the other, but...

  15. Why link directly againsat libpq? by Wdomburg · · Score: 2, Insightful

    It seems silly to tie the implementation to a single database, when gnome-db is fast approaching 1.0.

    1. Re:Why link directly againsat libpq? by rtaylor · · Score: 3, Informative

      Their feature list say it will work with Oracle and other SQL99 compliant databases, so I would assume it isn't linked against libpq directly.

      --
      Rod Taylor
  16. Re:filesystem is a database by Viol8 · · Score: 3, Insightful

    "What this world needs is a really big injection of orginal thought"

    They are original ideas, they just don't make it into the PC world where MS dominates. MS come up with as many original ideas as McDonalds
    and since all KDE & Gnome (and frankly most open source projects) are doing is playing catchup with MS then originality is never going to be
    a prime concern.

  17. Re:Windows? by Zocalo · · Score: 5, Insightful
    Not quite, NTFS is a traditional file table with some bells and whistles, but it's not a "database" in the sense meant here(1). The next version of Windows, "Longhorn", is supposed to introduce a new file system called WinFS that will use a version of SQLServer as its backend. Whether they will actually deliver or not is another matter, since we were promised this in 1995 with Cairo and Taligent (remember them?), and now that Longhorn appears to have been pushed back...

    There are also issues with gaining acceptance for the change in the way things work. This kind of thing has not really been done on a large scale in the wild before, on any OS, so whether people will be willing to accept the security and reliablity issues that may ensue is another matter. For example, what are the implications of a compromise in the database engine? MS is planning on using SQL, so if things go awry and it becomes possible to maliciously inject raw SQL to the filesystem interface... Oops. On the otherhand, the benefits for data retrival are *huge*. Imagine being able to find any audio files on your entire system by Justin Timberlake or Britney Spears and delete them all in one go by searching on the tag fields! ;)

    (1) Technically, all filesystems are databases, it's just that current ones are a collection of flatfile database tables that can point to each other, generally in a heirarchial manner. When people say "database" in the same sentence as "filesystem" they usually mean "relational database". As an aside however, high end databases usually forgo the need for a file system and provide the ability to write their tables directly to disk on a dedicated partition.

    --
    UNIX? They're not even circumcised! Savages!
  18. "Damn, I left that on my roommate's desk" by kfg · · Score: 5, Insightful

    "Well, where do you go?"

    "Stanford."

    "No problemo, I'm heading that way later and I can grab it for you. What's your room?"

    "Dorm 5, Room 109. It's the desk on the left."

    ( We didn't bother to state earth.us because we were already inside those directories)

    Yes, yes we do think heirarchically. Most of the history of human thought has been fitting everything we can lay our filthy little brain cells on into heirarcheis, whether they wish to fit into them or not. It's intuitive.

    As for natural language didn't we learn about that with COBOL? Natural language only speeds the learning process slightly ( the majority of the learning still lying in the realm of understanding the basic concepts involved), but then becomes a pain in the ass forever afterward.

    Looking at the screenshots it's also ugly as all sin. The physicist in me can't help but feel that a model that ugly can't possibly be correct.

    I think this makes just about as much sense as using a document preperation language (XML) as the basis of a database.

    Which is to say, none.

    KFG

    1. Re:"Damn, I left that on my roommate's desk" by lawpoop · · Score: 3, Interesting
      Human beings can and do think heirarchically, but that doesn't mean it's the end-all-and-be-all of organization.

      I think the examples he shows are pretty good. In my mp3 collection, I would like to see "All bluegrass songs" or "all remixes of Parliament Funkadelic stuff". How do you propose to do this in a hierarchical filesystem? Most of my bluegrass artists are under 'bluegrass', but then there are some bluegrass songs that were in non-bluegrass artists and albums folders.

      In my workplace we are having the same problems. On our shared folders, we have shipping documents in each clients' folder. But then, what if we what to see all shipping documents from a particular vendor? Currently, we would have to go into each customers' folder (which are also broken down by year archives) and grab all documents which *might* be from said supplier, and then open each one, and look to see, because the supplier name isn't in the filename. It's horribly broken, which is why we are moving to a database storage system for such documents.

      --
      Computers are useless. They can only give you answers.
      -- Pablo Picasso
  19. Re:Hmm by orb_fan · · Score: 2, Interesting

    Not true.

    This isn't a replacement filesystem, just a document-storage system - you won't be able to access your documents easily from a shell.

    It is a good starting point though, once working, the next step would be to compile it into the kernel, so that you can create Storage partitions, etc. and be able to do something like:

    cd music by U2

    Now that would be cool

  20. Random thought for the day... by fluxrad · · Score: 5, Funny

    Am I the only one that isn't totally into the idea of "googling" data on my hard drive?

    Granted, it's mostly pr0n on there, so it's almost the same thing, but still...

    --
    "It is seldom that liberty of any kind is lost all at once." -David Hume
  21. Re:Windows? by Anonymous Coward · · Score: 3, Funny

    SELECT * FROM videos WHERE name LIKE '%porn%'

  22. Not SQL Server Directly by Watts · · Score: 5, Informative

    Having SQL Server as the underlying filesystem technology doesn't mean that you're going to be running SQL Server directly. I mean, if you currently use NTFS, there isn't a NTFS daemon that the kernel connects to when it does filesystem transactions. Just like every other filesystem, the support will be built into the kernel. Instead of writing data as NTFS does, the structure will look a lot more like how SQL Server stores data -- with built in indexes, etc.

    Many database servers already have some fairly optimized code when it comes to file access. This just implements it at the kernel level, rather than having it sit on top of a traditional fs.

  23. Re:i think-Oracle. by Tirel · · Score: 2, Funny

    listen here bud, we're just trying to whore some honest karma, don't go at it with your "facts" and shit.

    thanks for understanding.

  24. BeFS by laird · · Score: 3, Informative

    Actually, Be had two flavors of "filesystem as database" in widespread deployment. OK, not as widespread as Windows, but certainly thousands of users. The first version of Be's filesystem, by Benoit Schillings, was very database like, but performance was so-so. The second version of BeFS, by Dominic Giampaolo, was less general in implementation, but had the same metadata-driven capabilities. There's an interesting article on this at http://www.theregus.com/content/4/24485.html. Basically, Be did everything that this project is talking about, years ago. That's not to take anything away from the project -- it's cool if more mainstream operating systems catch up to the innovations of niche players, because more people benefit. Dominic is working at Apple, so there's hope that MacOS X's filesystem will start incorporating the rich-metadata, dynamic view model of the world. And while MS has (I think) pushed the "filesystem as database" out of the next version of Windows NT/XP/whatever, it's still planned for the next version after that, so perhaps in a deade or so we'll all be able to do what Be did back in '91. And of course, Palm owns the Be code, so perhaps PalmOS will lead the way?

    1. Re:BeFS by cpeterso · · Score: 2, Insightful


      there's hope that MacOS X's filesystem will start incorporating the rich-metadata, dynamic view model of the world.

      you mean like Mac OS 9 and earlier?

  25. You Geeks by robhall · · Score: 2, Interesting

    Everyone is everyon is looking at this from the Geek perspective. I teach computer technology to absolute beginners and the file system is the MOST confusing aspect. Most people have trouble with it and some people will never get it. If a database driven file system had a very simple interface (i.e. text searching that had fuzzy logic so that misspellings were okay) it would be GREAT for 90% of the population.

  26. Oracel IFS by rhinoX · · Score: 4, Informative

    It was called IFS and Oracle did it like, almost four years ago.

    Versioning and various other metadata existed. It could be exported via SMB, NFS, FTP, and as a regular "local" windows filesystem.

    And, why is this such a great big deal? I don't see the same stink raised as the possibility of Longhorn having a DB for a filesystem.

    --
    The copper bosses killed you, Joe. 'I never died', said he.
  27. Microsoft Attempts for decade,GNOME Does in months by NZheretic · · Score: 4, Interesting
    1994 Cairo Takes OLE to New Levels
    The next version of Windows NT, code-named Cairo and targeted for release sometime in 1995, will be built around the concepts of objects and component software. It will have a native OFS (Object File System) and distributed system support.

    1995 Signs to Cairo

    Cairo, Microsoft's object-oriented successor to Windows NT, will begin beta testing in early 1996 for release in 1997. Although Microsoft is not revealing the full details of Cairo yet, there are enough clues within current Microsoft OSes to yield a good idea of how it might work.

    1996 Unearthing Cairo

    At the first NT developers conference in 1992, Bill Gates announced that Cairo would arrive in three years and would incorporate object-oriented technologies, especially an object file system. Since then, we've seen Windows NT 3.1, NT 3.5, NT 3.51, and most recently NT 4.0. None is object oriented, none has an object file system, none is Cairo. It seems that Cairo is Microsoft's sly way of promising the world. "Will we see Plug and Play in NT?" "Oh yes, of course, in Cairo." "Will NT ever produce world peace and cheap antigravity?" "You bet -- in Cairo."
    The so call Longhorn WinFS directory is just another rencarnation of the Cairo object orientated file system.

    September 1, 2003 Eweek 'Longhorn' Rollout Slips

    Microsoft Corp. has once again shifted the schedule for the release of "Longhorn," the company's next major version of Windows, leaving some users up in the air about an upgrade path.

    Microsoft executives from Chairman and Chief Software Architect Bill Gates on down have long described Longhorn as the Redmond, Wash., company's most revolutionary operating system to date. The product was originally expected to ship next year. Then in May of this year, officials pushed back the release date to 2005. But now executives are declining to say when they expect the software to ship.

    "We do not yet know the time frame for Longhorn, but it will involve a lot of innovative and exciting work," said Gates at a company financial analyst meeting this summer. Since then, other Microsoft officials have neither retracted nor clarified Gates' statement.

    Microsoft have been attempting this type of functionality since 1991, over a decade. Meanwhile, one open source GNOME developer, with help from the other core GNOME developers, provides most of the features within months.
  28. GREAT! If it is done well... by evilviper · · Score: 4, Interesting

    People don't seem to see how great this is. Maybe it's because most people don't have all that much data.

    On my home systems, I have over 250GB online. That doesn't even count my music or videos/movies, which I keep on seperate, removable, optical storage.

    I can tell you from experience, that managing that much data is a huge hassle. Let's say you've got your files organized well. You probably have hundreds of folders for each subject, and you have to broswe to each one with each new file you save. I have a folder (several actually, for various subjects) where I save thing that I've haven't taken a look at yet. Let's say it's a program that I haven't installed. Well once I do install it, I need to clean up all the temporary files, then browse around to another folder (takes a minute or two when you have hundreds of folders), where I save installed programs, and browse to the appropriate sub-folder, and save it. But then I end up doing the same thing with a video clip... Watching it, deciding to delete or save it, then browsing to a sub-sub-sub-sub folder to move it.

    Of course, that's enough of a hassle, but things get complicated when I want to move things to another systems, which obviously isn't going to have the same filesystem. Merging each individual folder, into each different folder is seriously time-consuming, and teedious. Without fail, there always ends up being a couple folders in the wrong place, because they were a sub-folder of something else, that I did happen to see when I coppied the contents of the folder.

    Then matters are even further complicated, because I may choose to delete older content months later or so, and locating everything is a huge mess.

    Personally, I would like to save everything in one place, not having to change folder to folder for each file. When saving something, I could just enter a handful of keywords (eg. "picture penguin snow") which would be much less work than moving to directories or even typing in a long filename. From there, a simple database system would be be able to know what type of file it is, how large it is, and how old it is. That would make it incredibly easy to manage. Whenever I want a file, I type-in "images older than 1 years" or "programs marked as archived" and I get EVERYTHING I'm looking for in a fraction of the time. Not only that, but it makes pruning out old data as easy as it could possibly be. Just search for "linux" and delete older version, no worries about what folder it's in... If it's in a temporary folder and you haven't used it yet, or if it's archived and been in-use on your system forever. Obviously you'll be able to see that information, but unlike in our current systems, it won't stand in your way when you want to find things.

    It's absoultely no work at all to transfer files, since the info should stay with them, and it will automatically integrate perfectly with your local file management/organization scheme. What's more, data like marking something as "archived" is great in that your system could automatically move it over the network where you archive your files. Since your filesystem would be a smart database, when you search for the file, it could still turn up in the search results, and be automatically moved back where you need it, when you need it.

    Personally, I think this would not only save time and effort, but money as well, because so many people wouldn't be dealing with their file problems by just throwing more space in their systems, instead of spending time on figuring out where every file is, what they can get rid of, dupilcate files, and junk like that.

    With this, I should be able to say "tar -xjf 'newest version of mplayer'" However, this will need to be in the actual filesystem to be useful, not just supported for GNOME applications.

    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  29. Nope by varjag · · Score: 4, Insightful

    > SQL is slow compared to things like BerkeleyDB

    BerkeleyDB is a hierarchial database. SQL is godzillion times faster on complex searches.

    > Your database becomes corrupt, you lose everything.

    Your filesystem becomes corrupt, you lose everything.

    And yeah, I know about journaling, so don't bother :) But modern RDBMSes have integrity control facilities as well.

    --
    Lisp is the Tengwar of programming languages.
    1. Re:Nope by azaroth42 · · Score: 2, Interesting

      > BerkeleyDB is a hierarchial database. SQL is
      > godzillion times faster on complex searches.

      Great, but who is going to often do complex enough searches for files that makes any sort of RDBMS worthwhile? The vast majority of searches would be simple keyed terms.

    2. Re:Nope by Saint+Stephen · · Score: 4, Interesting

      Just wait till you see the way "Pivots" work in the new Longhorn shell. The canonical example is sorting thousands of mp3s by artist, but it'll be A-FUCKIN-MAZIN.

      Face it: databases rock. You never know how many interesting questions you didn't ask because you couldn't think in sets until you do it, and then it's FAST as all get out.

    3. Re:Nope by varjag · · Score: 2, Interesting

      > How often does the average user do that?
      > Like never?

      No, like, when he suspects his system is infected with trojan or worm and he wants to get the list of executable files installed in last five days.

      --
      Lisp is the Tengwar of programming languages.
    4. Re:Nope by ednopantz · · Score: 2, Insightful

      Real world non-Geek use:

      Sales rep needs the revised proposal on the Henderson account!

      Computer: Get all Word documents emailed by Bob between last Thursday and today that contain the word 'Henderson' except where they also contain the phrase 'unreasonable, demanding client who is not worth our time'. --A snap for an db .

    5. Re:Nope by nosferatu-man · · Score: 2, Insightful

      Who cares about the user? The system itself would have capabilities finally expressible in terms more advanced than those constrained by what some drug-addled graduate student with no maths decided was sufficient in 1971.

      In other words, the user might never think to do that, but it'd be so cheap for the operating environment that all kinds of new applications would appear.

      'jfb

      --
      To spur "enterprise Linux," Big Bang, the distributed two-phase commit.
  30. Ask a librarian how by nuggz · · Score: 2, Insightful

    What we need is to get some information storage/retreival experts to provide some guidance to the developers of these ideas.

    Librarians have been working on these problems for centuries, why not start with what they know?

  31. Not exactly by gilesjuk · · Score: 4, Informative

    http://theregister.com/content/4/30670.html

    "The oft-misunderstood Windows Future Storage (WinFS), which will include technology from the "Yukon" release of SQL Server, is not a file system," reports Thurrot. "Instead, WinFS is a service that runs on top of - and requires - NTFS."

  32. Ah yes, the infamous relational filesystem... by Millennium · · Score: 4, Interesting

    Although this is an interesting idea, an all-relationsl filesystem would prove to be a usability nightmare.

    The relational zealots are quick to point out that a relational system can model any sort of data. Indeed, it can do this. This does not, however, mean that it's always good at doing this. Sometimes it's the right tool for the job, and sometimes it's not. In this case, it is very much not a good tool for sole access to files on the system (though it can make an excellent tool for complementary methods of access).

    The reason that hierarchical filesystems have survived for so long is due to one thing: navigability. It's relatively easy for any user to browse what's on the system and get a good idea of how it is organized.

    You can't navigate a relational system, which will prove to be the downfall of any all-relational system which comes into being. You can, of course, do a SELECT * FROM volume if you really want to, but that does exactly that: it gives you all the data, with no particular organization. Examining the entire "sea of data" suddenly becomes cumbersome in the extreme. So while User A might be able to set up an all-relational filesystem completely according to his own tastes, User B will be totally lost on that same system. This is, to say the least, a nightmare for anyone working in a shared environment.

    This is not to say that the relational model isn't necessarily a useful thing for filesystems. On the contrary, it can be very useful for certain kinds of searches. As time goes on, I believe we'll see more relational-style searching technology incorporated into file managers and search tools. However, there also needs to be a means of hierarchical navigation. Humans tend to think of things in terms of locus, and a means of providing that kind of reference point have to be maintained.

    Luckily, this can actually still be emulated using relational-style tables, even though it's somewhat less efficient than classical storage techniques. Some filesystems already do something similar to this, and the results are promising. Look at Be's filesystem for an example of that.

    The best way to go, moving forward, is something not unlike what BeOS did, with both hierarchical and relational methods of examining data. This allowed for the best of both worlds. The default method of getting at data is still the hierarchical paradigm, but relational searches can be applied to create what some have called "smart folders" (perhaps "boxes" might be a better term?) Systems like this "Storage" should be focusing on complementing traditional systems in this way, rather than replacing them.

  33. Re:Windows? by Zocalo · · Score: 2, Insightful
    However, I do suspect that any robust interface would take a look at the tags, and if they are empty attempt to parse the filename.

    Actually, I was just thinking about this problem, and you know what would make a *really* easy solution and is readily available already? P2P! Think about it; a new file arrives on the system by whatever means, so the file system has zero idea about it's nature beyond what's available from the file. We probably know the type of file from its header, extension or whatever other "file" command type trick was required. We also know its size, any tag type information that may be present, the filename, and we could maybe calculate a checksum too. So we fire off a P2P query with what we have and what we want to know, then wait for responses.

    Sure, you will probably get responses that conflict, so some kind of progessive weighting and elimination system is required. If you search on Kazaa and look at the meta info returned, it's fairly easy to see what is correct and what is not; automating this analysis is the next step. There is also the probabilty of CDDB type services springing up to act as the "Supernodes" of such a system, or as dedicated standalone services.

    Of course, you probably wouldn't want the OS doing this for you automatically. Imagine the fun and games that would ensue if you started getting Bill G. sending out P2P queries to fill in the meta tag blanks on a document about "increasing revenue through tweaking our licensing strategy again"! ;)

    --
    UNIX? They're not even circumcised! Savages!
  34. Re:Microsoft Attempts for decade,GNOME Does in mon by fault0 · · Score: 2, Insightful

    Microsoft didn't really put in much investment in Cairo after it was pretty apparent that nobody really cared for it at the time. Most people really don't like novel ways of doing things. There is too much investment in the old ways atm. I guess if the world were different, we would all be using Microsoft Bob right now.

    So, I think this GNOME thing will also sizzle out after a while.

  35. Built for gnome? by adrianbaugh · · Score: 2, Insightful

    Is it just me that sees this as a really bad idea? Nothing against the gnome project, you understand, but I see no earthly reason why a filesystem should require X Windows, let alone a full-blown desktop environment. Surely this kind of thing should be a kernel-level project which userspace tools can hook into as needed, whether from gnome or KDE or the CLI?

    Anyway, I thought Reiser4 was doing exactly what this promises, but with the advantage of a proven track record on high-performance filesystems. Perhaps, if gnome wants this kind of functionality, they should base it on Reiser4 which will at least be widely-used and not locked into the gnome project.

    --
    "'I pass the test,' she said. 'I will diminish, and go into the West, and remain Galadriel.'"
    - JRR Tolkien.
  36. going OT: library organizational schemes by mforbes · · Score: 2, Informative

    An OT side-note:
    Just as each of us has our own organizational scheme for our own bookshelves, libraries tend to vary more than we think too.

    Just about every school and community library you'll find uses Dewey Decimal, of course, but others have other schemes.
    For instance: the Library of Congress, in order to conserve space on their shelves, orders their books by size. (No, I'm not kidding. Look it up.) The directory is computerized, of course, so aside from the inconvenience of having same-topic volumes wildly separated in space, it's not a big deal for them.

    --

    Allegedly real newspaper headline from 1998:
    Man Struck by Lightning Faces Battery Charge

  37. SQL Server Desktop Engine by illsorted · · Score: 2, Informative

    My guess is that they'll use MSDE, which is already freely available and "royalty free". I think it's basically just the core of SQL Server without any of the extra tools.

  38. Re:Microsoft Attempts for decade,GNOME Does in mon by spektr · · Score: 2, Funny

    Alarm bells ringing at Redmond: now they are even copying our vaporware! Push back the release dates, hire some programmers, we have to actually implement this stuff!

  39. No, no, no!!! by master_p · · Score: 2, Interesting

    No, this isn't what is needed. Hierarchical object-oriented persistent object trees is what is needed.

    Let me explain.

    Information in real life is organized in trees. It is obvious anywhere one can look. From the organizational chart of a company to the chair that you are sitting on, everything is a tree; a tree of information, where each little piece of information consists of other pieces of information.

    If you check computer applications, almost all application contains some sort of tree. Take a Word document, for example: the master document, the contents, the heading 1 and subheading paragraphs, the pictures, the drawings. Everything is a tree, and the document can be browsed as a tree.

    Take your favorite mail client. Information is organized in a tree: inbox, outbox, sent, trash; each of these contain an e-mail. An e-mail itself is composed of subject, body, attachments. The body consists of paragraphs; the attachment consists of files.

    Take your favorite drawing program: the picture consists of layers; each layer consists of shapes; each shape may consist of other shapes.

    Take your favorite 3d/cad program: a 3d object consists of other 3d objects.

    Take the gui: a window consists of other windows.

    Relational databases don't provide tree organization. I don't want a freaking flat table to store my documents. I want to organize them in trees. That's why a filesystem has subdirectories.

    The biggest problem of the current filesystem technology, is that a 'file' is as dumb as it gets: it is just a collection of bytes, waiting to be manipulated by some other program. It is even untyped, for God's shake!!! one program may view it as a series of bytes, another program may view it as text, another program may view it as code!!! The file itself can't tell you anything about its properties, about its contents, about the way it is supposed to function....

    If a file could tell the outside world how to be operated, then the world would be a much better place. If a file could tell me its properties, if it provided me with the tools to manipulate it, then I would make any type of app that processes the file as needed.

    The above is essentially object orientation on the filesystem level. RDBMS don't offer such kind of functionality!!! at best, an RDMBS offers an index on a key for quick searching, and that's it!!! There is no notion of tree, nor each file exposes its properties/methods/functionality to its users!!!

    So I say a big 'NO' to relational filesystems.We can immediately move to the upper level:

    1) each node of information is AN OBJECT.

    2) the object specification is defined at the filesystem level. Much like COM or .NET or CORBA.

    3) each object can contain other objects, if it inherits and implements a specific interface.

    4) each object is PERSISTENT. The filesystem takes care of persistence, according to attributes of the object's fields. Complex objects that are composed of other objects are also managed in the same way.

    5) the parent object provides the storage implementation. The storage implementation would be object-oriented!!! An object could implement an RDBMS-like storage capability with indexes, keys, etc.

    At each given time, the information model inside the computer could be:

    1) splitted in multiple computers.

    2) shared by multiple users.

    3) checked for security in ONE place, inside the operating system.

    4) provided as a framework to programming languages.

    5) replicated across sites with minimum of code

    6) a unified GUI could handle it

    7) searching through it will become a breeze!!! (for example show me all MP3 with artist = Elvis and title = rock)

    After all, 90% of the programming goes to load/store and display information. It is silly not to provide a unified mechanism for that. And a simple SQL-based RDBMS does not cut it.

  40. why the relational model is not right by hansreiser · · Score: 4, Informative

    www.namesys.com/whitepaper.html describes why the relational model is not the right one for large heterogeneous stores (filesystems), and describes the approach ReiserFS (a Linux filesystem used mostly in Europe) is taking instead.

    Hans

  41. Re:GREAT! If it is done well... by poofmeisterp · · Score: 2

    I can see it now... 'penis enlargement guaranteed' popping up at random places in the database.
    You'll have to type "I do not want a bigger penis" to remove them all.
    Heh.

  42. Voice recognition? by gr8_phk · · Score: 2, Interesting

    If I'm to have a natural language interface to find my files, I'd really like to make spoken requests instead of typing a long sentence. Do they have plans for that in GNome?

  43. as long as it stays in user space by penguin7of9 · · Score: 3, Insightful

    Of course, databases are very useful for organizing user data. People already keep PIM info, images, and lots of other stuff in databases. Lotus Notes is built entirely on databases.

    But "replacing the traditional file system" carries with it the notion of ripping ext3 out of the kernel and putting a relational database there. That's a very bad idea. Databases don't belong into the kernel. They are far too inefficient to handle most storage needs, they are far too complex to go into the kernel, and they just don't need to be in the kernel. Operating system kernels need simple, fast storage systems. Something like ext3. ReiserFS is pushing the limits. PostgreSQL would be going too far.

    As an aside, this is an idea that just about every nerd has when they learn about databases and retrieval. It's been tried various times since the 1960's. There are probably good reasons why interfaces don't use them. Perhaps most importantly, keep in mind that the vast majority of files on your system are not user files, they are bits and pieces of the operating system. And for the files that actually are used by users (mail, PIM info, images, text, etc.), they usually already have special-purpose database interfaces available to them as part of the applications that users use to access them.

  44. Re:Windows? by netsharc · · Score: 2, Insightful

    It's innovative because it's an idea implemented on Linux, whereas when it's to be implemented on Windows it's, a lousy idea (well, lousy because of 3rd party compatibility nightmares).

    --
    What time is it/will be over there? Check with my iPhone app!
  45. Only as good as your data by kstumpf · · Score: 4, Interesting
    One thing I haven't seen mentioned yet is that a filesystem of this type is only useful if there is quality metadata accompanying every file you expect to find. Searching for "all jazz music" would return nothing unless the filesystem was told about each file that qualifies as "jazz music". What if I wanted to be more specific and say "jazz horn music"? Even more specific, "jazz trumpet solo"? The filesystem would have to know all of this data to be effective.

    Where does this metadata come from? I assume I have to enter it myself. This means the more files I have, the more detailed and specific my data entry becomes. And that much more tedious.

    Even worse is the uncertainty that would arise. Is my search for "horn solos" not returning results because there are no such files, or because the filesystem does not have meta data describing the files I want as such?

    At this point, hierarchial organization once again becomes much more appealing again.

  46. Relational table type solutions come with a price by samwhite_y · · Score: 2, Interesting
    There are two types of ways that you usually access files.

    1. I know precisely where one more more files are located and I want to see their contents as fast as possible. I want to move around 100s of such files easily from directory to directory at the potentially optimal speed of the disk subsystem. I might also want to do batch edits or renames of these files. Speed is the only truly important characteristic.

    2. I vaguely have an idea of what type of file I am looking for. I want to find one or more files satisfying a particular metadata (or full text) criteria and manipulate one or more such files. I want all versions of my files to be maintained and there to be full auditing of interactions with these files.

    Many times 1. and 2. are mutually incompatible. The typical way these days to address having both is to have an automatic spider that maintains an indexed view of the files and the file's metadata and hope that the spider is not too far behind the actual changes being made to the contents of the files or the locations of the files. If you want to have a transactionally guaranteed implementation of 2., then you have pretty much eliminated batch manipulation of files as a reasonably performing option. Database tracked file systems do not do well when you unzip a large collection of files and then start batch copying those files to different locations.

    Now, I know almost nothing about the current implementation of the new "database" file system being discussed. But, I would very much want to allow a user to designate which directories or file types would be put into relational tables and which ones would not. I might also want to be able to choose whether the relational tables were interacted with using a transactional guarantee or whether a "spider" was used. If the end user had control over when the "heavier" management of the files occurred and how much of it should be applied, then it might have utility. Part of the user's file system would then be a document management library and other parts would be a normal file system. However, I would find creating a user interface that tried to make such a solution comprehensible to an end user somewhat of a nightmare.

  47. Re:Windows? by __past__ · · Score: 2, Funny
    Why don't these people just put some effort in reiserFS?
    • Because some people value their data
    • Because some people think "free software" doesn't mean "software you are free to modify as long as it doesn't interfere with Hans Reisers business interests"
  48. And IZE already did this eons ago... by kupci · · Score: 2, Interesting
    IZE was written by Persoft Corp., 465 Science Drive, Madison, Wisconsin, 53711

    This was one of those revolutionary products that never really took off for some reason. Text -based word processor , but this was pre-Windows (perhaps that was the problem).

    From what I remember, you could create a document, and then save it based with keywords. It was really aimed at writers and was a great way to organize a bunch of documents, create outlines etc. Sort of like having an electronic file card system. Very very cool - the Windows Explorer is almost primitive by comparison. Could've easily extended it to support any type of file.

    It's a great idea nice to see GNOME pick it up.

  49. Why so cynical? by Spy+Hunter · · Score: 3, Interesting
    Storage is more advanced, at least in concept, than all of these other options. That is why it is more interesting. The first interesting thing about Storage is that it uses natural language parsing instead of a predefined query language. This is essential to wide acceptance. The second interesting thing about Storage is that it goes out of its way to find and catalog useful metadata, whereas in most other systems you must input the metadata yourself (a tedious task that no one likes). An example given is using the name and length of a Divx file to search IMDB to get all the relevant information about a film. In this way, Storage solves what I see as the two main problems with database filesystems (it remains to be seen how well it works in practice, however). A third interesting thing about Storage is that it is backwards compatible with all GNOME applications through the VFS layer. A kioslave could allow it to work with KDE too.

    --
    main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  50. Comments from Seth (aka Storage's designer) by nullity · · Score: 5, Informative

    I suppose it is probably too late to inject comments and have them moderated to the point of visibility as the madness has largely subsided... but here's to futile acts ;-) I was not really intending Storage to make a big splash right now, I wanted to keep it low-key, but I guess the damage is done so I might as well comment. I'm sorry that I didn't have time to put up a more technically-oriented exposition of Storage. *shrug*

    • Slashdot has focused almost exclusively on the "database backing". Guys, this is an implementation detail. Its an important one, but I didn't start off this design thinking "lets write a database backed filesystem store". A set of design goals was established (largely mirrored in the features page). Storage is a lot more than just a database backed XML store. Please read the features page. The "searchable" stuff is nice, but equally important is providing persistent objects, uniform access (the same URI for a local storage node works globally assuming your computer has a publicly accessible IP address), an improved model for revision and "saving", the ability to localize filesystem resources, and due to a standard object format greater transparency of filesystem resources to the OS which will be useful in weakening the barrier between "apps" and "desktop" found in PCs (and not so much in, say, cell phones and pdas). This is also a key piece in an overall design of the desktop's interaction structure which I haven't had time to write up for the web.
    • I'm not trying to make any claims to being the first or being highly innovative, but I am happy to make claims about improving the user experience. That said, contrary to what people are saying, to my knowledge other than the superficial layer of database backing, Storage's features do not have a "one to one" correspondence with any existing system, BFS and the only vaguely specified Windows Future Filesystem included. Most importantly these components do not seem to be a part of the same overall interaction design model that Storage is intended to support. Storage is just a stepping stone, albeit a pretty disruptive one.
    • I've been quiet about this project, even inside GNOME. Storage as written today was primarily written by a team of Stanford students as their CS senior project. I've since been working with a few good GNOME developers including the person working on Medusa (Curtis) and the Epiphany maintainer (Marco). They were independently developing a metadata system for GNOME, which it looks like we may implement on top of Storage as a first major test of its capabilities. But nothing is certain right now. But the short story is that although storage is being developed by GNOME developers and I serve as usability project lead, its not an official GNOME module at this point. GNOME developers would need to corporately buy into both the Storage vision and the overall desktop design. This may never happen, and if it does, its going to be very slow in the coming.

    Some technical notes... that site is sparse on technical information so I'll fill in some for the curious.

    • The data store is backed by Postgresql. Postgresql rocks, though some of the features like instant notification of object changes and live queries do not fill well with existing SQL. We have ways to do all of this using Postgresql extensions, but sometimes its a little tricky and/or hackish.
    • A lot of the proposed interface will rise and fall based on the quality of the NL processing. Storage is currently using some pretty cutting edge linguistics theories and tools... notably working within the basic LinGo framework. This includes using theories/systems like HPSG (Head-Phrase Structure Grammar), MRS (minimal recursion semantics), and being able to use a set of existing wide-coverage grammars such as the ERG (English Resource Gramm
  51. Re:BeFS - further BeFS reading by The_Blind_Priest · · Score: 2, Informative

    If anyone would like a nice read on filesystem implementation and/or Dominic's approach to the fs redesign, check out:

    Practical File System Design with the Be File System
    by Dominic Giampaolo, Be Inc, Dimonic Giampaolo

    1. Nice overview of various filesystem's in use.
    2. Quick and to the point.
    3. Enough detail to go about rolling one up yourself.
    4. Being written by Dominic it provides nice BeFS insights.

  52. A filesystem *IS* a database! by Tracy+Reed · · Score: 2, Insightful

    Not really a comment on "storage" but just a comment on something that has constantly bugged me when someone says "let's put it in a database!"

    A filesystem is a special case of a database. So it is perfectly acceptable to store your data into a filesystem. Some people seem to think everything has to be put into a relational database or that is it somehow cool to do so. I have seen people store loads of graphics as BLOBS in databases. Someone once suggested storing a ton of MP3's in a database. Most recently someone said (and this isn't the first time) that we should store all of the emails in a database. It's just another unnecessary layer of complication, especially when you are going to be referencing the email/graphic/mp3 by name all the time anyway (fs's like reiserfs index on name so it's blazingly fast) and not by a bunch of other pieces of meta-data. And if you are going to need to do lookups by various bits of meta-data then store the meta-data in a db and also store a record pointing to the actual file on disk. I have done that lots of times and it works great.