Materialized views

डेटाबेस डिज़ाइन

Lis Sulmont

Curriculum Manager

Views के दो प्रकार

Views

  • Non-materialized views के रूप में भी जाने जाते हैं
  • अब तक हमने views को ऐसे ही परिभाषित किया है
डेटाबेस डिज़ाइन

Views के दो प्रकार

Views

  • Non-materialized views के रूप में भी जाने जाते हैं
  • अब तक हमने views को ऐसे ही परिभाषित किया है

Materialized views

  • भौतिक रूप से materialize होते हैं
डेटाबेस डिज़ाइन

Materialized views

  • Query results स्टोर करते हैं, न कि query
  • Materialized view पर query करने का मतलब stored query results को access करना है
    • Non-materialized view की तरह query चलाना नहीं होता
  • Prompt या schedule पर refresh/rematerialize किए जाते हैं
डेटाबेस डिज़ाइन

Materialized views कब उपयोग करें

  • Long-running queries
  • Underlying query results अक्सर नहीं बदलते
  • Data warehouses, क्योंकि OLAP write-intensive नहीं है
    • Frequent queries की compute cost बचाएँ
डेटाबेस डिज़ाइन

Materialized views लागू करना

(PostgreSQL में)

$$

CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM existing_table;

$$

REFRESH MATERIALIZED VIEW my_mv;
डेटाबेस डिज़ाइन

Dependencies प्रबंधन

  • Materialized views अक्सर अन्य materialized views पर निर्भर होते हैं
डेटाबेस डिज़ाइन

Dependency उदाहरण

$$ X और Y views का डायग्राम, जिसमें dependency दर्शाने वाला तीर X और Y से है

डेटाबेस डिज़ाइन

Dependencies प्रबंधन

  • Materialized views अक्सर अन्य materialized views पर निर्भर होते हैं
  • Views refresh करने पर dependency chain बनती है
  • सभी views को एक साथ refresh करना सबसे कुशल नहीं है
डेटाबेस डिज़ाइन

Dependencies प्रबंधन के टूल्स

  • Views को track करने के लिए Directed Acyclic Graphs (DAGs) का उपयोग करें $$ $$
  • Pipeline scheduler टूल्स

एक directed acyclic graph का उदाहरण

Airflow और Luigi के लोगो

डेटाबेस डिज़ाइन

अभ्यास करते हैं!

डेटाबेस डिज़ाइन

Preparing Video For Download...