# रेप्लिकेशन और शार्डिंग — सिस्टम डिज़ाइन

Source: https://www.geekswithgeeks.com/hi/system-design/sd-replication-sharding

> रीड के लिए डेटा कॉपी करना; राइट के लिए डेटा बाँटना।

## रेप्लिकेशन

एक ही डेटा की कॉपियाँ कई नोड्स पर रखें। एक **प्राइमरी** राइट लेता है और उन्हें **रेप्लिका** को स्ट्रीम करता है जो रीड देते हैं और फ़ेलओवर के लिए तैयार रहते हैं।

## शार्डिंग (पार्टिशनिंग)

एक डेटासेट को **शार्ड की** (जैसे user_id हैश या रेंज) से नोड्स में बाँटें। हर शार्ड एक हिस्सा रखता है, जिससे राइट और स्टोरेज स्केल आउट होते हैं।

## शार्ड की सावधानी से चुनें

गलत की हॉटस्पॉट बनाती है (जैसे तारीख से शार्डिंग आज की सारी राइट एक नोड पर डालती है)। समान वितरण और एक शार्ड पर पड़ने वाली क्वेरी का लक्ष्य रखें।

**Quiz:** आपका डेटाबेस राइट थ्रूपुट पर अटका है। सबसे अधिक क्या मदद करता है?

- [ ] रीड रेप्लिका जोड़ें
- [x] डेटा को शार्ड करें
- [ ] बड़ा कैश जोड़ें

*Answer:* डेटा को शार्ड करें. रेप्लिका और कैश रीड स्केल करते हैं। शार्डिंग राइट को नोड्स में बाँटती है।
