delphij's Chaos


22 Jan 2004


A new MSDN article has said the following:

WinFS is the new storage system in Longhorn. It improves the Microsoft Windows platform in three ways. First, it allows you to categorize your information in multiple ways and relate one item of information to another. Second, it provides a common storage format for information collected on an everyday basis, such as information dealing with people, places, images, and more. Third, it promotes data sharing of common information across multiple applications from multiple vendors.

WinFS Is a File System

For traditional file-based data, such as text documents, audio tracks, and video clips, WinFS is the new Windows file system. Typically, you will store the main data of a file, the file stream, as a file on an NTFS volume. However, whenever you call an API that changes or adds items with NTFS file stream parts, WinFS extracts the metadata from the stream and adds the metadata to the WinFS store. This metadata describes information about the stream, such as its path, plus any information that WinFS can extract from the stream. Depending on file contents, this metadata can be the author (of a document), the genre (of an audio file), keywords (from a PDF file), and more. WinFS synchronizes the NTFS-resident file stream and the WinFS-resident metadata. New Longhorn applications can also choose to store their file streams directly in WinFS. File streams can be accessed using the existing Win32 file system API or the new WinFS API.

WinFS Isn’t Just a File System

A file system manages files and folders. While WinFS does manage files and folders, it also manages all types of nonfile-based data, such as personal contacts, event calendars, tasks, and e-mail messages. WinFS data can be structured, semistructured, or unstructured. Structured data includes a schema that additionally defines what the data is for and how you should use it. Because WinFS is, in part, a relational system, it enforces data integrity with respect to semantics, transactions, and constraints.

WinFS isn’t just a relational system, either. It supports both hierarchical storage and relational storage. It supports returning data as structured types and as objects—types plus behavior. You might consider WinFS a hierarchical, relational, object-oriented data storage system—although it actually contains certain aspects of each of those traditional storage systems. WinFS extends beyond the traditional file system and relational database system. It is the store for all types of data on the newest Windows platform.