WinFS Fleshed Out
- By Scott Bekker
Microsoft's WinFS, or Windows Future Storage, is the descendent of several abandoned projects dating back to Cairo to overhaul the way Windows handles storage. With the delivery of a beta release of WinFS last month, Microsoft brought chairman Bill Gates' long-standing dream of unified storage one large step closer to reality.
The project's documentation offers a great deal of new detail on what WinFS is and what Microsoft hopes it will do when it ships sometime after the Windows Vista operating system release.
At a high level, WinFS is an integrated data storage subsystem of the Windows operating system. Microsoft aims to bridge the gap between traditional OS file systems and relational databases by bringing the flexibility, organizational and querying capabilities of databases to the file system.
Microsoft's implementation centers on the idea of reorganizing file storage around "items," which fall into certain standard and extensible "types" such as a person, calendar, contact, document or photo. The approach takes the data within a traditional file and opens it to use by other applications without data transformation or other interim steps. Relationships between data maintained in different applications can also persist in WinFS, making it possible to use standing queries to retrieve the most up-to-date information.
Architecturally, WinFS holds two views of files. A stream view is similar to the way files are currently stored and to the way the file appears on disk. But file properties and components are also abstracted from the file and stored as items. Users can view these items in a new logical view, where they can be queried.
As Microsoft puts it in WinFS documentation, "The unified item data model will release individual data items from their respective silo'ed applications."
Since the technology promises to make data reuse so much easier, however, WinFS could encourage developers to think much bigger when designing applications.
In many ways, WinFS looks like one more pipe in the plumbing that Microsoft provides for developers. With .NET and Visual Studio, Microsoft lets developers spend less time worrying about garbage collection or writing secure code and more time on what those developers want their applications to do. With WinFS, Microsoft seems to be aiming to help developers spend no time thinking about questions like, "What should a contact look like, and how should I store it?" and more time thinking about what they want their applications to do with contact information. The upside for Microsoft is an even deeper reliance by developers on Microsoft's infrastructure.
In addition to the file system, delivery of the beta includes developer APIs, a language for defining new types and schemas and a query language for retrieving information from the WinFS store.
For this first beta, WinFS supports Windows XP. The company has not made a long-term commitment to supporting Windows XP or any other Windows version with WinFS.
The WinFS storage subsystem will not replace NTFS. The WinFS store can only be hosted on NTFS volumes. While an NTFS volume can contain multiple WinFS stores, a WinFS store can't span multiple NTFS volumes.
Scott Bekker is editor in chief of Redmond Channel Partner magazine.