Database Tech Making OS's Obsolete: What's That Mean?

In a few places now, I’ve read statements to the effect that advances in database techniques/technology have made it possible to seriously improve the way that operating systems operate, and that the next gen after the next gen will be based on these new ideas.

What does this mean? What do database technologies have to do with operating systems?


The presenting face of an OS is the management of the files (which include executable files, or applications, or programs if you prefer). Where they are within the volume & folder hierarchy, when they were created or modified, what size are they, and oh would you like to open/launch it?

Behind the scenes, the OS is comparing you (via your login account) to a table of actions and elements in order to determine whether you should be allowed to do certain things or which of a set of variable behaviors and appearances is appropriate to render or enable in this or that situation.

I could do all that in FileMaker Pro (albeit slowly and inefficiently, it’s way too high-level of a language for such a task). It’s all just databsase functionality, really.

Most current operating systems have, until somewhat recently, been rather clumsy and inefficient when it comes to managing files and resources for the user. A database would not be limited to displaying a “browse” view of files only within their actual folders — you could do a “Find” (or “Query” for you SQL types) and the results window would behave as if it were a folder or directory containing items, even though the real locations of those items might vary all over the place.

The modern OS gives you that kind of database functionality. From the “Results” screen you can rename files, move them to another location, toss 'em in the trash, apply a parameter (label, comment, association with a certain application, permissions restriction set, etc), and so on. And instead of some search engine having to crank up and go LOOK for files and resources that match the parameters you entered, the modern OS has it all indexed, so the moment you specify, the results are “JUST THERE”, bang. Easy as opening your Macintosh HD or C drive.

Perhaps what was being referred to was WinFS, a file system with relational DB capabilities. It’s death is mentioned in this blog from Infoworld.
There are lots of things OS’s do beyond file management, so I think a db making an OS obsolete is a bit much.

On the other hand, if by OS someone means the GUI that the average user sees, then we could say a browser, or a database system, or anything else of the type replaces the OS, since the user interacts with that app only. This isn’t new - I knew someone who basically did everything in emacs, and hardly ever used the UNIX command line.

What they’re probably talking about is an abstraction layer between the user and the file system so that they aren’t limited to viewing the directory tree, but can query their files as if they were in a relational DB.

At most, they’re going to make traditional file systems obsolete. An OS is far more than just a file heirarchy. I haven’t done much reading in this area, but I find it more likely that the database will just be another layer on top of a traditional file system, rather than an actual replacement. That already exists in a limited form in Mac OS, for one, and I’m sure that there’s some crazy Linux database filesystem implementation that goes whole hog and stores everything in a database and scripts file operations as SQL commands. Or something.

BeOS used to use a RDBMS as their file system in the initial versions. The later changed to using a more traditional file system in order to be compatible with foreign file systems. Personally, I never understood the utility of being able to query my file system. I understand what the possibilities are, but I have never had occasion to do anything like that. The simple file search that exists now is all I have ever needed. The other capabilities aren’t very compelling for me.


I’d like to be able to store more metadata with files - when they were created, why they were created, what application they’re supposed to work with, where I downloaded it from, etc.

Think about what kinds of attributes your files have - music files have encoding, artist, genre, album, etc. At work I have files of different types, belonging to different projects, created and updated by different co-workers. At different times for different purposes I’d like to work on different subsets of these files; a DB based filesystem is meant to help that.

Here’s a link to DBFS, a close project for KDE.