# Content-Addressed Storage

Content Addressed Storage (CAS) ist ein spezielles Speicherverfahren auf Festplatten, das einen direkten Zugriff auf einzelne Objekte ermöglicht und gleichzeitig die Unveränderbarkeit der gespeicherten Information sicherstellt. Mit dem Content-Addressed-Storage-System wird auf gespeicherte Information nicht über ihre Lage auf dem physikalischen Medium, sondern über den Inhalt der Information zugegriffen. Genutzt wird es üblicherweise für Highspeed-Speicherungen und Abfragen von statischem Inhalt. Dieser „Fixed Content“ (unveränderbarer Inhalt) bezieht sich auf Daten, welche einmal geschrieben und danach nicht mehr verändert werden, z. B. Geschäftsdokumente, Belege, Abrechnungsdaten usw. in elektronischer Form. Mögliche Einsatzgebiete für CAS-Systeme zur elektronischen Archivierung sind Medien, Gesundheits- oder Finanzwesen. Eine unveränderbare Speicherung ist häufig auf Grund von Gesetzen und Verordnungen (z. B. GDPdU, GoBS, HGB u. a.) oder anderen Vorschriften (z. B. GxP, FDA u. a.) gefordert. Man spricht in diesem Zusammenhang auch von revisionssicherer Archivierung.

## Funktionsweise

Das erste kommerziell verfügbare CAS-System, die EMC-Centera-Plattform, ist kennzeichnend für eine CAS-Lösung. Sie wurde speziell dazu entwickelt, unveränderbar digitale Daten und Langzeit-Informationen auf schnellen Festplatten aufzubewahren. Hierfür kamen bis dahin nur digital optische Speicherplatten (WORM) zum Einsatz. Die CAS-Technik unterstützt den Online-Zugriff mit gesicherter inhaltlicher Authentizität und einer Skalierbarkeit im Petabyte-Bereich. Das System besteht aus einer Reihe von Netzwerkknoten, die in Speicher- und Zugangsknoten unterschieden werden. Die Zugangsknoten enthalten ein synchronisiertes Verzeichnis von Inhaltsadressen und dem dazugehörigen Speicherknoten, in dem jede Adresse gefunden werden kann. Wenn ein neues Datenelement oder Blob (Binary Large Object) hinzugefügt wird, berechnet die Speichereinheit den Inhalts-Hash und gibt diesen als Inhaltsadresse des Datenelements zurück. Der gebildete Hash-Wert dient zur Überprüfung, dass ein identischer Inhalt nicht ein zweites Mal gespeichert wird. Tritt der gleiche Wert auf, wird die zweite Datei verworfen und auf die erste Originaldatei referenziert. Neue Datensätze werden nach der Prüfung zu einem Speicherknoten weitergeleitet und auf das physikalische Medium geschrieben.
Wenn eine Inhaltsadresse der Einheit im Rahmen eines Zugriffs bereitgestellt wird, wird erst das Verzeichnis für die physikalische Speicherstelle der Inhaltsadresse abgefragt. Diese Information erhält man von einem Speicherknoten. Nun wird der Daten-Hash neu berechnet und verifiziert. Wenn dies abgeschlossen ist, kann die Einheit diese abgefragten Daten dem Client übermitteln. In dem CAS-System repräsentiert jede Inhaltsadresse eine Anzahl von bestimmten Datensätzen bzw. Blobs sowie möglichen Metadaten. Immer wenn ein Client einen zusätzlichen Datensatz/Blob an einen bereits existierenden Inhaltsblock hinzufügt, wird das System die Inhaltsadresse neu berechnen.
Eine andere typische Implementierung ist iCAS von iTernity. Das Konzept von iTernity basiert auf Containern (CSC-Content Storage Container). Jeder Container wird durch seinen Hashwert adressiert. Jeder Container beinhaltet mehrere unveränderbare Dokumente, so dass der einzelne Container nicht veränderbar ist und die Hashwerte nach dem Erzeugen eines Containers unveränderbar sind.
Neben dem CAS-Verfahren von EMC gibt es noch ähnliche Verfahren anderer Anbieter, die den gleichen Effekt – Unveränderbarkeit der archivierten Information – mit anderen technologischen Ansätzen erreichen. Hierzu gehören z. B. IBM, NetApp, FAST LTA, Hitachi, HP und Grau Data. Eine Open-source-CAS+ Implementierung wurde unter dem Namen Twisted Storage veröffentlicht. Die Open-source-Version des Grau Archive Managers (GAM) heißt Openarchive.

