In-Memory
In-Memory-Datenhaltung nutzt flüchtigen Speicher, der nur so lange existiert, wie eine Energieversorgung besteht. Dazu gehören Arbeitsspeicher (Hauptspeicher) und Cache, die als Primärspeicher gelten. Sekundärspeicher ist hingegen nicht flüchtig und umfasst Technologien wie SSDs.
Vorteile:
- Niedrige Latenz
- Hoher Durchsatz
- Skalierbarkeit
Nachteile:
- Datensicherung: Mechanismen wie Replikation und Snapshots sind notwendig. SAP HANA nutzt non-volatile RAM zur Sicherung.
- Hauptspeicherkapazität ist kostenintensiv, daher wird oft Kompression verwendet.
Anwendungsbereiche:
- Besonders geeignet für Caching und Echtzeit-Analysen.
Spaltenorientierte und zeilenorientierte Datenbanken
- Spaltenorientierte Datenbanken eignen sich besonders für analytische Abfragen und große Datenmengen.
- Zeilenorientierte Datenbanken sind vorteilhaft für Transaktionssysteme, bei denen häufig auf ganze Datensätze zugegriffen wird.
NoSQL
NoSQL-Datenbanken sind ideal für spezielle Anwendungsfälle wie Beobachtungsdaten (Sensordaten), Lokalisierungsdaten und Beziehungsdaten. Die verschiedenen Typen umfassen:
- Schlüssel-Wert-Datenbanken (z.B. Redis)
- Spaltenorientierte Datenbanken (z.B. Cassandra)
- Dokumentenorientierte Datenbanken (z.B. MongoDB)
- Graphdatenbanken (z.B. Neo4j), bei denen Daten als Graph mit Knoten und Kanten abgebildet werden
Hadoop
Hadoop ist ein Framework zur Verarbeitung und Speicherung großer Datenmengen. Es verwendet das Hadoop Distributed File System (HDFS).
Vorteile:
- Horizontale Skalierbarkeit
- Aufteilung von Rechenleistung und Speicher
Aufbau:
- Name Node (Masterknoten): Verwaltet alle Metadaten.
- Dateien werden in Blöcke aufgeteilt und verteilt gespeichert.
Komponenten:
- HDFS: Verteilung und Speicherung der Daten.
- Hadoop MapReduce: Verarbeitungsmodell für große Datenmengen.
- YARN: Ressourcenmanagement innerhalb des Hadoop-Clusters.
Durch diese Technologien wird eine flexible und leistungsfähige Datenhaltung ermöglicht, die für verschiedene Anforderungen und Einsatzbereiche angepasst werden kann.