9 पॉइंट द्वारा yunyun0505 2023-07-14 | 2 टिप्पणियां | WhatsApp पर शेयर करें

यह एक ऐसा उदाहरण है जिसमें परिस्थिति के अनुरूप, ज़रूरत से ज़्यादा नहीं बल्कि संतुलित engineering के जरिए search service में सुधार किया गया।

समस्या की पहचान

  • धीमी होती search service
  • Join और search के लिए regex के उपयोग से पैदा हुई complexity की समस्या की पहचान

समस्या समाधान की रणनीति

  • शुरुआत में Elasticsearch पर विचार किया गया था
  • Main DB के साथ real-time sync और बड़ी मात्रा में स्थायी रूप से संरक्षित data को संभालना था, इसलिए cost issue मौजूद था
  • एक सरल search-विशेष table बनाकर search query तैयार की गई
  • data loading के लिए MySQL Trigger लागू किया गया

परिणाम

  • 3 मिनट लगने वाली query को 2 सेकंड तक सुधारा गया
  • ज़रूरत से ज़्यादा engineering किए बिना कम समय में customer value पहुँचाई गई

2 टिप्पणियां

 
neidn 2023-07-20

ज़्यादा ट्रैफ़िक वाले बड़े पैमाने की साइट बनाते समय एक ही डेटा के लिए कई टेबल बनाकर उनके उपयोग अलग-अलग करने का तरीका अपनाया गया है।
इसे ग्राहक और एडमिन के लिए दो हिस्सों में भी बाँटा जाता है, लेकिन यहाँ सर्च के लिए अलग उपयोग तय करके इसे अच्छी तरह लागू किया गया है।

 
cosine20 2023-07-19

मुझे DB क्षेत्र की ज़्यादा जानकारी नहीं है, इसलिए ऐसे जानकारीपूर्ण लेख पढ़ना हैरान करने वाला और मज़ेदार लगता है।