Viele Aspekte von Datenbanksystemen sind alt, aber heutzutage immer noch relevant
Immer mal wieder wird ein Ersatz für SQL vorgeschlagen. Nach einiger Zeit stellt sich heraus, das dieser nicht wirklich besser ist
Stattdessen werden sinnvolle Ideen dieser Ersatztvorschläge in SQL übernommen
Hinweis
Einzeltupel-Verarbeitung
Programmorientierter Zugriff
Keine deklarative Abfragesprache
Vertreter
Noch in Großrechnersystemen im Einsatz
Keine Neuentwicklung auf deren Basis
Konzepte
Theoretische Grundlagen
Erste Implementierungen:
Das relationale Modell setzt sich durch
SQL-Standard
Bekannte kommerzielle Anbieter
Oracle setzt sich durch
Stonebraker entwickelt Postgres als objektrelationales DBMS
Vermeidung des "relational-object impedance mismatch"
Direkte Umsetzung von Konzepten objektorientierter Sprachen in der Datenbank
Führen nur noch ein Nischendasein
Keine großen Veränderungen/Fortschritte im Bereich Datenbanksysteme
Kommerzielle Anbieter beherrschen den Markt
Neue Systeme:
Aufkommen dedzierter OLAP-Systeme - Data Cubes
Kommerzielle Anbieter zu schwergewichtig und teuer
Open-Source-Systemen fehlen wichtige Funktionen
Viele Unternehmen bauen eigene Middleware zur horizontalen Skalierung von Datenbanksysteen (scale out statt scale up)
Aufkommen spezieller OLAP-Systeme
Entscheidende Leistungsgewinne durch Spaltenorientierung
Systeme:
Big Data
Situation
System:
Fokus auf hoher Verfügbarkeit und großer Skalierbarkeit
Systeme:
Vereinigung der Vorteile von SQL- und NoSQL-Systeme
Systeme:
Datenbanken als Service
Containerbasiert
Cloud-Native, komplett neues Design
Systeme (OLTP):
Systeme (OLAP):
Trennung von Ausführungs- und Speichermaschine
Disaggregation
Uanhängige Skalierung der beiden Komponenten
Log Structured Storage
Graph-Strukturen - Knoten und Kanten
Abfragesprache Cypher
SQL:2023 ergänzt SQL um Graph Query Syntax
Native Graph Databases - Direkt Speicherung von Referenzen
Systeme:
Spezialisierte Systeme für Zeitreihen- bzw. Ereignisdaten
Systeme:
Composable Data Systems
Apache Arrow
DuckDB
...
Database of Databases (link)
DB-Engines (link)