DB2 - बफरपूल

यह अध्याय डेटाबेस में बफ़रपल्स से आपका परिचय कराता है।

परिचय

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

टेबलस्पेस और बफरपूल के बीच संबंध

प्रत्येक तालिका स्थान एक डेटाबेस में एक विशिष्ट बफर पूल के साथ जुड़ा हुआ है। एक टेबलस्पेस एक बफर के साथ जुड़ा हुआ है। बफरपूल और टेबलस्पेस का आकार समान होना चाहिए। एकाधिक बफरपूल आपको डेटाबेस द्वारा उपयोग की जाने वाली मेमोरी को उसके संपूर्ण प्रदर्शन को बढ़ाने के लिए कॉन्फ़िगर करने की अनुमति देते हैं।

बफ़र आकार

जब आप "CREAT DATABASE" कमांड का उपयोग करते हैं, तो बफ़रपूल पृष्ठ का आकार सेट होता है। यदि आप पृष्ठ का आकार निर्दिष्ट नहीं करते हैं, तो यह डिफ़ॉल्ट पृष्ठ आकार लेगा, जो कि 4KB है। एक बार बफरप्ल बनाए जाने के बाद, पृष्ठ आकार को बाद में संशोधित करना संभव नहीं है

वर्तमान डेटाबेस निर्देशिका में उपलब्ध बफरपूल को सूचीबद्ध करना

Syntax: [नीचे दिया गया सिंटैक्स डेटाबेस में सभी उपलब्ध बफरपूल दिखाता है]

db2 select * from syscat.bufferpools

Example: [वर्तमान डेटाबेस में उपलब्ध बफरपूल देखने के लिए]

db2 select * from syscat.bufferpools

Output:

BPNAME      BUFFERPOOLID DBPGNAME   NPAGES      PAGESIZE    ESTORE 
NUMBLOCKPAGES BLOCKSIZE   NGNAME
------------------------------------------------------------ 
IBMDEFAULTBP                                                                                                                
 1 -                                                                                                  
 -2        4096 N                  0           0 -     
 
 1 record(s) selected.

बफरपूल बनाना

डेटाबेस सर्वर के लिए एक नया बफरपूल बनाने के लिए, आपको दो मापदंडों की आवश्यकता होती है, जैसे "बफरपूल नाम" और "पृष्ठ का आकार"। एक नया बफरपूल बनाने के लिए निम्नलिखित क्वेरी को निष्पादित किया जाता है।

सिंटैक्स: [नीचे के सिंटैक्स में, 'bp_name' बफरपूल नाम और 'आकार' इंगित करता है, पृष्ठ के लिए आकार आपको बफरपल्स (4K, 8K, 16K, 32K) के लिए घोषित करने की आवश्यकता है]

db2 create bufferpool <bp_name> pagesize <size>

Example: [नाम "bpnew" और आकार "8192" (8Kb) के साथ एक नया बफरपुल बनाने के लिए।]

db2 create bufferpool bpnew pagesize 8192

Output

DB20000I The SQL command completed successfully.

बफरपूल को गिरा देना

बफरपूल को छोड़ने से पहले, यह जांचना आवश्यक है कि क्या कोई टेबलस्पेस इसे सौंपा गया है।

Syntax: [बफ़र ड्रॉप करने के लिए]

drop bufferpool <bp_name>

Example: [बफ़न नाम के 'bpnew' को छोड़ना]

db2 drop bufferpool bpnew

Output

DB20000I The SQL command completed successfully.