Maddileştirilmiş görünümler

Veritabanı Tasarımı

Lis Sulmont

Curriculum Manager

İki tür görünüm

Görünümler

  • Maddileştirilmemiş görünümler olarak da bilinir
  • Şimdiye kadar böyle tanımladık
Veritabanı Tasarımı

İki tür görünüm

Görünümler

  • Maddileştirilmemiş görünümler olarak da bilinir
  • Şimdiye kadar böyle tanımladık

Maddileştirilmiş görünümler

  • Fiziksel olarak maddileştirilir
Veritabanı Tasarımı

Maddileştirilmiş görünümler

  • Sorguyu değil, sorgu sonuçlarını saklar
  • Bir maddileştirilmiş görünümü sorgulamak, saklanan sonuçlara erişmektir
    • Maddileştirilmemiş görünüm gibi sorguyu çalıştırmak değildir
  • İstendiğinde veya zamanlanınca yenilenir/remaddileştirilir
Veritabanı Tasarımı

Maddileştirilmiş görünümler ne zaman kullanılır

  • Uzun süren sorgular
  • Altta yatan sorgu sonuçları sık değişmez
  • OLAP yazma-yoğun olmadığından veri ambarları
    • Sık sorguların hesaplama maliyetini düşürür
Veritabanı Tasarımı

Maddileştirilmiş görünümleri uygulama

(PostgreSQL’de)

$$

CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM existing_table;

$$

REFRESH MATERIALIZED VIEW my_mv;
Veritabanı Tasarımı

Bağımlılıkları yönetme

  • Maddileştirilmiş görünümler sıkça diğer maddileştirilmiş görünümlere bağlıdır
Veritabanı Tasarımı

Bağımlılık örneği

$$ X ve Y görünümlerinin, bağımlılığı gösteren X’ten ve Y’den oklarla diyagramı

Veritabanı Tasarımı

Bağımlılıkları yönetme

  • Maddileştirilmiş görünümler sıkça diğer maddileştirilmiş görünümlere bağlıdır
  • Yenilemede bir bağımlılık zinciri oluşur
  • Tüm görünümleri aynı anda yenilemek verimli değildir
Veritabanı Tasarımı

Bağımlılık yönetimi araçları

  • Görünümleri izlemek için Yönlendirilmiş Çevrimsiz Grafikler (DAG) kullanın $$ $$
  • Boru hattı zamanlayıcı araçları

Yönlendirilmiş çevrimsiz grafik örneği

Airflow ve Luigi logoları

Veritabanı Tasarımı

Hadi pratik yapalım!

Veritabanı Tasarımı

Preparing Video For Download...