# Assoziative Dateiverwaltung

Assoziative Dateiverwaltung ist eine Methode, Daten innerhalb eines Computersystems zu organisieren. Sie kann als logische Weiterentwicklung der hierarchischen Dateiverwaltung gesehen werden und setzt in ihrer heutigen Form als Erweiterung auf hierarchische Dateisysteme auf. Daten werden nicht mehr ausschließlich über Datei- und Verzeichnisnamen lokalisiert, sondern, meist dynamisch, durch Berücksichtigung ihres Inhalts und des Nutzungsverhaltens des Anwenders. Die übliche Methode ist die Abgleichung der Inhalte eines hierarchischen Dateisystems mit einer Datenbank. Es werden verschiedene Filter benutzt, um die unterschiedlichen Datentypen einheitlich in der Datenbank abzubilden. Die assoziative Dateiverwaltung komplettiert und erweitert die Möglichkeiten der Desktopsuche und des Link Managements.
Da assoziative Dateiverwaltung meist mit (relationalen) Datenbanken realisiert wird, bezeichnet man sie häufig als Datenbankdateisystem oder SQL-Dateisystem. Diese Bezeichnungen sind aber nicht angemessen, da es sich allenfalls um eine Erweiterung des Dateisystems, nicht aber um ein eigenes Dateisystem handelt. Diesen Irrtum bestärkte schon der irritierende Name WinFS von Microsoft für die begonnene eigene Implementierung einer assoziativen Dateiverwaltung: Das FS im Namen, als klassische Abkürzung für Dateisystem (englisch file system) wurde von vielen missverstanden; tatsächlich steht die Abkürzung für Windows Future Storage, nicht für Windows File System.

## Entstehung

Mit zunehmender Verbreitung von Computern in allen Bereichen des Lebens, und einer zunehmenden digitalen Speicherung von Informationen, stieg auch der Bedarf, diese effizient und intuitiv zu verwalten. Die bewährte Methode der hierarchischen Speicherung, wie sie in allen modernen Betriebssystemen üblich ist, hat hier bedeutende Schwächen, da ein Auffinden von Daten anhand eines statischen Speicherortes innerhalb einer statischen Verzeichnisstruktur erfolgt. Der Inhalt einer Datei und seine Beziehung zu einer bestimmten Aufgabe wird ebenso wenig berücksichtigt wie auch speziell aufbewahrte Daten, wie E-Mails, Datenbanken, der Verlauf von Webbrowsern und viele weiteren. Eine schlechte Organisation der Verzeichnisstruktur kann in diesem hierarchischen System den Bedienkomfort erheblich reduzieren, da sich ein Auffinden von Dateien in chaotischen Verzeichnisstrukturen oft als schwierig bis unmöglich erweist.
Um diese Mängel zu beheben, entstanden mit der Zeit sowohl Desktop-Suchsysteme als auch assoziative Dateiverwaltung. Beide Techniken sind im Grunde verwandt und basieren auf derselben Philosophie. Es soll für einen Computerbenutzer nicht mehr notwendig sein, zu wissen, wo eine Datei ist, beziehungsweise durch welches Programm eine Datei erstellt wurde.

## Funktionsweise
### Realisierung

Die assoziative Dateiverwaltung kann auf verschiedene Arten realisiert werden. Es kann etwa eine fundamentale Integration in die Dateisystemstrukturen eines Betriebssystems erfolgen, wie dies etwa bei BeOS/ZETA der Fall ist. Diese Integration verursacht aber auch teils gravierende Probleme bei der Kompatibilität mit vorhandenen Programmen, wie Microsoft bei der Entwicklung von WinFS feststellen musste.
Diese tiefgreifende Integration ermöglicht eine Nutzung der assoziativen Datenspeicherung in nahezu unbegrenzter Form und aus jeder Applikation, da die assoziative Datenverwaltung dann einen festen Bestandteil des virtuellen Dateisystems (VFS) eines Betriebssystems darstellt, und auch so verwendet werden kann. Dies führt aber auch zu verschiedenen Herausforderungen, da viele der Annahmen und Voraussetzungen einer klassischen, hierarchischen Datenspeicherung nicht mehr erfüllt sind.
Eine weniger tiefgreifende Methode, mit nahezu demselben Effekt wurde bei Suchwerk verwendet: Hier wird nicht in die vorhandene Dateistruktur eingegriffen. Stattdessen wird die assoziative Struktur in Form eines Netzlaufwerks dargestellt.
In den Unix-artigen Betriebssystemen sind viele der Problemstellungen anders geartet, beziehungsweise nicht in dieser Form vorhanden. Zum einen sind die Möglichkeiten im Umgang mit Dateisystemen flexibler, und zum anderen haben sich die Entwickler der verbreiteten modernen Desktop-Umgebungen (KDE, GNOME, Finder in Mac OS X etc.) schon vor langer Zeit für den Einsatz von URL-basierten virtuellen Dateisystemen entschieden, die eine nahtlose Integration neuer Ansätze in das vorhandene System ermöglichen – so stehen für jede Applikation, die das VFS einer Desktop-Umgebung nutzt, automatisch auch deren Möglichkeiten zur Verfügung. Das hat aber auch Nachteile, denn die unterschiedlichen Implementierungen der Desktopumgebungen unterscheiden sich teils gravierend. Im Rahmen von freedesktop.org wird aber derzeit an einer besseren Interoperabilität der verschiedenen freien Desktopsysteme gearbeitet, wodurch sich dieses Problem zunehmend verringert.

