भौतिकवादी दृष्टिकोण के बजाय तालिका का उपयोग क्यों नहीं किया जाता है?


53

मैं Oracle डेटाबेस में नया हूँ। अगर मैंने सही तरीके से समझा है, तो भौतिकीकृत दृश्य एक ऐसा दृश्य है जिसका परिणाम सेट डेटाबेस में एक भौतिक तालिका के रूप में सहेजा जाता है और यह दृश्य / तालिका कुछ पैरामीटर पर आधारों को ताज़ा किया जाता है। यदि दृश्य को एक भौतिक तालिका के रूप में सहेजा गया है, तो पहले स्थान पर डेटा को तालिका में संग्रहीत क्यों नहीं किया जाता है? तो तालिका के बजाय भौतिकवादी दृष्टिकोण का उपयोग करने का क्या लाभ है?

जवाबों:


59

भौतिकवादी दृष्टिकोण का उपयोग करने का सबसे बड़ा लाभ यह है कि ओरेकल डेटा को सिंक में रखने का ध्यान रखता है। यदि आपके पास एक अलग कुल तालिका है, तो आप डेटा को सिंक्रनाइज़ रखने के लिए जिम्मेदार हैं। आम तौर पर कोड की एक उचित मात्रा और परीक्षण की एक सभ्य राशि की आवश्यकता होती है और अधिकांश संगठन उन गलतियों को बनाने का प्रबंधन करते हैं जो छेदों को छोड़ देते हैं जिससे समग्र तालिका सिंक से बाहर हो जाती है। यह विशेष रूप से सच है जब आप समग्र तालिका के वृद्धिशील रिफ्रेश को लागू करने का प्रयास करते हैं।

एक अन्य प्रमुख लाभ यह है कि, सेटिंग्स के आधार पर, ओरेकल क्वेरी को फिर से उपयोग कर भौतिक विचारों का उपयोग कर सकता है, जब उपयोगकर्ता आधार तालिकाओं के खिलाफ प्रश्न जारी करते हैं। इसलिए, उदाहरण के लिए, यदि आपके पास दैनिक, मासिक और वार्षिक कुल परिणामों का विस्तार करने वाली तालिका के खिलाफ मौजूदा रिपोर्टों का एक समूह है, तो आप आधार तालिका पर एक भौतिक दृष्टिकोण बना सकते हैं जो डेटा को दैनिक स्तर पर एकत्रित करता है और अनुकूलक कर सकता है अपने सभी मौजूदा प्रश्नों के लिए उस भौतिक दृश्य का उपयोग करें। इससे डेटा वेयरहाउस में रिपोर्टिंग वर्कलोड को ऑप्टिमाइज़ करना आसान हो जाता है, ताकि आप अपनी नई एग्रीगेट टेबल का उपयोग करने या DBMS_ADVANCED_REWRITEप्रश्नों के अपने स्वयं के राइट्स को मजबूर करने के लिए दर्जनों रिपोर्टों को फिर से लिखने और फिर से लिखने की कोशिश न करें ।


14

मटेरियलाइज्ड व्यू अपने आप अपडेट हो जाते हैं क्योंकि उनके बेस टेबल अपडेट हो जाते हैं।


1
ध्यान दें कि ON DEMANDडिफ़ॉल्ट ताज़ा व्यवहार है। भौतिकवादी दृष्टिकोण के साथ बनाया जाना चाहिए ON COMMIT। और भौतिक दृष्टि को बनाए रखना मुक्त नहीं है। यह शायद एक ट्रिगर से सस्ता है, हालांकि।
ड्यूरेट

10

MVs का उपयोग करने के लिए एक अच्छा मामला यह है कि कुछ समय आप डेटा एकत्र करना चाहते हैं और इस सारांश जानकारी को बड़ी तालिकाओं से बार-बार और जल्दी से प्राप्त करते हैं। भौतिक विचारों के बिना, आपको या तो अपनी कुछ तालिकाओं को असामान्य बनाना होगा और कोड के माध्यम से समुच्चय बनाए रखना होगा या बार-बार पंक्तियों के बड़े सेट को स्कैन करना होगा। किसी भी तरह से हमेशा डैशबोर्ड और समान ऑनलाइन अनुप्रयोगों के साथ विशेष रूप से स्वीकार्य नहीं होता है। यदि आप परिणामों को एक अलग तालिका में रखते हैं, तो आप अपना एप्लिकेशन कोड जटिल करते हैं और जैसा कि @ जस्टिन केव कहते हैं, आप यह सुनिश्चित करने के लिए प्रभारी होंगे कि मैन्युअल रूप से एकत्रित डेटा सिंक में है। मूल तालिका के डेटा के साथ।


