💻

वितरित डेटाबेस सिम्युलेटर

नोड प्रतिकृति, CAP प्रमेय ट्रेडऑफ़ और संगतता प्रसार को विज़ुअलाइज़ करें

💻 अभी आज़माएं

वितरित डेटाबेस क्या है?

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

यह क्यों मायने रखता है? Google से Netflix तक हर प्रमुख इंटरनेट सेवा वितरित डेटाबेस पर निर्भर करती है। संगतता और उपलब्धता के बीच ट्रेडऑफ़ को समझना अरबों उपयोगकर्ताओं की सेवा करने वाले विश्वसनीय, स्केलेबल सिस्टम बनाने के लिए आवश्यक है।

📖 गहराई से जानें

उपमा 1

5 शहरों में शाखाओं वाली एक पुस्तकालय प्रणाली की कल्पना करें, सभी एक ही कैटलॉग साझा कर रहे हों। जब कोई शाखा ए में किताब की जांच करता है, तो अन्य सभी शाखाओं को अपने रिकॉर्ड अपडेट करने की आवश्यकता होती है। यदि शाखा सी की फ़ोन लाइन बंद हो जाती है (एक नेटवर्क विभाजन), तो शाखा सी अभी भी पुस्तक को उपलब्ध के रूप में दिखा सकती है - यह एक निरंतरता की समस्या है। जब तक शाखा सी फिर से जुड़ नहीं जाती (स्थिरता का चयन करते हुए), आप सभी ऋणों को लॉक कर सकते हैं, या प्रत्येक शाखा को स्वतंत्र रूप से ऋण देना जारी रख सकते हैं और बाद में समाधान कर सकते हैं (उपलब्धता का चयन करते हुए)।

उपमा 2

विभिन्न देशों में दोस्तों के साथ समूह चैट के बारे में सोचें। जब आप कोई संदेश भेजते हैं, तो सभी को उसे उसी क्रम में देखना चाहिए। लेकिन अगर किसी का इंटरनेट बंद हो जाता है, तो वे संदेश चूक जाते हैं और पुरानी जानकारी का जवाब दे सकते हैं - जिससे परस्पर विरोधी बातचीत सूत्र बन जाते हैं। वितरित डेटाबेस बड़े पैमाने पर इस सटीक समस्या का सामना करते हैं, और जब हर कोई फिर से जुड़ता है तो अराजकता को सुलझाने के लिए वेक्टर घड़ियों और सीआरडीटी जैसी तकनीकों का उपयोग करता है।

🎯 सिम्युलेटर टिप्स

शुरुआती

5 नोड्स और प्रतिकृति कारक 3 से शुरू करें - इसका मतलब है कि डेटा का प्रत्येक टुकड़ा 5 में से 3 नोड्स पर संग्रहीत है

मध्यम

राइट कंसिस्टेंसी ऑल बनाम वन की तुलना करें - ऑल धीमा है लेकिन गारंटी देता है कि प्रत्येक प्रतिकृति में नवीनतम डेटा है

विशेषज्ञ

अनसुलझे विवादों को देखने के लिए विभाजन के दौरान वेक्टर घड़ियों को अक्षम करें और समवर्ती लेखन को ट्रिगर करें

📚 शब्दावली

