Junior
Welche Arten von Datenbanken gibt es?
sobes.tech KI
Antwort von AI
Datenbanken werden nach mehreren Kriterien klassifiziert, die Haupttypen:
-
Relationale (SQL-orientierte):
- Daten werden in Tabellen mit Zeilen und Spalten gespeichert.
- Beziehungen zwischen Tabellen werden durch Primär- und Fremdschlüssel definiert.
- Es wird SQL für Abfragen verwendet.
- Beispiele: PostgreSQL, MySQL, Oracle, SQL Server.
-
Nicht-relationale (NoSQL):
- Unterscheiden sich von relationalen durch flexible Schemata und horizontale Skalierung.
- Es gibt verschiedene Datenmodelle:
- Schlüssel-Wert: Redis, Memcached.
- Dokumentenorientiert: MongoDB, Couchbase.
- Wide-Column: Cassandra, HBase.
- Graphen: Neo4j, ArangoDB.
-
In-Memory (im Arbeitsspeicher):
- Daten werden direkt im RAM gespeichert für schnellen Zugriff.
- Können relationale oder NoSQL sein.
- Beispiele: Redis, Memcached, SAP HANA.
-
Zeitreihen:
- Optimiert für Speicherung und Analyse von Daten in chronologischer Reihenfolge.
- Beispiele: InfluxDB, TimescaleDB.
-
Multimodell:
- Unterstützen mehrere Datenmodelle gleichzeitig (z.B. dokumentenbasiert und graphbasiert).
- Beispiele: ArangoDB, OrientDB.
-
Raumbezogen:
- Optimiert für Speicherung und Abfragen von Daten mit geografischen Koordinaten.
- Häufig Erweiterungen für relationale oder NoSQL-Datenbanken (z.B. PostGIS für PostgreSQL).
-
Master-Slave:
- Architektonisches Muster für Datenreplikation. Ein Knoten (Master) verarbeitet Schreibvorgänge, andere (Slaves) nur Lesevorgänge und synchronisieren sich mit dem Master. Wird für Skalierung und Hochverfügbarkeit genutzt.
-
Sharding:
- Daten werden auf mehrere unabhängige Knoten (Shards) verteilt. Wird für horizontale Skalierung und große Datenmengen verwendet.
Vergleichstabelle zwischen relationalen und nicht-relationalen Datenbanken (Hauptunterschiede):
| Merkmal | Relationale (SQL) | Nicht-relationale (NoSQL) |
|---|---|---|
| Schema | Starr, vordefiniert | Flexibel, dynamisch |
| Skalierung | Vertikal (schwerer horizontal) | Horizontal (einfacher) |
| Datenintegrität | ACID (häufig) | BASE (häufiger) |
| Datenmodell | Tabellen | Schlüssel-Wert, dokumentenbasiert, graphbasiert, etc. |
| Abfragesprache | SQL | Verschieden (API, spezifisch) |