WinFS Beta 1 Released Early
Mouldy Punk writes "Infoworld is reporting that WinFS Beta 1 has been released. The new relational file system for Windows is posted on MSDN Subscriber Downloads. This release is designed to offer developers a preview of WinFS capabilities. WinFS will be in beta when Windows Vista ships and will RTM afterwords. WinFS, when it ships, will be available for download for Windows Vista and possible support for Windows XP is being considered. The distribution mechanism for WinFS will be through an add-on download much like the .NET framework is today. Tom Rizzo also notes that there is a new blog dedicated to Win FS."
Ok, fine... you have just heaps of data, with a myriad of references to them.
What then is delete? How does a user distinguish between "remove an association from the blob of data" vs "remove this blob of data altogether". Should the blob automatically delete when you remove all metadata around it? If not, how will you find it again? If so, would you really want data vanishing just because you removed a keyword?
What does partial backup look like on a system? How can you have a combination of partial backups and know you have a whole? I can do that with a set of five directories. Let's say you tag a set of files with "project fred". But one small file, that you almost never care about, gets tagged with "project ferd". What good is the ol' Fred backup now?
At some core level these blobs of data that users place on a system need ONE meaningful location where they always "are". You need someplace where the file will always be, no matter what other associations you remove. You need somewhere you know it will be to assure yourself EVERYTHING you care about is backed up or moved between systems.
The perfection you seek can just as easily be obtained with files in directories that allow metadata on top of them and things like smart folders that are essentially queries over the user-defined and automatically extracted metadata. In fact I think that's what WinFS does anyway (just like OS X does today).
If you really like the system you describe nothing is stopping you from storing all your files in a DB and writing an explorer on top of that. Yet all this time, things like that have never taken off in the market.
Some things do not take off because the technology to make the useful has not yet arrived. But some things simply never take off because in practice they are not practical, and the filesystem as a full-fledged database with no default structure is one of those things.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Reiser4 is technologically ahead of WinFS as a high performance storage layer, see www.namesys.com for details on its design. When you do this layering the way they did it, with the metadata stored in a layer above the FS rather than integrated into it, you lose a lot of performance while gain the advantage of successfully avoiding dealing with a host of technical issues. We are at least 5 years ahead of them technically in the storage layer.
That said, semantic enhancements matter more than performance, and it is better to do something semantically than to do nothing, and what Linux currently is doing is nothing.
The political support for adding semantic enhancements to Linux namespaces is mixed at best. I worry we will see that death by committee rules, and there will be no belief that each FS should try to innovate in its own way and compete with the others until one is proven the right solution. We are in serious danger of having MS implement bad technology, and Linux having to devote large amounts of resources to copying it in 5 years because we were late and chose to trail rather than lead. If the filesystems were free to compete in semantics, we could have one or several of the Linux filesystems leading them instead.
SQL and the relational model is fundamentally the wrong model for semi-structured data. See www.namesys.com/whitepaper.html for why.
Technically, I would worry much more about Apple. Dominic Giampaolo is very bright, and well funded. His chances of delivering on a good set of semantics are high because he and Jobs are very sharp, and neither of them is afraid to go where no one has gone before. Our chances of losing technically to Giampaolo and Jobs are high, because we are frankly not well funded, and a lot of us are complacent with semantics that are still pretty much the same as their father's Unix box.
So, in summary, I would say that we are still ahead but losing speed fast.
Thanks for your kind words Hisham.