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

Source: https://www.geekswithgeeks.com/hi/system-design/sd-scaling-reads-partitioning

> रीड लोड के लिए रीड रेप्लिका; राइट लोड के लिए पार्टिशनिंग रणनीतियाँ।

## रीड रेप्लिका

एकल प्राइमरी से **रीड रेप्लिका** जोड़ना सस्ते में रीड थ्रूपुट स्केल करता है — पर रेप्लिकेशन लैग का मतलब है कि रेप्लिका रीड मिलीसेकंड से सेकंड तक बासी हो सकता है। 'अपना ही राइट पढ़ने' वाली रिक्वेस्ट को प्राइमरी पर भेजें।

## पार्टिशनिंग रणनीतियाँ

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

## शाखा पुस्तकालय बनाम एक गोदाम

रीड रेप्लिका शाखा पुस्तकालय हैं जो एक ही किताबों की कॉपियाँ रखते हैं — सुविधाजनक, पर अभी छपी किताब हर शाखा तक न पहुँची हो सकती है। पार्टिशनिंग एक विशाल गोदाम को क्षेत्रीय गोदामों में बाँटना है, हर एक अपने इन्वेंटरी के हिस्से के लिए पूरी तरह ज़िम्मेदार।

**Quiz:** जो डेटा आपने अभी लिखा है उसे तुरंत बाद पढ़ने पर, कहाँ से पढ़ने पर वह गायब दिखने का सबसे अधिक जोखिम है:

- [ ] प्राइमरी
- [x] एक रीड रेप्लिका
- [ ] एक स्थानीय कैश जो आपने अभी लिखा

*Answer:* एक रीड रेप्लिका. रेप्लिकेशन लैग का मतलब है कि रेप्लिका के पास अभी वह राइट न पहुँचा हो जो प्राइमरी पर अभी कमिट हुआ।
