2014-06-24 6 views
7

प्रश्न: एक प्राथमिक कुंजी है कि एक समग्र हैश दूरी कुंजी अद्वितीय हैं साथविशिष्टता

DynamoDB टेबल। क्या यह माध्यमिक सूचकांक तक भी बढ़ता है?

उदाहरण:

मैं एक post_id प्राथमिक कुंजी के साथ एक टिप्पणी DynamoDB तालिका है और comment_id रेंज कुंजी। इसके अतिरिक्त दिनांक-उपयोगकर्ता_आईडी रेंज कुंजी के साथ स्थानीय माध्यमिक अनुक्रमणिका है।

प्रत्येक प्रविष्टि एक टिप्पणी है जिसे उपयोगकर्ता ने पोस्ट पर छोड़ा है। द्वितीयक सूचकांक का उद्देश्य यह मानना ​​है कि कितने अद्वितीय उपयोगकर्ताओं ने एक विशिष्ट दिन पर किसी पोस्ट पर टिप्पणी छोड़ दी है।

एंट्री 1: post_id: 1 comment_id: 1 तारीख-user_id: 2014_06_24-1

एंट्री 2: post_id: 1 comment_id: 2 तारीख-user_id: 2014_06_24-1

एंट्री 3: post_id: 1 comment_id: 3 तारीख हमें- er_id: 2014_06_24-2

जब मैं द्वितीयक अनुक्रमणिका निर्दिष्ट करने वाली क्वेरी करता हूं, और post_id की स्थिति में पास होता है 1 और बराबर-उपयोगकर्ता_आईडी 2014_06_24-1 के बराबर होता है, तो मुझे 2 की गिनती मिल रही है और मैं 1.

की गणना की अपेक्षा द्वितीयक अनुक्रमणिका में प्राथमिक प्राथमिक कुंजी/श्रेणी कुंजी के साथ दो प्रविष्टियां क्यों होती हैं।

उत्तर

2

स्थानीय माध्यमिक सूचकांक (एलएसआई) में प्रत्येक आइटम तालिका में संबंधित आइटम के साथ 1: 1 संबंध है। उपर्युक्त उदाहरण में, जबकि एलएसआई में एंट्री 1 और एंट्री 2 में एक ही रेंज कुंजी मान है, वे तालिका में आइटम को इंगित करते हैं। इसलिए सूचकांक कुंजी (हैश या हैश + रेंज) अद्वितीय नहीं हैं।

वैश्विक माध्यमिक सूचकांक (जीएसआई) इस पहलू में एलएसआई के समान हैं। प्रत्येक जीएसआई आइटम में टेबल हैश और रेंज कुंजियां (संबंधित आइटम का) होता है। अधिक जानकारी http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html#GSI.Projections

7

माध्यमिक अनुक्रमणिका विशिष्टता की गारंटी नहीं देती है। डॉक्स से:

इसके अलावा, याद है कि वैश्विक माध्यमिक अनुक्रमित विशिष्टता

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html

+2

कैसे एक गारंटी विशिष्टता होगा लागू नहीं है? –

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