Materialisierte Sichten

Datenbankdesign

Lis Sulmont

Curriculum Manager

Zwei Arten von Sichten

Sichten

  • Auch bekannt als nicht materialisierte Sichten
  • Unsere bisherige Definition von Sichten
Datenbankdesign

Zwei Arten von Sichten

Sichten

  • Auch bekannt als nicht materialisierte Sichten
  • Unsere bisherige Definition von Sichten

Materialisierte Sichten

  • Physisch materialisiert
Datenbankdesign

Materialisierte Sichten

  • Speichert die Abfrageergebnisse und nicht die Abfrage
  • Abfragen einer materialisierten Sicht = Zugreifen auf gespeicherte Abfrageergebnisse
    • Abfrage wird nicht wie eine nicht materialisierte Sicht ausgeführt
  • Bei Bedarf oder gemäß Zeitplan erneut berechnet oder materialisiert
Datenbankdesign

Anwendungsfälle für materialisierte Sichten

  • Abfragen mit langer Laufzeit
  • Ergebnisse der zugrunde liegenden Abfrage ändern sich nicht oft
  • Data Warehouse, weil OLAP nicht so viele Schreibvorgänge benötigt
    • Einsparen von Rechenkosten für häufige Abfragen
Datenbankdesign

Materialisierte Sichten umsetzen

(in PostgreSQL)

$$

CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM existing_table;

$$

REFRESH MATERIALIZED VIEW my_mv;
Datenbankdesign

Abhängigkeiten verwalten

  • Materialisierte Sichten hängen oft von anderen materialisierten Sichten ab
Datenbankdesign

Beispiel für Abhängigkeit

$$ Diagram of X and Y views with an arrow from X and Y indicating a dependency

Datenbankdesign

Abhängigkeiten verwalten

  • Materialisierte Sichten hängen oft von anderen materialisierten Sichten ab
  • Erstellt beim Neuberechnen von Sichten eine Abhängigkeitskette
  • Gleichzeitiges Neuberechnen aller Sichten ist nicht besonders effizient
Datenbankdesign

Tools zum Verwalten von Abhängigkeiten

  • Gerichtete azyklische Graphen (DAGs) zum Abbilden von Sichten $$ $$
  • Pipeline-Planungstools

Example of a directed acyclic graph

Logos of Airflow and Luigi

Datenbankdesign

Lass uns üben!

Datenbankdesign

Preparing Video For Download...