2008-08-26 7 views
5

आप कैसे निर्धारित करते हैं कि table clusters का उपयोग कब करें? विभिन्न मामलों के लिए उपयोग करने के लिए दो प्रकार, सूचकांक और हैश हैं। आपके अनुभव में, टेबल क्लस्टर का परिचय और उपयोग किया गया है?आप टेबल क्लस्टर का उपयोग कब करते हैं?

यदि आपकी कोई भी तालिका इस तरह से स्थापित नहीं है, तो उन्हें तालिका क्लस्टर का उपयोग करने के लिए संशोधित करने से सेट अप की जटिलता में वृद्धि होगी। लेकिन भविष्य में रखरखाव के काम में बढ़ी हुई जटिलता की लागत से अपेक्षित प्रदर्शन लाभों से अधिक लाभ होगा?

क्या आपके पास कोई पसंदीदा ऑनलाइन संदर्भ या पुस्तकें हैं जो टेबल क्लस्टरिंग का वर्णन करती हैं और अच्छे कार्यान्वयन उदाहरण देती हैं?

// ओरेकल युक्तियों की बहुत सराहना की गई।

उत्तर

1

मैंने ओरेकल के टेबल क्लस्टर का उपयोग नहीं किया है, लेकिन मैं समझता हूं कि इसकी अनुक्रमणिका तालिका क्लस्टर एमएस एसक्यूएल सर्वर की क्लस्टर इंडेक्स की तरह बहुत अधिक हैं। यही है, पंक्ति डेटा भौतिक रूप से क्लस्टर सूचकांक की कुंजी द्वारा व्यवस्थित किया जाता है।

यह एक भारी पहुंच वाले कॉलम के लिए एक आदर्श बनाता है जिसमें संभावित मूल्यों की एक छोटी संख्या (पंक्तियों की कुल संख्या की तुलना में) है, जहां अधिकांश प्रश्न किसी विशेष मूल्य के साथ सभी पंक्तियों को पुनर्प्राप्त करना चाहते हैं। चूंकि ऐसी सभी पंक्तियों को शारीरिक रूप से एक साथ संग्रहीत किया जाता है, डिस्क I/O, विशेष रूप से समय तलाशते हैं, कम हो जाते हैं।

"उचित रूप से छोटा" आसानी से परिभाषित नहीं किया गया है, लेकिन एक पता तालिका में डाक या ज़िप कोड उचित लगता है यदि आप अक्सर एक कोड के क्षेत्र में सभी पते के लिए पूछताछ करते हैं। देश/व्यापी पता तालिका के लिए प्रांत/राज्य/क्षेत्र कोड बहुत छोटे चयन की संभावना है।

तो, आप कुछ संभावित मूल्यों (जैसे, लिंग के लिए एम/एफ) के साथ कॉलम पर उनका उपयोग नहीं करना चाहते हैं, क्योंकि क्लस्टरिंग आपको कुछ भी नहीं खरीदती है और संभावित रूप से आपको प्रविष्टियों के लिए खर्च करती है। आप कभी भी "ऑटोमंबर" सरोगेट कुंजी कॉलम (ओरेकल में अनुक्रमों से) पर क्लस्टरिंग का उपयोग नहीं करना चाहते हैं क्योंकि इससे टेबल की आखिरी सीमा में "हॉट स्पॉट" बन जाएगा क्योंकि सभी सम्मिलन शारीरिक रूप से वहां होने चाहिए। आप कॉलम वैल्यू पर क्लस्टरिंग भी लागू नहीं करना चाहते हैं जिसे अपडेट किया जाएगा क्योंकि आरडीबीएमएस को क्लस्टर ऑर्डरिंग को बनाए रखने के लिए रिकॉर्ड को शारीरिक रूप से ले जाना होगा।

+0

ओरेकल तालिका समूहों SQLServer के क्लस्टर सूचकांक की तरह नहीं हैं। –

+0

इतना बाद में पूछ रहे हैं, लेकिन मैं एक और संकेत नहीं मिला के लिए खेद है: वहाँ किसी चीज़ MSSQL में Oracle की मेज समूहों के समान है? – landi

7

टेबल क्लस्टर की हत्यारा सुविधा यह है कि आप अलग-अलग तालिकाओं से संबंधित भौतिक स्थान पर संबंधित पंक्तियों को संग्रहीत कर सकते हैं।

जो परिमाण के क्रम में प्रदर्शन में सुधार को बेहतर बना सकता है। हालांकि, यह अक्सर लगता है कि यह अक्सर भुगतान नहीं करता है।

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

यह अधिक या कम पूर्व-जुड़ा हुआ है, लेकिन फिर भी सामान्य तालिकाओं की तरह लग रहा है (INSERT/SELECT/UPDATE/DELETE के लिए)।

दूसरी ओर, देखते हैं "एकल तालिका समूहों" है कि ज्यादातर "क्लस्टरिंग कारक" को नियंत्रित करने के लिए उपयोग किया जाता - क्लस्टर अनुक्रमित (सूचकांक संगठित-टेबल Oracle में कहा जाता है) की तरह एक समान विचार लेकिन उच्च लागत को जोड़ने नहीं यदि एक माध्यमिक सूचकांक का उपयोग कर रहे हैं।

2

एक क्लस्टरिंग के बारे में बहुत बात कर सकते हैं, लेकिन मैं Oracle समूहों के बारे में है कि लगभग अंतिम स्पष्टीकरण पाया (उपयोग करने के लिए जब पक्ष और विपक्ष, और कैसे उपयोग करने के लिए) टॉम Kyte की पुस्तक में पाया जा सकता है - Effective Oracle by Design, यह भी आप कर सकते हैं कुछ विशेष क्लस्टर उपयोग के उदाहरण (1, 2 आदि) के लिए खोज asktom। आप निश्चित रूप से इस पुस्तक पर एक नज़र डालें अगर आप अभी तक नहीं होना चाहिए।

कुछ जानकारी आप भी here पा सकते हैं।

लेकिन बात तुम हमेशा जटिल स्कीमा संरचनाओं बनाने से पहले क्या करना चाहिए की कोशिश करना, परीक्षण करने के लिए, बेंचमार्क के लिए और एक ही समाधान है कि सबसे अच्छा अपनी आवश्यकताओं :)

आशा इस मदद करता है फिट बैठता है चुनना है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^