Saturday, October 22, 2005

SpoonFS Motivation

This is the first post to get some ideas regarding SpoonFS down. Traditionally, filesystems have been based on the notion of a hierarchy. There are two primitives in these hierarchical systems:
  • files (which are an abstraction for a sequence of bytes)
  • directories (which contain a collection of files)
Directories are called 'folders' in some simpler OSes. Files are named objects and the names are unique (i.e., you cannot have two files with the same name). Over time, various applications have required the ability to build up databases of files that are queriable. E-mail clients, photo software, word processors, all of these clients end up building their own databases so that users may query their data orthogonally. However, this repetition by all applications points out a deficiency in the design of current file systems. Application developers are building databases of files on top of hierarchical file systems; this common functionality should be refactored into the filesystem yielding a filesystem that is itself a database of files. The hierarchy notion will be disbanded. The SpoonFS project will provide an implementation of this database filesystem. Features will include typesafe attributes, anonymous and named relations of files and fast query time.

No comments: