डायनॉम्बीडी - सर्वश्रेष्ठ अभ्यास
विभिन्न स्रोतों और तत्वों के साथ काम करते समय कुछ प्रथाएं कोड का अनुकूलन करती हैं, त्रुटियों को रोकती हैं और थ्रूपुट लागत को कम करती हैं।
निम्नलिखित डायनमोबी में सबसे महत्वपूर्ण और आमतौर पर इस्तेमाल की जाने वाली सर्वोत्तम प्रथाओं में से कुछ हैं।
टेबल
तालिकाओं के वितरण का अर्थ है सभी तालिका वस्तुओं में समान रूप से पढ़ने / लिखने की गतिविधि के लिए सर्वोत्तम दृष्टिकोण का प्रसार।
टेबल आइटम पर समान डेटा एक्सेस के लिए लक्ष्य। इष्टतम थ्रूपुट उपयोग प्राथमिक कुंजी चयन और आइटम वर्कलोड पैटर्न पर टिकी हुई है। विभाजन कुंजी मूल्यों में समान रूप से कार्यभार फैलाएं। भारी मात्रा में उपयोग किए जाने वाले महत्वपूर्ण कुंजी मानों जैसी छोटी चीज़ों से बचें। अलग-अलग विभाजन कुंजी मानों की बड़ी मात्रा जैसे बेहतर विकल्पों का विकल्प।
विभाजन के व्यवहार की समझ हासिल करें। डायनेमोबीडी द्वारा स्वचालित रूप से आवंटित अनुमानित विभाजन।
डायनेमोडी ने फट थ्रूपुट उपयोग की पेशकश की, जो अप्रयुक्त थ्रूपुट को शक्ति के "फटने" के लिए आरक्षित करता है। इस विकल्प के भारी उपयोग से बचें क्योंकि फटने से बड़ी मात्रा में थ्रूपुट की खपत होती है; इसके अलावा, यह एक विश्वसनीय संसाधन साबित नहीं होता है।
अपलोड करने पर, बेहतर प्रदर्शन प्राप्त करने के लिए डेटा वितरित करें। सभी आवंटित सर्वरों पर समवर्ती अपलोड करके इसे लागू करें।
कैश अक्सर डेटाबेस के बजाय कैश को रीड एक्टिविटी को ऑफलोड करने के लिए उपयोग किया जाता है।
आइटम
थ्रॉटलिंग, प्रदर्शन, आकार और पहुंच लागत आइटम के साथ सबसे बड़ी चिंता का विषय है। एक-से-कई तालिकाओं के लिए ऑप्ट। एक्सेस पैटर्न से मिलान करने के लिए विशेषताएँ और विभाजन तालिकाएँ निकालें। आप इस सरल दृष्टिकोण के माध्यम से नाटकीय रूप से दक्षता में सुधार कर सकते हैं।
उन्हें संग्रहीत करने से पहले बड़े मूल्यों को संपीड़ित करें। मानक संपीड़न उपकरण का उपयोग करें। S3 जैसे बड़े विशेषता मान के लिए वैकल्पिक संग्रहण का उपयोग करें। आप S3 में ऑब्जेक्ट, और आइटम में एक पहचानकर्ता को संग्रहीत कर सकते हैं।
आभासी आइटम टुकड़ों के माध्यम से कई मदों में बड़ी विशेषताओं को वितरित करें। यह आइटम आकार की सीमाओं के लिए एक समाधान प्रदान करता है।
क्वेरी और स्कैन
क्वेरी और स्कैन मुख्य रूप से थ्रूपुट खपत की चुनौतियों से पीड़ित हैं। फट से बचें, जो आमतौर पर जोरदार सुसंगत रीडिंग पर स्विच करने जैसी चीजों के परिणामस्वरूप होता है। कम-संसाधन तरीके से समानांतर स्कैन का उपयोग करें (यानी, पृष्ठभूमि फ़ंक्शन बिना थ्रॉटलिंग के)। इसके अलावा, केवल उन्हें बड़े तालिकाओं के साथ नियोजित करें, और ऐसी परिस्थितियां जहां आप पूरी तरह से थ्रूपुट का उपयोग नहीं करते हैं या स्कैन ऑपरेशन खराब प्रदर्शन की पेशकश करते हैं।
स्थानीय माध्यमिक संकेत
अनुक्रमणिका थ्रूपुट और भंडारण लागत और प्रश्नों की दक्षता के क्षेत्रों में मुद्दों को प्रस्तुत करती है। जब तक आप अक्सर विशेषताओं को क्वेरी नहीं करते, तब तक अनुक्रमण से बचें। अनुमानों में, बुद्धिमानी से चुनें क्योंकि वे अनुक्रमणिका को फूंकते हैं। केवल उन भारी उपयोग का चयन करें।
विरल इंडेक्स का उपयोग करें, जिसका अर्थ इंडेक्स है जिसमें सभी टेबल आइटम में सॉर्ट कीज़ दिखाई नहीं देती हैं। वे अधिकांश टेबल आइटम में मौजूद विशेषताओं पर प्रश्नों का लाभ उठाते हैं।
आइटम संग्रह (सभी टेबल आइटम और उनके सूचकांक) विस्तार पर ध्यान दें। जोड़ें / अद्यतन संचालन के कारण दोनों तालिकाएँ और अनुक्रमणिकाएँ विकसित होती हैं, और 10GB संग्रह की सीमा बनी रहती है।
वैश्विक माध्यमिक संकेत
अनुक्रमणिका थ्रूपुट और भंडारण लागत और प्रश्नों की दक्षता के क्षेत्रों में मुद्दों को प्रस्तुत करती है। फैलाने वाली प्रमुख विशेषताओं का विकल्प, जो तालिकाओं में पढ़ना / लिखना पसंद करते हैं, कार्यभार एकरूपता प्रदान करते हैं। उन विशेषताओं को चुनें जो समान रूप से डेटा फैलाती हैं। इसके अलावा, विरल सूचकांक का उपयोग करें।
डेटा की मामूली मात्रा का अनुरोध करने वाले प्रश्नों में तेजी से खोज के लिए वैश्विक माध्यमिक सूचकांकों का शोषण करें।