Data Management: Wie Hauptspeicherdatenbanken arbeiten
Was ist der aktuelle Stand der Forschung und Technik für Hauptspeicherdatenbanken? Wie lassen sich disruptive Eigenschaften für Anwendungen im "Immunsystem" des Unternehmens ausnutzen und wann ist der Einsatz dieser Technologie im Unternehmen wirtschaftlich sinnvoll?
In der Vergangenheit haben Datenbankmanagementsysteme für die Datenspeicherung Festplatten aufgrund ihrer großen Kapazität genutzt. Hauptspeicher wurden als Pufferspeicher (Cache) verwendet, um häufig angefragte Daten zwischenzuspeichern und auf Anfrage schnell verfügbar zu haben. Main-Memory-Database-Management-Systeme (MMDBMS) drehen das um. Sie speichern alle oder einen Großteil der Daten komplett im Hauptspeicher und die Festplatte wird nur als Sekundärspeicher benutzt, um Daten gegen Stromausfälle zu sichern. MMDBMS weisen viel schnellere Antwortzeiten als traditionelle festplattenbasierte Systeme auf. Dies begründet sich aus den viel kürzeren Zeiten für Zugriffe auf die Daten im Hauptspeicher. Insgesamt ermöglichen MMDBMS extrem schnelle Antwortzeiten auf großen Datenmengen, vorausgesetzt der Datenbestand passt in den Hauptspeicher, und unterstützen die SQL-Anfragesprache sowie Erweiterungen für das Data- und Text-Mining.
Zusammenspiel zahlreicher Technologien
- Data Management: Wie Hauptspeicherdatenbanken arbeiten
- Neue Optimierungsprinzipien
- Next Generation MMDBMS
- Hybride Speicherorganisationen garantieren schnelle Ausführungszeiten
Die zunehmende Bedeutung von Hauptspeicherdatenbanken belegen bereits einige kommerzielle Systeme, wie SAP HANA, EXASolution, Parstream oder der Forschungsprototyp Hyper aus Deutschland. Ausgewählte internationale Anbieter sind MonetDB, IBM Blu, Oracle 12c, MemSQL, Microsoft Hekaton und HP Vertica. MySQL bietet ein Hauptspeicher-Backend auf Basis von Heap-Tabellen. Der MySQL-Cluster ist ein paralleles MMDBMS, das ACID-Eigenschaften durch hohe Verfügbarkeit (Replikation) sicherstellt.
MMDBMS sichern ACID-Eigenschaften auch bei Stromausfall ab. Ein MMDBMS verwaltet primär die Daten im Hauptspeicher, bei dessen Ausfall würde jedoch die wichtige ACID-Eigenschaft "Durability" verletzt. Die meisten MMDBMS sichern daher ACID-Eigenschaften über einen der folgenden Mechanismen ab:
Transaktionsprotokollierung: Hier werden die Änderungen an Datensätzen parallel zum Hauptspeicher in eine Journal-Datei geschrieben, oft liegt die Datei auf einem schnell drehenden Disk Array oder auf Solid-State-Discs (SSDs). Die Datei ermöglicht die automatische Wiederherstellung in einem MMDBMS. Eine Variante sind Append-Only-Systeme, die Änderungen nicht überschreiben, sondern an das Ende der Tabelle anhängen und das neue Datum mit einem Zeitstempel markieren. Das DBMS greift bei Anfragen nur auf diese neuen Einträge zu und löscht asynchron ältere Einträge. Beispielsweise verwaltet das System SAP HANA Transaktionen in einem besonderen differenziellen Speicher und überführt diese regelmäßig in einen spaltenorientierten Datenspeicher.
Nicht-flüchtiger RAM-Speicher (NVRAM): Dieser Speicher ist üblicherweise in der Form eines statischen RAM mit Batterie (Batterie-RAM) oder eines elektrisch löschbaren programmierbaren ROM (EEPROM). Mit dieser Methode kann das MMDBMS den letzten konsistenten Zustand beim Neustart wiederherstellen.
Hochverfügbarkeitsimplementierungen: Sie basieren auf einer Datenbankreplikation mit einem automatischen Failover-Protokoll zu einer identischen Standby-Datenbank, auf die das System im Fehlerfall zurückgreift.
Disc-is-the-new-Tape: Insbesondere aus Kostengründen wurden und werden sehr große Daten meistens zur Archivierung auf Tape gespeichert. Deutlich schnellerer disc-basierter Speicher dient in RDBMS für transaktionale (OLTP) und analytische Workloads (OLAP) und nochmals schnellerer Hauptspeicher als Cache. MMDBMS verschieben diese Hierarchie näher an die CPU heran, disc-basierter Speicher hat im MMDBMS nun eine Archiv- und Logging-Funktion. Im Hauptspeicher erfolgen OLTP und OLAP Workloads, und der nochmals deutlich schnellere CPU-Cache dient jetzt der Analyse von Daten. Diese Eliminierung des Hauptoptimierungsfaktors I/O-Kosten ermöglicht völlig neue Optimierungsprinzipien. Ihr komplexes Zusammenspiel ermöglicht erst den enormen Geschwindigkeitsvorteil von MMDBMS gegenüber eher disc-basierten DBMS.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
| Neue Optimierungsprinzipien |









Welche Anwendungsfälle sollen das sein?
Es gibt durchaus Szenarien, in denen solch scheinbarer Blödsinn durchaus sinnvoll sein...
Die gewisse Vorliebe hat ja auch gute Gründe ;-) -h
An manchen Stellen evtl. ein bischen knapp gefasst, aber im Kern sehr informativ. Was...