यदि आप एक वितरित प्रणाली ("अंतिम संगतता" चीज) चाहते हैं तो आपको लोगों की आवश्यकता है, निर्माण, रखरखाव और इसे संचालित करने की आवश्यकता है।
मैंने पाया लोगों की तीन वर्गों जो "अंततः संगति" के साथ बहुत कम समस्या नहीं देखते हैं कि:
वितरण प्रणाली में एक ठोस पृष्ठभूमि के साथ
- लोग। उन्होंने अंतिम संगति Byzantine Failures और उस तरह की चीजों के बारे में सीखा है। यदि आप समझते हैं कि Paxos छुट्टियों के बारे में नहीं है, तो आप शायद उनमें से एक हैं।
- लोग नेटवर्क प्रोग्रामिंग में अनुभव करते हैं। वे सैद्धांतिक पृष्ठभूमि को याद कर सकते हैं लेकिन असीमितता की अंतर्ज्ञानी समझ है और "कोई वैश्विक घड़ियों & काउंटर" प्रतिमान नहीं है। यदि आपके पास Richard Stevens द्वारा कम से कम 8 पुस्तकें हैं तो आप शायद उनमें से एक हैं।
- बहुत अनुभवी कोडर जिनके पास आरडीबीएमएस के साथ थोड़ा जोखिम था। कर्नेल लोग, वैज्ञानिक कंप्यूटिंग और गेमिंग उद्योग के लोग दिमाग में आते हैं।
इन सभी लोगों में नौकरी बाजार में बहुत मांग की जाती है। उदाहरण के लिए वितरित सिस्टम में शिक्षाविदों का 75% या उससे अधिक संस्थान उन संस्थानों के लिए जाते हैं जो बड़े, स्वयं-डिज़ाइन किए गए वितरित सिस्टम चलाते हैं, उदा। स्टॉक एक्सचेंज
हार्डूप, सरल डीबी और कॉच डीबी जैसे प्रसाद के साथ पूरी चीज कुछ हद तक आसान हो गई लेकिन वितरित सिस्टम प्रौद्योगिकी पर कुछ बनाने के लिए अभी भी एक बड़ी चुनौती है।
दूसरी तरफ आरडीबीएमएस इंजीनियरिंग का एक बहुत अच्छा पासा है। वे अच्छी तरह से समझते हैं और उन पर विशेषज्ञता नौकरी बाजार उपलब्ध है। बहुत सारे सभ्य उपकरण, शिक्षा के अवसर और बहुत से कुशल विशेषज्ञ बहुत घंटे के लिए किराए पर उपलब्ध हैं। तो सोचें कि आप में से दो बार आरडीबीएमएस दृष्टिकोण के साथ नहीं मिल सकता है - शायद कुछ चालाक धोखाधड़ी के साथ मिलकर। मैं आमतौर पर छात्रों को Lifejournal architecture पर इंगित करता हूं।
वितरित डेटाबेस के लिए बहुत कम अनुभव है। यही कारण है कि अब तक आपको बहुत कम सलाह मिली है।
यदि आप "अंतिम संगति" का उपयोग करने के लिए दृढ़ हैं, तो मुझे लगता है कि अपरिपक्व उपकरणों के अलावा मुख्य चुनौती शामिल सभी की मानसिकता है। क्या आपके एपीआई उपयोगकर्ता (कोडर) और एप्लिकेशन उपयोगकर्ता (आपके कर्मचारी और आपके ग्राहक) असंगतता को स्वीकार करने में सक्षम हैं और सक्षम हैं? क्या आप इसे उपयोगकर्ताओं के कुछ वर्गों से छुपा सकते हैं? हम उस मानसिकता के लिए उपयोग नहीं करते हैं कि कंप्यूटर असंगत हैं। स्टॉक में कुछ है या यह नहीं है। "हो सकता है" उत्तर उपयोगकर्ता की उम्मीद नहीं है।
यह भी ध्यान रखें कि "अंतिम" एल्गोरिदम डिजाइनरों के लिए बहुत लंबा समय हो सकता है। आप कितनी देर तक असंगतता स्वीकार कर सकते हैं?
एक शॉपिंग कार्ट एप्लिकेशन के लिए आप वास्तव में वितरित करना चाहते हैं: ग्राहक ब्राउज़र को डेटा स्टोर के रूप में उपयोग करें। चेकआउट पर आप कार्ट साइड बैच प्रसंस्करण प्रणाली में गाड़ी जमा कर सकते हैं। इसका मतलब यह है कि आपको केवल उच्च उपलब्धता (आसान) पढ़ने की आवश्यकता है और कार्ट सबमिशन लेनदेन की आवश्यकता के बिना एक बहुत संकीर्ण इंटरफ़ेस है। बाद में आदेश की प्रसंस्करण पर कोई (सॉफ्ट) वास्तविक समय की आवश्यकता नहीं है और इस प्रकार यह आसान है।
बीटीडब्ल्यू: पिछली बार मैंने ई-बे आर्किटेक्चर पर जांच की जहां वे आरडीबीएमएस में बड़े थे लेकिन तब से यह बदल सकता है। (संपादित करें: यह बदल गया - टिप्पणियां देखें)
और यह नीचे मतदान किया गया था - क्यों? –