2012-11-15 25 views
5

मैं एज़ूर टेबल स्टोरेज के महान सुधार के बारे में सोच रहा हूं। क्या विशिष्ट संचालन के साथ तालिका संग्रहण को क्वेरी सबमिट करना संभव है जैसे "वृद्धि मूल्य फ़ील्ड [नाम] [मूल्य] जहां [PartitionKey = somestingPK] और [RowKey = somethingRK]"?विंडोज़ एज़ूर टेबल स्टोरेज int फ़ील्ड वृद्धि

@smarx यह सुविधा उपलब्ध होगी?

+0

http://stackoverflow.com/a/11853335/67824 –

उत्तर

0

यह UPDATE MySQL की क्वेरी के समान है और वर्तमान में Azure Table Storage में प्रदर्शन करना संभव नहीं है। सुनिश्चित नहीं है कि ऐसा डेटाबेस प्रकार में प्राप्त करना संभव है, क्योंकि आपके पास पहली इकाई प्राप्त करने के लिए पहले, फ़ील्ड को अपडेट करें, और डेटाबेस पर वापस स्टोर करें।

+0

मुझे पता है कि अब यह संभव नहीं है। मैं डेवलपर्स के साथ अपना सुझाव साझा करना चाहता हूं :) –

1

हां, यह संभव है - लेकिन शायद आप जिस तरह से सोच रहे हैं बिल्कुल नहीं। आप MERGE operation की तलाश में हैं। इसका उपयोग करने के लिए, आपको इकाई को जानना होगा (यानी इकाई की विभाजन कुंजी और पंक्तिकुंजी) जिसे आप लक्षित कर रहे हैं। आपको इसे अद्यतन करने के लिए इकाई को पुनर्प्राप्त करने की आवश्यकता नहीं है, लेकिन आपको विशेष रूप से प्रत्येक इकाई को प्रति आरईएसटी कॉल या बैच क्षमताओं का उपयोग करना होगा (जिसमें कुछ प्रतिबंध हैं)।

+3

वह परमाणु वृद्धि की तलाश में है। आज ऐसी कोई बात नहीं है। – smarx

+0

लेकिन मैं वृद्धि ऑपरेशन का उपयोग नहीं कर सकता। केवल सेट करें मेरा सुझाव है कि टेबल संग्रहण में इकाई को अपडेट करना असंभव नहीं है। लेकिन यह ऑपरेशन आरईएसटी एपीआई के माध्यम से उपलब्ध नहीं है। –

4

आप इसे ETAG ट्रैकिंग सक्षम के साथ या तो तालिका या पृष्ठ संग्रहण के साथ पूरा कर सकते हैं। मैं इस तकनीक का उपयोग Azure तालिका में प्रत्येक प्रविष्टि के लिए पहचान मान बनाने के लिए करता हूं। विचार इस प्रकार है:

  • , पेज ब्लॉब से मूल्य पढ़ें ETag ट्रैकिंग छोड़ सक्षम

  • वृद्धि लिया गया मूल्य

  • पोस्ट को पुनः प्राप्त मूल्य, और अगर वहाँ एक ETag है संघर्ष, पूरे ऑपरेशन को फिर से ताज़ा करें। लक्ष्य कंटेनर या विभाजन को ओवरलोड करने से रोकने के लिए शायद यहां एक घातीय बैकऑफ एल्गोरिदम का उपयोग करें।

+1

मैं इस दृष्टिकोण को "कोस्टाइल" के रूप में नामित करता हूं। लेकिन मैं टेबल संग्रहण में परमाणु वृद्धि के मूल कार्यान्वयन का उपयोग करना चाहता हूं। –