Google ऐप इंजन में पॉलीमोडेल बनाम सामान्य बिगटेबल मॉडल के प्रदर्शन निहितार्थ क्या हैं?


12

नियमित Google ऐप इंजन उपयोग, एक पॉलीमॉडल या एक सामान्य "बिगटेबल" मॉडल में सबसे अच्छा प्रदर्शन क्या पैदा करता है?

पॉलीमॉडल, प्रभावी रूप से, "क्लास" नामक पैरेंट टेबल में एक कॉलम बनाता है जो इनहेरिटेंस ट्रैकिंग प्रदान करता है। जबकि एक सामान्य Bigtable, जो मूल वर्ग से विरासत में मिला है, माता-पिता को क्वेरी करने और सभी उप-वर्ग के सभी बच्चों को खोजने की क्षमता के बिना एक नया और अलग डेटा संरचना बनाता है।

जवाबों:


3

शायद प्रदर्शन में अंतर है, लेकिन यह शायद बहुत छोटा है।

यहाँ मैंने पाया (सभी पायथन के लिए Google डॉक्स पर आधारित है )।

  1. BigTable मूल रूप से PolyModel जानकारी का समर्थन नहीं करता है। इसके बजाय, इसे 'क्लास' प्रॉपर्टी का उपयोग करके लागू किया जाता है। इसलिए, जब आप खोज करने का प्रयास करते हैं, उदाहरण के लिए, बेस क्लास खोजने के लिए, आप इस 'क्लास' प्रॉपर्टी पर खोज करेंगे।

  2. PolyModel वर्ग का उपयोग करने वाले सभी प्रश्नों में एक अतिरिक्त फ़िल्टर लागू होता है जो दिए गए वर्ग ('वर्ग' संपत्ति का उपयोग करके) फ़िल्टर करता है।

  3. पॉलीमॉडल क्लास के लिए बनाए गए किसी भी इंडेक्स को अतिरिक्त 'क्लास' कॉलम को ध्यान में रखना चाहिए।

मूल रूप से, पॉलीमॉडल वर्ग अपने आप में 'वर्ग' की संपत्ति का ख्याल रखता है, इसे प्रश्नों में सम्मिलित करता है और अन्य प्रश्नों का उपयोग करता है। इसके अलावा, यह मानक बिगटेबल उपयोग के समान है।

इसलिए, अंतर वास्तव में सिर्फ एक अतिरिक्त कॉलम को जोड़ना और बनाए रखना है।

क्या कोई प्रदर्शन अंतर है? हाँ, शायद। किसी भी डेटाबेस सिस्टम में आपके द्वारा जोड़े जाने वाले हर कॉलम का प्रदर्शन प्रभाव पड़ता है। लेकिन, क्या यह महत्वपूर्ण है? शायद ऩही।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.