# रेप्लिकेशन और शार्डिंग — System Design: Architecture, Scale और Trade-offs

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

> Replication से reads और sharding से writes scale करें, और hotspots से बचने वाली shard keys चुनें।

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

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

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

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

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

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

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

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

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