### Verwendung

Eine Verwendung der assoziativen Dateiverwaltung als vollständigen Ersatz der hierarchischen Dateiverwaltung gibt es noch nicht, da dies zu viele und zu gravierende Probleme aufwirft. Stattdessen wird überwiegend der goldene Mittelweg gewählt und die assoziative Dateiverwaltung auf die Einsatzgebiete beschränkt, in denen sie tatsächlich benötigt wird. Das spart außerdem System-Ressourcen, da der aufwändige Weg über die Datenbank nur zu gehen ist, wenn er benötigt wird. So ist eine Integration der persönlichen Dateien, Musik, Bilder, Dokumente, E-Mails etc. in die assoziative Dateiverwaltung sinnvoll, eine Integration von Systembibliotheken, Programmdateien und temporären Dateien dagegen zumeist nicht.
Wie bereits erwähnt benötigt eine assoziative Dateiverwaltung um ein Vielfaches mehr Rechenleistung und Speicherplatz als eine rein hierarchische Lösung, weswegen sie in Embedded-Umgebungen vorerst nicht zum Einsatz kommen wird.

## Bedienung

Wenn ein Benutzer in einer hierarchischen Umgebung nach einer bestimmten Datei sucht, so muss er den Pfad zu dieser kennen, sowie ihren Dateinamen. Es kann dabei zwar auf Suchprogramme zurückgegriffen werden, diese sind jedoch nicht immer effizient, da sie die Inhalte der Dateien teilweise nur mangelhaft unterstützen, und manche Daten und deren Zusammenhänge gar nicht erkennen. Die assoziative Ordnung bietet den Zugang zu diesen Daten auf der Basis anderer, intuitiverer Kriterien, etwa spezielle Ordner, in denen Suchanfragen formuliert werden können, oder solche, die eine Gruppierung nach bestimmten Meta-Bedingungen bieten. In Musikprogrammen wie iTunes, Amarok oder foobar2000 kennt man eine derartige Funktionalität bereits bei der Organisation der eigenen Musiksammlung. Unter OS X werden auch in der Seitenleiste des Finders sog. intelligente Ordner unterstützt, die sich automatisch aktualisierende Suchen enthalten.

## Assoziative Dateiverwaltung und Desktop-Suchsysteme

Beide Technologien sind eng verwandt und überschneiden sich an vielen Stellen, eines unterscheidet beide jedoch gravierend: Die reine Desktopsuche „kennt“ das gesamte Dateisystem, und nutzt es, um einen intelligent und intuitiv durchsuchbaren Index zu erzeugen, was unter der Zuhilfenahme eigener Hilfsprogramme geschieht. Die assoziative Dateiverwaltung als Teil des VFS einer Desktopumgebung beziehungsweise eines Betriebssystems hingegen geht noch einen Schritt weiter und ist als wesentlicher Bestandteil der Dateiverwaltung omnipräsent und kann zum Speichern und der Gesamtorganisation genutzt werden.
Viele der heute gebräuchlichen Desktop-Suchsysteme entwickeln sich zu assoziativen Dateiverwaltungen, so etwa Beagle in Kombination mit FUSE-Beagle oder kio-beagle, oder Windows Search, welches mit WinFS vervollständigt werden sollte, bis Microsoft das WinFS-Projekt stillgelegt hat.
Die assoziative Dateiverwaltung alleine bietet im Gegensatz zur Desktopsuche keine Integration von Suchfunktionen in Programme.