के लिए नोएसक्ल विकल्प मैं सोच रहा था कि एक सामान्य एमएमओआरपीजी के लिए या किसी rdbms के संयोजन के साथ एक nosql विकल्प के किस प्रकार के लाभ हो सकते हैं। विशेष रूप से, मैं उत्सुक हूं कि कैसे डेटा अखंडता को nosql के अंतर्गत संरक्षित किया जाता है।एमएमओआरपीजी
परिदृश्य 1:: चलो एक ही समय में कहते हैं कि खिलाड़ी ए और बी हमले खिलाड़ी सी चलो
मैं कुछ उदाहरण हैं, जहां मैं कैसे सर्वर तर्क काम करेगा के रूप में एक तरह से उलझन में हूँ दे देंगे।
लेन-देन { attacker.health = newAttackerHealth
defender.health = newDefenderHealth
शुरू: एक player_stats.kill_count जो भी खिलाड़ी को मारता खिलाड़ी सी आम तौर पर के लिए अद्यतन किया जाता है, एक निम्नलिखित तरीके से इस AttackPlayerRequest संभाल सकता हैअगर defender.Health == 0 { attacker.stats.kills + = 1 } }
परिदृश्य 2: खिलाड़ी एक से एक एनपीसी विक्रेता को एक आइटम एलएलएस, और जल्दी ही एक ही आइटम को अपनी सूची से जमीन पर छोड़ने का प्रयास करता है। (भले ही आप यूआई को अस्वीकार कर रहे हों, फिर भी वे निश्चित रूप से तारों को तारों पर रख सकते हैं)।
यह सूची स्पष्ट रूप से प्रत्येक प्लेयर-प्लेयर प्लेयर-वर्ल्ड इंटरैक्शन के बारे में बताती है और प्रभाव डालती है। सूचना का एक आखिरी टुकड़ा यह है कि सर्वर थ्रेड किया गया है क्योंकि हम अन्य खिलाड़ियों को खेल में सरल चीजों को करने में सक्षम होने से रोकने के लिए विशेष रूप से लंबा अनुरोध नहीं चाहते हैं।
मुझे लगता है कि मेरा बड़ा सवाल यहां है, क्या मैं नोस्क्ल के बारे में कुछ गलत समझ रहा हूं जिसमें यह एक छोटी सी समस्या है? यदि नहीं, तो क्या यह हल करने के लिए nosql विकल्पों का डोमेन है? एक सामान्य एमएमओ के तहत, सर्वर प्रदर्शन को बढ़ाने के लिए nosql विकल्पों को इंजेक्ट कर सकता है?
आपको बेहतर उत्तर मिल सकता है: http://gamedev.stackexchange.com/ क्योंकि आपका प्रश्न गेम विकास से संबंधित है। – HoLyVieR
अधिकांश नोएसक्यूएल सिस्टम लेनदेन का समर्थन नहीं करते हैं। क्या आपको उनकी ज़रूरत है? – TTT
मुझे नहीं लगता कि नोएसक्यूएल सिस्टम हैं जिनमें डेटा अखंडता के लिए सुविधाएं हैं। यह कुछ ऐसा है जो आवेदन में किया जाना चाहिए। नोएसक्यूएल समूह कितना अद्भुत है एक बहुत ही विविध समूह है, इसलिए शायद इस सामान्य नियम का अपवाद हो। – TTT