2012-09-03 12 views
19

पर आधारित एकल आइटम पुनर्प्राप्ति के लिए getItem() बनाम अगर मैं अनुक्रमित हैश कुंजी के आधार पर अपनी तालिका से एक आइटम पुनर्प्राप्त कर रहा हूं, तो क्या क्वेरी() या getItem के बीच एक प्रदर्शन अंतर है ()?डायनेमडीबी क्वेरी() बनाम getItem() इंडेक्स

उत्तर

15

getItem तेजी से
हैशम हैश और रेंज कुंजी के माध्यम से प्राप्त करें 1: 1 फिट है, इसे प्राप्त करने के लिए समय (इसलिए प्रदर्शन) इसे प्राप्त करने के लिए आंतरिक रूप से हैश और शेडिंग द्वारा सीमित है।
प्रश्न "सभी" रेंज कुंजी पर एक खोज में परिणाम। यह कम्प्यूटेशनल काम जोड़ता है, इस प्रकार धीमी माना जाता है।

10

अमेज़ॅन के डायनेमो डीबी में, आपके प्रदर्शन गारंटी पहुंच विधि हैं। (आप इसके लिए भुगतान करते हैं)।

एक जोड़ी हो सकता है DynamoDB सर्वर स्वयं पर एक मिलीसेकेंड मतभेद के रूप में चेन हारेल ने सुझाव दिया, लेकिन इन क्योंकि HTTP अनुरोध RTT की नगण्य हैं।

यह कहा था, यह आप ऐसा करने के लिए पर्याप्त जानकारियां है जब एक GETQUERY के बजाय जारी करने के लिए एक अच्छा अभ्यास है।

+3

उन दो मिलीसेकंड HTTP अनुरोध के संदर्भ में भी पैमाने पर एक बड़ा अंतर डाल सकते हैं। डायनेमोडीबी के लिए 2-3 एमएमएस अतिरिक्त विलंबता का मतलब 2-3 एमएमएस समय हो सकता है कि आपके वेब सर्वर और आपकी बैकएंड सेवा के बीच अनुरोध खुला रहता है, संसाधनों को जोड़ना। – Annabelle

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