CAP Theorem
ब्रूअर का प्रमेय बताता है कि एक वितरित प्रणाली अधिकतम तीन में से दो गारंटी प्रदान कर सकती है: संगति, उपलब्धता और विभाजन सहिष्णुता। नेटवर्क विभाजन के दौरान, आपको C और A के बीच चयन करना होगा।
Replication Factor
क्लस्टर में बनाए गए डेटा के प्रत्येक टुकड़े की प्रतियों की संख्या। 3 के प्रतिकृति कारक का मतलब है कि प्रत्येक लेखन 3 अलग-अलग नोड्स पर संग्रहीत है।
Quorum
ऑपरेशन के सफल होने के लिए अधिकांश प्रतिकृतियों को पढ़ने या लिखने की पुष्टि करनी होगी। आरएफ=3 के लिए, कोरम 2 है। कोरम रीड्स को कोरम राइट्स के साथ मिलाकर स्थिरता की गारंटी देता है।
Consistency Level
यह निर्धारित करता है कि पढ़ने या लिखने को सफल माने जाने से पहले कितनी प्रतिकृतियों को प्रतिक्रिया देनी होगी। ONE सबसे तेज़ है लेकिन पुराना डेटा लौटा सकता है; सब धीमा है लेकिन हमेशा सुसंगत है।
Network Partition
नेटवर्क संचार में विफलता जो क्लस्टर को दो या दो से अधिक नोड्स के समूहों में विभाजित करती है जो एक दूसरे के साथ संचार नहीं कर सकते हैं, जिससे स्थिरता और उपलब्धता के बीच चयन करना पड़ता है।
Split-Brain
एक खतरनाक स्थिति जहां नेटवर्क विभाजन के कारण नोड्स के दो समूह स्वतंत्र रूप से परस्पर विरोधी लेखन को स्वीकार करते हैं, खुद को आधिकारिक क्लस्टर मानते हैं।
Vector Clock
एक डेटा संरचना जो वितरित नोड्स में घटनाओं के कारण क्रम को ट्रैक करती है। प्रत्येक नोड एक तार्किक काउंटर बनाए रखता है, और वेक्टर घड़ियों की तुलना करने से पता चलता है कि घटनाएँ कारणात्मक रूप से संबंधित हैं या समवर्ती हैं।
CRDT
संघर्ष-मुक्त प्रतिकृति डेटा प्रकार - एक डेटा संरचना डिज़ाइन की गई है ताकि विभिन्न प्रतिकृतियों पर समवर्ती अपडेट हमेशा समन्वय के बिना एक ही स्थिति में परिवर्तित हो जाएं, कम्यूटेटिविटी जैसे गणितीय गुणों का उपयोग करें।
Last-Write-Wins (LWW)
एक सरल संघर्ष समाधान रणनीति जहां नवीनतम टाइमस्टैम्प के साथ लिखने वाला जीतता है। लागू करना आसान है लेकिन समवर्ती अद्यतनों को चुपचाप त्याग दिया जा सकता है।
Gossip Protocol
एक सहकर्मी से सहकर्मी संचार पैटर्न जहां प्रत्येक नोड समय-समय पर एक यादृच्छिक सहकर्मी के साथ राज्य की जानकारी का आदान-प्रदान करता है, अंततः सभी नोड्स में अपडेट का प्रचार करता है - अफवाहें कैसे फैलती हैं उससे प्रेरित होकर।
Anti-Entropy
एक पृष्ठभूमि मरम्मत प्रक्रिया जहां नोड्स समय-समय पर अपने डेटा की तुलना साथियों के साथ करते हैं और मतभेदों को सिंक्रनाइज़ करते हैं, विफलताओं के बाद भी अंतिम स्थिरता सुनिश्चित करते हैं।
Merkle Tree
एक हैश ट्री डेटा संरचना का उपयोग प्रतिकृति डेटा के बीच अंतर का कुशलतापूर्वक पता लगाने के लिए किया जाता है। नोड्स पहले रूट हैश की तुलना करते हैं, फिर केवल उन विशिष्ट कुंजियों को खोजने और उनकी मरम्मत करने के लिए ड्रिल करते हैं जो भिन्न होती हैं।
Tombstone
एक मार्कर जो दर्शाता है कि डेटा हटा दिया गया है। जब पुराने डेटा के साथ विभाजित नोड क्लस्टर में फिर से जुड़ता है तो हटाए गए डेटा को फिर से प्रकट होने से रोकने के लिए टॉम्बस्टोन को टीटीएल अवधि के लिए बनाए रखा जाना चाहिए।
Eventual Consistency
एक संगति मॉडल यह गारंटी देता है कि यदि कोई नया अपडेट नहीं किया जाता है, तो सभी प्रतिकृतियां अंततः समान मूल्य में परिवर्तित हो जाएंगी। प्रसार विलंब अभिसरण तक का समय है।
Write-Ahead Log (WAL)
एक स्थायित्व तकनीक जहां डेटाबेस पर लागू होने से पहले अनुक्रमिक लॉग में परिवर्तन लिखे जाते हैं, लॉग को दोबारा चलाकर क्रैश रिकवरी को सक्षम किया जाता है।

