मैं जिस दृष्टिकोण को ले रहा हूं वह हैश-कुंजी के लिए वर्तमान टाइमस्टैम्प का उपयोग करना है (या श्रेणी-कुंजी, यदि श्रेणी-कुंजी का उपयोग भी कर रहा हो)। टाइमस्टैम्प को एक पूर्णांक के रूप में स्टोर करें, "यूनिक्स युग" (यूटीसी टाइमज़ोन में) की शुरुआत के बाद मिलीसेकंड की संख्या का प्रतिनिधित्व करते हैं। कई दिनांक/समय पुस्तकालय आपके लिए इस नंबर का उत्पादन कर सकते हैं।
इसका लाभ यह है कि यदि आप अपनी तालिका में "निर्माण समय" फ़ील्ड रखना चाहते हैं, तो आपका यूयूआईडी पहले से ही इस जानकारी को संग्रहीत करता है। टाइमस्टैम्प को एक पठनीय प्रारूप में बदलने के लिए बस अपनी तिथि/समय लाइब्रेरी में एक और विधि कॉल करें।
(अपवाद को संभालना सुनिश्चित करें जो एक ही तालिका में उसी मिलीसेकंड टाइमस्टैम्प के साथ एक ही आइटम में बनाया गया हो; बस वापस आकर उस मामले में ऑपरेशन को पुनः लोड करें, थोड़ी देर बाद, वर्तमान टाइमस्टैम्प।)
उदाहरण के लिए:
User table
केवल हैश कुंजी: userID (इस प्रयोक्ता के निर्माण के टाइमस्टैम्प)।
WidgetAttributes table
हैश-कुंजी प्लस रेंज-की।
हैश-कुंजी: userID (उस उपयोगकर्ता की उपयोगकर्ता तालिका से उपयोगकर्ता आईडी का उपयोग करें जिसके लिए विजेट संबंधित है)। रेंज-कुंजी: attribID (इस विजेट-विशेषता के निर्माण के टाइमस्टैम्प का उपयोग करें)।
अब आप किसी निश्चित उपयोगकर्ता के लिए सभी विजेट-एट्रिब्यूट प्राप्त करने के लिए विजेट एट्रिब्यूट टेबल पर "क्वेरी" ऑपरेशंस चला सकते हैं; श्रेणी-कुंजी के लिए क्वेरी-पैरामीटर के रूप में "अधिक से अधिक शून्य" का उपयोग करके।
snipet धन्यवाद मैं नहीं कर रहा हूँ जावा से परिचित तो आपका जवाब वास्तव में मददगार था। तो @DynamoDBAutoGeneratedKey को केवल यूआईआईडी उत्पन्न करने के लिए जावा एपीआई मिल रही है, न कि डायनेमो स्वयं सही है? यह वास्तव में बहुत अच्छा होगा यदि डायनेमो के पास यूयूआईडी विशेषता प्रकार था जो उनके पक्ष में आईडी उत्पन्न करेगा और नई वस्तुओं को जोड़ने के दौरान उन्हें वापस कर देगा। – Adam
@Adam: दरअसल, '@ डायनेमोडाबाटो जेनरेटेडकी' जावा एसडीके द्वारा प्रदान की गई एक कस्टम एनोटेशन है, जो संकलन समय पर उत्पन्न होने वाली कोड उत्पन्न करती है और बदले में यूयूआईडी को रनटाइम पर उत्पन्न करने के लिए जावा एप्लिकेशन के भीतर निष्पादित होती है - इसका कोई लेना-देना नहीं है इस तरह डायनेमो डीबी। और मैं मानता हूं, एक मूल डायनेमो डीबी यूयूआईडी डेटाटाइप काफी सुविधाजनक होगा - आइए आशा करते हैं कि एडब्ल्यूएस टीम समय के साथ डायनेमो डीबी कार्यक्षमता का विस्तार करेगी, वे ग्राहक की मांग का जवाब देने और तदनुसार नवाचार करने के लिए जाने जाते हैं! –