4

ओरेकल व्यक्ति नहीं है, लेकिन एक अन्य उपयोग मामला तीसरे पक्ष के समाधान होगा। वे आम तौर पर आपके डिज़ाइन में परिवर्तन करने में आपका समर्थन नहीं करते हैं, लेकिन एक MV उनके कोड के लिए "अदृश्य" होगा, लेकिन कस्टम रिपोर्टिंग / डेटा अर्क तक पहुंच प्रदान करेगा।

यह इस बात से मुक्त नहीं है कि इसमें भंडारण लागत और संभावित रूप से प्रभावी सम्मिलित / अद्यतन समय लागत शामिल होगी, लेकिन भौतिक डेटा को "सीधे दृश्य" बनाम वास्तविक तालिका बनाने या आसपास के ईटीएल को बनाए रखने में लगने वाले समय की भरपाई हो सकती है।

अंत में, ऐसा करने से विक्रेता के साथ आपका समर्थन अनुबंध रद्द हो सकता है, परामर्श-अपना वकील-ब्ला-ब्ला-ब्लाह


2

इसके बजाय तक जाया जा सकता की materialized विचारों मुझे समझाती हूँ दृश्य

मूल रूप से विचार तालिकाओं के विपरीत तार्किक रूप से मौजूद हैं। यदि हम कुछ स्तंभों को उन उपयोगकर्ताओं से छिपाना चाहते हैं जो हम तालिकाओं का उपयोग नहीं कर सकते हैं एक दृष्टिकोण बनाकर हम सुरक्षा प्राप्त कर सकते हैं।

उपयोग-मामला: यदि कोई दृश्य आंतरिक रूप से 10 तालिकाओं के साथ समूह द्वारा संबंधित है और फ़ंक्शन में लाखों पंक्तियाँ हैं, तो इसे निष्पादित होने में अधिक समय लगता है।

तो यहाँ आता है Materialized विचार हमें डेटा तेजी से प्राप्त करने में मदद करता है। भौतिकवादी विचार डेटाबेस में भौतिक रूप से मौजूद हैं। जब भी बेस टेबल अपडेट की जाती है तो मैटेरियलाइज्ड व्यू अपडेट हो जाता है।

भौतिक रूप से देखे गए विचार क्वेरी परिभाषा के आधार पर समय-समय पर अद्यतन किए जाते हैं, तालिका ऐसा नहीं कर सकती है।


0

आवधिक आधार पर स्वचालित रूप से ताज़ा करने के लिए एक भौतिक दृष्टिकोण स्थापित किया जा सकता है। डेटा को छोटा / पुनः लोड करने के लिए एक तालिका को अतिरिक्त कोड की आवश्यकता हो सकती है।

उदाहरण: कई तालिकाओं के डेटा वाले भौतिकीकृत दृश्य को गैर-पीक घंटों के दौरान स्वचालित रूप से ताज़ा करने के लिए सेटअप किया जा सकता है। एक भौतिक तालिका को डेटा को छोटा / पुनः लोड करने के लिए अतिरिक्त कोड की आवश्यकता होगी।

टेबल के बजाय भौतिक दृष्टि से सुरक्षा को बेहतर ढंग से नियंत्रित किया जा सकता है।


0

एक भौतिकवादी दृश्य एक डेटाबेस ऑब्जेक्ट है जिसमें क्वेरी के परिणाम होते हैं। वे दूरस्थ रूप से स्थित डेटा की स्थानीय प्रतियां हैं, या तालिका के डेटा के एकत्रीकरण के आधार पर सारांश तालिका बनाने के लिए उपयोग किया जाता है। http://www.oraappdata.com/2016/04/materialized-view.html


1
कृपया ध्यान दें कि प्रश्न यह नहीं था कि भौतिक दृष्टिकोण क्या है, बल्कि इसका उपयोग क्यों और कैसे करना है।
ट्विंकल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.