🏆 प्रमुख व्यक्ति

Eric Brewer (2000)

यूसी बर्कले में सीएपी प्रमेय तैयार किया गया, जिसमें एक साथ स्थिरता, उपलब्धता और विभाजन सहिष्णुता की गारंटी देने की असंभवता को साबित करके वितरित डेटाबेस डिज़ाइन को मूल रूप से आकार दिया गया।

Leslie Lamport (1998)

पैक्सोस सर्वसम्मति एल्गोरिदम बनाया और तार्किक घड़ियों, लैमपोर्ट टाइमस्टैम्प और बीजान्टिन जनरल्स समस्या जैसी अवधारणाओं के साथ वितरित सिस्टम के सिद्धांत का बीड़ा उठाया।

Diego Ongaro (2014)

स्टैनफोर्ड में राफ्ट सर्वसम्मति एल्गोरिथ्म को डिज़ाइन किया गया, जिससे वितरित सर्वसम्मति को वास्तविक दुनिया प्रणालियों जैसे कि आदि और कॉकरोचडीबी के लिए समझने योग्य और व्यावहारिक बनाया गया।

Werner Vogels (2007)

अमेज़ॅन के डायनमो के डिजाइन का नेतृत्व किया, जिसने लगातार हैशिंग, वेक्टर घड़ियां और मैला कोरम पेश किया - कैसंड्रा, रीक और संपूर्ण NoSQL आंदोलन को प्रेरित किया।

Jeff Dean & Wilson Hsieh (2012)

सह-डिज़ाइन किया गया Google स्पैनर, ट्रूटाइम एपीआई और जीपीएस/परमाणु घड़ी सिंक्रनाइज़ेशन का उपयोग करके बाहरी रूप से सुसंगत लेनदेन वाला पहला विश्व स्तर पर वितरित डेटाबेस

Marc Shapiro (2011)

आईएनआरआईए में अग्रणी संघर्ष-मुक्त प्रतिकृति डेटा प्रकार (सीआरडीटी), समन्वय-मुक्त अंतिम स्थिरता के लिए गणितीय आधार प्रदान करता है

🎓 शिक्षण संसाधन

💬 शिक्षार्थियों के लिए संदेश

वितरित डेटाबेस आधुनिक इंटरनेट की रीढ़ हैं। हर बार जब आप सोशल मीडिया पर पोस्ट करते हैं, वीडियो स्ट्रीम करते हैं, या ऑनलाइन खरीदारी करते हैं, तो दर्जनों वितरित डेटाबेस नोड्स पर्दे के पीछे समन्वय कर रहे होते हैं। सीएपी प्रमेय हमें सिखाता है कि ऐसी दुनिया में पूर्णता असंभव है जहां नेटवर्क विफल हो जाते हैं - और इंजीनियरिंग बुद्धिमान ट्रेडऑफ़ बनाने के बारे में है। आप यहां जिन अवधारणाओं का पता लगा रहे हैं - प्रतिकृति, सर्वसम्मति, संघर्ष समाधान - वही चुनौतियां हैं जिन्हें Google, अमेज़ॅन और नेटफ्लिक्स के इंजीनियर हर दिन हल करते हैं। इन बुनियादी सिद्धांतों को समझने से आपको इस बात की गहरी सराहना मिलेगी कि डिजिटल दुनिया वास्तव में कैसे काम करती है, और शायद आपको अगली पीढ़ी के लचीले डेटा सिस्टम बनाने के लिए प्रेरित करेगी।

शुरू करें

मुफ़्त, साइनअप नहीं

शुरू करें →