## Unterschied zu herkömmlichen Speichertechnologien

Gegenüber dem Content-Addressed-Storage steht unter anderem das Direct Attached Storage – DAS und das Storage Area Network SAN. Bei dieser Speicherverwaltung ist die Position jedes Datenelement auf dem physischen Medium für den späteren Gebrauch aufgenommen. Eine zukünftige Nachfrage nach einem bestimmten Objekt enthält nur die Adresse (zum Beispiel Pfad und Dateinamen) der Daten. Die Speichereinheit kann dann diese Information nutzen, um die Daten auf dem physischen Medium zu lokalisieren und abzurufen. Wenn neue Informationen auf den Datenträger geschrieben werden, werden diese einfach nur auf freiem Speicherplatz abgelegt, ohne auf dessen Inhalt zu achten.
CAS-Lösungen kamen erstmals 2004 auf dem Markt und verdrängen seitdem WORM-Speicher und Optische-Disks-Datenspeicherungs-Jukeboxen als Archivsysteme.

## Hash-Funktion

Um eine Zuordnung zwischen Inhalt und Speicherplatz machen zu können, kommen Hash-Funktion zum Einsatz. Die Centera setzt dabei auf den 128 Bit langen MD5 Algorithmus, während iTernity den SHA in der 512-Bit-Variante verwendet. Da der MD5-Algorithmus seit 2004 als geknackt gilt, verwendet Caringo einen Algorithmus zur dynamischen Hash-Aktualisierung, über deren genaue Funktionalität sich der Hersteller jedoch ausschweigt.

## Stärken und Schwächen

CAS arbeitet effizient mit einem Datenbestand, der sich selten ändert. Ziel ist, die Suche nach einem bestimmten Dokumenteninhalt zu beschleunigen und sicherzustellen, dass das gefundene Dokument auch identisch mit dem gespeicherten Original ist. Zusätzlich wird gewährleistet, dass ein Datensatz in einem CAS-System entsprechend seinem Inhalt gespeichert wird. Somit kann es nicht vorkommen, dass zwei identische Datensätze auf dem Speichermedium abgelegt werden. Nach dem CAS-Allozierungsverfahren hätten zwei identische Dokumente die gleiche Inhaltsadresse und damit dieselbe Speicherposition.
Traditionelle Plattenspeichersysteme eignen sich für die Speicherung von Daten im Volumen zehn bis hundert Terabyte. Sie sind jedoch nicht in der Lage, größere Mengen an Fixed Content – und das können Hunderte von Terabyte bis Petabyte sein – effizient zu verwalten und zu skalieren. Eine zusätzliche Herausforderung an das Speichersystem ist die Balance zwischen Datensicherung und Kapazitätenplanung einerseits sowie langfristig gesicherte Authentizität andererseits.
Für Daten, die sich häufig ändern, erreicht das CAS-System weniger Effizienz als die herkömmliche, den Speicherort adressierende Technologie. In solchen Fällen müsste das CAS-System für alle geänderten Datensätze deren Adressposition neu errechnen. Das Verwaltungssystem für die gespeicherten Objekte wäre somit dazu gezwungen, permanent seine Informationen, wo sich das Dokument nun befindet, zu erneuern.
Ein wirtschaftlicher Einsatz der CAS-Systeme ist immer dort gegeben, wo sehr große Dokumentenmengen mit hohen Zugriffsraten zusammentreffen und kurze Antwortzeiten gefordert werden. Für kleine Informationsmengen rechnen sich CAS-Systeme häufig nicht. Anders als Datenbanken und Fileserver, bei denen Änderungen konstant durchgeführt werden, liegt der Wert des Fixed Content in der Kombination aus erweiterter Nutzbarkeit, Authentizität und Langlebigkeit.

## Fixed Content

Es wird davon ausgegangen, dass 80 % aller gespeicherten Daten sich nicht ändern, da es sich um fertiggestellte Dokumente handelt oder bei einer Änderung eine Kopie des ursprünglichen Dokuments erhalten bleiben muss (man spricht in diesem Zusammenhang von Fixed Content), weshalb sich der Einsatz von CAS-Systemen für alle Fixed-Content-Daten lohnt.

## Standard

Mit XAM wollen einige der CAS-Hersteller einen Standard für die Ansteuerung von CAS-Systemen entwickeln.