पर बड़ी संख्या में अनुरोधों के लिए इष्टतम समाधान हमारे पास एक प्रणाली है जहां ग्राहकों को पहले आते पहले पहले उत्पाद पर एक उत्पाद आवंटित किया जाता है।एक डेटाबेस तालिका
हमारे उत्पादों तालिका एक incrementing प्राथमिक कुंजी है कि शून्य है जो हम कितने उत्पादों आवंटित किया गया है यानी यदि उपयोगकर्ता उत्पाद सुरक्षित रखता है और आवंटित हो जाता है 1 का ट्रैक रखने के लिए उपयोग में शुरू होता है, अगले उपयोगकर्ता 2 आदि
हो जाता है समस्या यह है कि संभावित रूप से सैकड़ों हजारों उपयोगकर्ता किसी भी समय में सिस्टम तक पहुंचेंगे। इनमें से सभी इस टेबल को मार देंगे।
चूंकि हमें यह सुनिश्चित करने की आवश्यकता है कि प्रत्येक ग्राहक केवल एक उत्पाद आवंटित किया जाए और कितने उत्पादों को आवंटित किया गया है, इसका ट्रैक रखें, हम प्रत्येक ग्राहक के लिए एक पंक्ति लॉक का उपयोग करते हैं ताकि यह सुनिश्चित किया जा सके कि वे अगले ग्राहक से पहले तालिका में लिख सकें सिस्टम को हिट करता है - यानी पहले आते पहले नियमों को लागू करना।
हम इस समस्या के बारे में चिंतित हैं कि SQL सर्वर 2008 एंटरप्राइज़ संस्करण और पंक्ति लॉक में आने वाले प्रत्येक अनुरोध का प्रसंस्करण समय है।
हम एकाधिक सर्वर का उपयोग नहीं कर सकते हैं क्योंकि हमें प्राइम कुंजी की अखंडता सुनिश्चित करने की आवश्यकता है ताकि प्रतिकृति की आवश्यकता वाले किसी भी काम को काम नहीं किया जा रहा है।
क्या किसी को भी किसी भी अच्छे समाधान के बारे में पता है जो एक डेटाबेस तालिका पर बड़ी संख्या में अनुरोधों को संभालने में विशेष रूप से कुशल है?
थोड़ा और जानकारी: प्रश्न में तालिका अनिवार्य रूप से केवल दो फ़ील्ड - आईडी और ग्राहक आईडी शामिल है। समाधान एक लाख उत्पादों के मुफ्त उपहार के लिए है - इसलिए उच्च मांग की उम्मीद और एक कुंजी के रूप में बढ़ती प्राथमिक कुंजी का उपयोग करने के लिए हमारे लिए क्या अर्थ है - एक बार जब कुंजी मिलियन मिल जाती है, तो कोई भी ग्राहक पंजीकरण नहीं कर सकता है। साथ ही, उत्पाद सभी अलग हैं इसलिए सही कुंजी का आवंटन महत्वपूर्ण है। पहले 100 ग्राहकों ने अगले 100 आदि
किसी भी मदद के लिए धन्यवाद के मुकाबले एक उच्च मूल्य उत्पाद प्राप्त किया।
क्या आप पुनः टैग कर सकते हैं, [sqlserver] शामिल कर सकते हैं और क्या आप मुझे अपना प्रश्न संपादित कर सकते हैं और हमें बता सकते हैं कि आपके पास 'SQL2008 एंटरप्राइज़ संस्करण' है, उदाहरण के लिए हम अनुरूप समाधान प्रदान करने में सक्षम हो सकते हैं उदाहरण के लिए तालिका विभाजन SQL 2008 ईई –
धन्यवाद जेरेमी में उपलब्ध है। अतिरिक्त जानकारी जोड़ा गया। –
स्पष्ट पहला सवाल; क्या आपने लेन-देन से सबकुछ छीन लिया है जो कुंजी प्राप्त करता है? जैसे आपको जो कुछ भी जानने की ज़रूरत है उसे प्राप्त करने से पहले आपको पता है, टेबल पर जाएं और अन्य सामान करने से पहले अनलॉक करें? – Karl