Microsoft has been beating the drum of a single, unified storage engine for many years now, but that goal has been pushed back a few years. Last week, Microsoft announced that it's removing the Windows File System (WinFS) from the next Windows release, code-named Longhorn, to ensure that the Windows upgrade doesn't experience any further delays.
I saw a sneak preview of the SQL Server File System, or SQL FS, at a TechEd conference several years ago. Microsoft originally planned to release SQL FS as part of SQL Server 2000, but that obviously didn't happen. The SQL FS concept evolved, becoming grander, more encompassing, and part of the core OS vision--it's now called WinFS. WinFS isn't going to be SQL Server per se, but it's slated to use pieces of technology that are major underpinnings of the SQL Server product line. In fact, the concepts behind WinFS are similar to those of the rich object-file system originally code-named Cairo. Cairo was the code name for Windows NT 4.0. Needless to say, NT 4.0 debuted without the new object-oriented file system. But when you think about it, a rich file system has been one of Microsoft's goals since the early days of Windows NT.
WinFS is a wonderful idea. If you think about it, a file system is just data. And a file system can borrow many concepts and techniques from the way data is sorted, organized, and searched within a database. It would be so valuable to be able to issue queries from a single interface (whether it looked like a Windows interface or a SQL interface) that could search across all data in the enterprise (whether that data was in a structured database or an unstructured file system). Alas, we have a few more years to wait.
While we're on the topic of a single, unified data store, what about your email? Microsoft plans to move Exchange's core message-store engines to SQL Server also. Looking for data will be simple when we can search our structured and unstructured data regardless of where it's squirreled away. Look at product release maps from TechEd or PDC just a few years back and you'd think that a tight integration between Exchange and SQL Server was right around the corner. In fact, Microsoft did indicate that Exchange would be based on SQL Server shortly after SQL Server 2005's release. But, Microsoft hasn't officially announced that it's basing the next major of version of Exchange on SQL Server. And I'll be amazed to see Exchange using a SQL Server-based data store anytime soon.
Although I'm disappointed that the grand vision behind a single, unified data store has been delayed again, it's the right decision. In hindsight, it was a mistake for Microsoft to pack so many revolutionary features into SQL Server 2005, formerly code-named Yukon. By the time SQL Server 2005 is released next year, we will have gone 5 long years without a major SQL Server upgrade. Revolutionary change can be wonderful, and is necessary from time to time, but as the turtle learned long ago, slow and steady wins the race. I believe it's in Microsoft's best interest to ship a turtle-ized version of Longhorn without WinFS rather than tilt at windmills and see Longhorn's release slip further out. A client version of Longhorn is slated for 2006, with a server version of Longhorn is slated for 2007--WinFS has been pulled from both releases. Microsoft will deliver unified storage eventually. But the changes are too important for Microsoft to rush them.