डायनेमोडीबी इस तरह काम करने के लिए डिज़ाइन नहीं किया गया है। वस्तुओं को हैशकी पर हैश के अनुसार वितरित किया जाता है ताकि आदेश अनुमानित न हो।
आपके विकल्प शामिल हैं:
- एक भी हैश कुंजी के अंतर्गत आइटम समूहीकरण (अनुशंसित नहीं: आप अपने डेटा के साथ कुछ सर्वर ओवरलोड होता है, और अमेज़न अपने पढ़ने/लिखने की क्षमता गारंटी नहीं दे सकते)
- स्कैनिंग पूरी तालिका और एन को हालिया आइटम रखें (
for (item in items) { if (item newer then oldest accumulated item) accumulate item; }
जैसे कुछ);
- कई तालिकाओं (यानी, के बजाय एक मेज
Events
कहा जाता है, एक बनाएं कल की घटनाओं के लिए आज की घटनाओं, Events20130706
के लिए Events20130705
कहा जाता है) में अपनी मेज विभाजन, और सिर्फ पिछले विकल्प की तरह स्कैन - इस तरह से अपने स्कैन में छोटे होते हैं
आप शायद अपना डेटा मॉडल भी बदल सकते हैं। उदाहरण के लिए, आपके पास संस्करण प्रविष्टि हो सकती है जो एन हाल के आइटमों के संदर्भ रखेगी। या आपके पास एक ही काउंटर की तरह कुछ हो सकता है जिसे आप हालिया-के पर हैश के तहत एन अन्य प्रविष्टियों को अपडेट करेंगे, जहां के आपका काउंटर मॉड एन
शायद आप इस नौकरी के लिए एक और टूल का उपयोग भी कर सकते हैं । उदाहरण के लिए, आप ऐसा करने के लिए एक Redis सर्वर हो सकता है। अपने उपयोग के मामले को और अधिक विस्तार से जानने के बिना, एक सटीक सुझाव देना मुश्किल है - यह कैसे स्केलेबल होना चाहिए? यह कितना विश्वसनीय होना चाहिए? आप कितना रखरखाव करने के इच्छुक हैं? आप इसके लिए कितना भुगतान करना चाहते हैं?
सीमा को गले लगाने, अपनी बाधाओं को जानने और रचनात्मक होने के लिए आमतौर पर बेहतर होता है।
स्रोत
2013-07-05 18:40:14
धन्यवाद। मैं इसके बारे में जानता था, लेकिन एक शॉट पूछने लायक! –
2013 से इस उत्तर की तरह दिखता है, बस एक डाउनवोट मिला। कोई विशिष्ट कारण? मैंने इसे प्रश्न के संदर्भ में दोबारा पढ़ा, और यह अभी भी लागू होता है (मूल रूप से केवल अंतर यह होगा कि, 2.5 साल बाद, दिसंबर 2015 में डायनेमो डीबी ने हश और रेंज को विभाजन और सॉर्ट कुंजियों का नाम दिया, लेकिन वे अवधारणात्मक रूप से समकक्ष और रखे गए हैं एपीआई में उनके मूल नाम) –