14

Python NDB Overview से लिया:एनडीबी बनाम डीबी (उच्च प्रतिकृति डेटास्टोर पर) की गति तुलना क्या हैं?

जब आवेदन एक इकाई पढ़ता है, उस संस्था स्वचालित रूप से कैश किया गया है; यह तेजी से (और सस्ता) अक्सर पढ़ने वाली संस्थाओं के लिए पढ़ता है।

...

NDB समारोह है कि डेटा लिखते हैं (उदाहरण के लिए, डाल()) कैश अमान्यकरण रिटर्न; लागू चरण असीमित रूप से होता है।

यूट्यूब, Google I/O 2011: More 9s Please: Under The Covers of the High Replication Datastore पर देख में, 13 पर: 11-इश, औसत सुप्तावस्था हैं:

मास्टर/दास:

  • पढ़ें: 15ms
  • लिखें: 20ms

उच्च प्रतिकृति:

  • पढ़ें: 15ms
  • लिखें: 45ms

कैसे काफी NDB एप्लिकेशन की से इस गति को प्रभावित करता है, perspect मैंने?

संपादित करें: विशेष रूप से समय आंकड़ों (मिलीसेकंड में) के बारे में उत्सुक है।

अतिरिक्त क्रेडिट: मैं भी सुना निक जॉनसन चारों ओर ले जा रहा 160ms प्रत्येक (2009 में) [link] NDB प्रश्नों पर किसी भी गति लाभ प्रदान करता है प्रश्नों का उल्लेख है?

उत्तर

10

एनडीबी का उपयोग करके आपके डेटास्टोर कॉल आपके ऐप के परिप्रेक्ष्य से काफी तेज़ी से दिखाई देते हैं।

पढ़ें: सर्वश्रेष्ठ केस परिदृश्य, उदाहरण कैश या memcache से पढ़ा जाता है। ज्यादातर मामलों में, यह डेटास्टोर से पढ़ने से काफी तेज होगा।

लिखना: एनडीबी डालने/लिखने की विधि कैश अमान्यता के ठीक बाद वापस आती है। यह सामान्य लिखने की तुलना में तेज़ तरीका है। तो आपके ऐप के परिप्रेक्ष्य से, यह काफी तेज़ है। वास्तविक लेखन, हालांकि, असंकालिक रूप से किया जाता है।

एनडीबी बनाम डीबी (उच्च प्रतिकृति): आपके ऐप के परिप्रेक्ष्य से गति के संदर्भ में, एनडीबी स्पष्ट जीत होनी चाहिए।

+0

त्वरित उत्तर के लिए धन्यवाद! मैं विशेष रूप से समय में, मिलीसेकंड में रुचि रखता हूं। अब इसे प्रतिबिंबित करने के लिए पोस्ट को संपादित करना। :) – wTyeRogers

+0

@wTyeRogers यदि आप सटीक आंकड़े जानना चाहते हैं, तो आपको अपने स्वयं के मानक करना होगा। –

+0

@ निक जॉनसन, कमाल; धन्यवाद! चूंकि यह मेरा पहला स्टैक ओवरफ़्लो पोस्ट है, मेरे पास शिष्टाचार के बारे में एक प्रश्न है जो अक्सर पूछे जाने वाले प्रश्नों में नहीं है: क्या मैं आंकड़ों को शामिल करने के लिए अल्बर्ट की पोस्ट संपादित करता हूं, या क्या मैं अपना व्यक्तिगत उत्तर पोस्ट करता हूं? (यह मेरे अपने प्रश्न का उत्तर पोस्ट करने में थोड़ा अजीब लगता है ..) – wTyeRogers

18

आपको अपने लिए बेंचमार्क करना होगा - कई बार कारकों और जटिलता जैसे कई कारकों पर निर्भर करते हैं: दोहराए गए गुणों में अधिक गुण या अधिक आइटम -> अधिक जटिल।

आपके द्वारा उद्धृत संख्याएं वास्तव में पुरानी हैं और शायद वास्तविकता को प्रतिबिंबित नहीं करती हैं; अधिकांश उपयोगकर्ताओं का अनुभव यह है कि एचआरडी औसत से एम/एस की तुलना में धीमी नहीं है (कुछ हद तक क्योंकि एम/एस में बहुत अधिक परिवर्तनशीलता है)।

यहां कुछ एनडीबी बेंचमार्क किए गए थे: http://code.google.com/p/appengine-ndb-experiment/issues/detail?id=118 - लेकिन यह संख्याओं को पुराने डीबी से तुलना नहीं करता है।

आप वास्तविक ऐप में कुछ समय के संचालन के लिए ऐपस्टैट का उपयोग कर सकते हैं।

+4

मेरे पहले स्टैक ओवरफ़्लो पोस्ट के लिए जानना अच्छा है! मैं चुपचाप उम्मीद कर रहा था कि _you_ उत्तरदाताओं में से एक होगा, एनडीबी के आपके घनिष्ठ ज्ञान और पाइथन के एक्स-रे दृष्टि के साथ आंकड़ों का विश्लेषण करने की आपकी क्षमता को देखते हुए - इस प्रश्न के लिए घातक संयोजन। कुछ जटिलता बिंदुओं को हाइलाइट करने के लिए _Thank you_, और लिंक बहुत उपयोगी है। – wTyeRogers

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