Materialized view

Perancangan Basis Data

Lis Sulmont

Curriculum Manager

Dua jenis view

View

  • Juga disebut non-materialized view
  • Definisi view yang digunakan sejauh ini
Perancangan Basis Data

Dua jenis view

View

  • Juga disebut non-materialized view
  • Definisi view yang digunakan sejauh ini

Materialized view

  • Terdapat secara fisik
Perancangan Basis Data

Materialized view

  • Menyimpan hasil kueri, bukan kuerinya
  • Mengkueri materialized view berarti mengakses hasil yang disimpan
    • Bukan menjalankan kueri seperti non-materialized view
  • Di-refresh atau dimaterialisasi ulang saat dipicu atau dijadwalkan
Perancangan Basis Data

Kapan menggunakan materialized view

  • Kueri berdurasi lama
  • Hasil kueri dasar jarang berubah
  • Data warehouse karena OLAP tidak intensif tulis
    • Menghemat biaya komputasi untuk kueri yang sering
Perancangan Basis Data

Menerapkan materialized view

(di PostgreSQL)

$$

CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM existing_table;

$$

REFRESH MATERIALIZED VIEW my_mv;
Perancangan Basis Data

Mengelola dependensi

  • Materialized view sering bergantung pada materialized view lain
Perancangan Basis Data

Contoh dependensi

$$ Diagram view X dan Y dengan panah dari X dan Y yang menunjukkan dependensi

Perancangan Basis Data

Mengelola dependensi

  • Materialized view sering bergantung pada materialized view lain
  • Membuat rantai dependensi saat me-refresh view
  • Tidak efisien jika me-refresh semua view sekaligus
Perancangan Basis Data

Alat untuk mengelola dependensi

  • Gunakan Directed Acyclic Graph (DAG) untuk melacak view $$ $$
  • Alat penjadwal pipeline

Contoh directed acyclic graph

Logo Airflow dan Luigi

Perancangan Basis Data

Ayo berlatih!

Perancangan Basis Data

Preparing Video For Download...