paint-brush
रीयल-टाइम फ़ीचर स्टोर के रूप में अपाचे कैसेंड्रा का उपयोग करने के लिए एक गाइडद्वारा@datastax
2,086 रीडिंग
2,086 रीडिंग

रीयल-टाइम फ़ीचर स्टोर के रूप में अपाचे कैसेंड्रा का उपयोग करने के लिए एक गाइड

द्वारा DataStax13m2023/03/29
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

यह मार्गदर्शिका रीयल-टाइम एआई और कैसंड्रा के अद्वितीय प्रदर्शन और लागत विशेषताओं की पड़ताल करती है जो इसे फीचर स्टोर के लिए एक उत्कृष्ट डेटाबेस बनाती है।
featured image - रीयल-टाइम फ़ीचर स्टोर के रूप में अपाचे कैसेंड्रा का उपयोग करने के लिए एक गाइड
DataStax HackerNoon profile picture

यह अपाचे कैसेंड्रा को रीयल-टाइम फीचर स्टोर के रूप में उपयोग करने के लिए एक व्यावहारिक मार्गदर्शिका है। हम वास्तविक समय एआई और कैसेंड्रा के अद्वितीय प्रदर्शन और लागत विशेषताओं का पता लगाते हैं जो इसे एक फीचर स्टोर के लिए एक उत्कृष्ट डेटाबेस बनाते हैं और फिर फीचर स्टोर की मूल बातें और वास्तविक समय के अनुप्रयोगों में उनकी भूमिका में गोता लगाते हैं। कैसेंड्रा का उपयोग बड़ी कंपनियों द्वारा फीचर स्टोर के रूप में किया जाता है, जिनमें शामिल हैं उबेर और नेटफ्लिक्स; वास्तविक दुनिया की परिस्थितियों में, यह tp99 <23ms के साथ वास्तविक समय के अनुमान के लिए सुविधाएँ प्रदान कर सकता है।


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


यह मार्गदर्शिका चर्चा नहीं करती हैरीयल-टाइम मशीन लर्निंग के डेटा विज्ञान पहलू या सुविधाओं के जीवनचक्र प्रबंधन पहलू में एक फीचर स्टोर . जिन सर्वोत्तम प्रथाओं को हम कवर करेंगे, वे Google, Facebook, जैसी बड़ी प्रौद्योगिकी फर्मों के चिकित्सकों के साथ तकनीकी बातचीत पर आधारित हैं। उबेर , Airbnb , और NetFlix कैसे वे अपने क्लाउड-नेटिव इन्फ्रास्ट्रक्चर पर अपने ग्राहकों को रीयल-टाइम एआई अनुभव प्रदान करते हैं। हालांकि हम विशेष रूप से कैसेंड्रा के साथ रीयल-टाइम फीचर स्टोरेज को कार्यान्वित करने पर ध्यान केंद्रित करेंगे, आर्किटेक्चर दिशानिर्देश वास्तव में रेडिस, मोंगोडीबी और पोस्टग्रेस सहित किसी भी डेटाबेस तकनीक पर लागू होते हैं।

रीयल-टाइम एआई क्या है?

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


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

फीचर स्टोर क्या है?

फीचर स्टोर का जीवनचक्र, फीस्ट ब्लॉग के सौजन्य से


फीचर स्टोर मशीन लर्निंग (एमएल) के लिए विशिष्ट डेटा सिस्टम है जो:

  • कच्चे डेटा को फीचर वैल्यू में बदलने वाली डेटा पाइपलाइन चलाता है
  • फीचर डेटा को स्वयं स्टोर और प्रबंधित करता है, और
  • प्रशिक्षण और अनुमान के उद्देश्यों के लिए फीचर डेटा को लगातार प्रस्तुत करता है


फीचर स्टोर के मुख्य घटक, फीस्ट ब्लॉग के सौजन्य से


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

सर्वोत्तम प्रथाएं


**फीचर सर्विंग के लिए लो-लेटेंसी क्वैरी लागू करें


वास्तविक समय के अनुमान के लिए, सुविधाओं को पैमाने पर कम विलंबता वाले अनुप्रयोगों में लौटाने की आवश्यकता होती है। विशिष्ट मॉडल में ~ 10 संस्थाओं में फैली ~ 200 सुविधाएँ शामिल हैं। वास्तविक समय के अनुमानों को सुविधाओं को इकट्ठा करने, हल्के डेटा परिवर्तनों और अनुमान लगाने के लिए बजट बनाने के लिए समय की आवश्यकता होती है। निम्नलिखित सर्वेक्षण के अनुसार (चिकित्सकों के साथ हमारी बातचीत द्वारा भी पुष्टि की गई है), फीचर स्टोर को 50ms के तहत अनुमान लगाने वाले एप्लिकेशन में सुविधाओं को वापस करने की आवश्यकता है।


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



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


यहां प्रदर्शन मेट्रिक्स का सारांश दिया गया है जिसका उपयोग रीयल-टाइम एमएल पाइपलाइनों के लिए आवश्यकताओं का अनुमान लगाने के लिए किया जा सकता है:


परीक्षण शर्तें:

  • विशेषताएं = 200

  • तालिकाओं की संख्या (निकाय) = 3

  • आंतरिक जुड़ने की संख्या = 2

  • क्वेरी टीपीएस: 5000 प्रश्न / सेकंड

  • टीपीएस लिखें: 500 रिकॉर्ड/सेकंड

  • क्लस्टर आकार: एस्ट्राडीबी पर 3 नोड्स*


विलंबता प्रदर्शन सारांश (यहां अनिश्चितताएं मानक विचलन हैं):

  • टीपी95 = 13.2(+/-0.6) एमएस

  • टीपी 99 = 23.0 (+/- 3.5) एमएस

  • टीपी 99.9 = 63 (+/- 5) एमएस


संघनन का प्रभाव:

  • tp95 = नगण्य
  • tp99, tp999 = नगण्य, ऊपर उद्धृत सिग्मा द्वारा कब्जा कर लिया गया


चेंज डेटा कैप्चर (सीडीसी) का प्रभाव:

  • टीपी 50, टीपी 95 ~ 3-5 एमएस

  • टीपी 99 ~ 3 एमएस

  • tp999 ~ नगण्य


*डेटास्टैक्स के एस्ट्रा डीबी के फ्री टियर पर निम्नलिखित परीक्षण किए गए, जो कैसेंड्रा के लिए एक सर्वर रहित वातावरण है। निम्नलिखित अनुशंसित सेटिंग्स का उपयोग करते हुए तीन नोटों पर तैनात किए जाने पर उपयोगकर्ताओं को समान विलंबता प्रदर्शन की अपेक्षा करनी चाहिए।


विलंबता पर सबसे महत्वपूर्ण प्रभाव आंतरिक जुड़ने की संख्या है। यदि तीन के बजाय केवल एक तालिका की क्वेरी की जाती है, तो tp99 58% गिर जाता है; दो तालिकाओं के लिए, यह 29% कम है। tp95 क्रमशः 56% और 21% तक गिर जाता है। क्योंकि कैसंड्रा क्षैतिज रूप से स्केलेबल है, अधिक सुविधाओं के लिए क्वेरी करने से औसत विलंबता में उल्लेखनीय वृद्धि नहीं होती है।


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


फीचर ट्रांसफॉर्मेशन के लिए फॉल्ट टॉलरेंट और लो लेटेंसी राइट्स लागू करें

रीयल-टाइम एआई का एक प्रमुख घटक एक मॉडल अनुमान लगाने के लिए सबसे हालिया डेटा का उपयोग करने की क्षमता है, इसलिए यह महत्वपूर्ण है कि नया डेटा जल्द से जल्द अनुमान के लिए उपलब्ध हो। उसी समय, उद्यम उपयोग के मामलों के लिए, यह महत्वपूर्ण है कि लेखन टिकाऊ हो क्योंकि डेटा हानि महत्वपूर्ण उत्पादन चुनौतियों का कारण बन सकती है।

सुझाव के लिए कम-विलंबता सुविधा परिवर्तन को सक्षम करने के लिए सुझाई गई परिनियोजन वास्तुकला


*ऑब्जेक्ट स्टोर (जैसे S3 या HIVE) को अन्य प्रकार के बैच-ओरिएंटेड सिस्टम, जैसे डेटा वेयरहाउस से बदला जा सकता है।


लो-लेटेंसी ड्यूरेबल राइट्स और लो-लेटेंसी फीचर सर्विंग के बीच एक ट्रेड-ऑफ है। उदाहरण के लिए, डेटा को केवल एक गैर-टिकाऊ स्थान (जैसे, रेडिस) में संग्रहीत करना संभव है, लेकिन उत्पादन विफलताओं से सबसे अद्यतित सुविधाओं को पुनर्प्राप्त करना मुश्किल हो सकता है क्योंकि इसके लिए अपरिष्कृत घटनाओं से बड़ी पुनर्गणना की आवश्यकता होगी। .


एक सामान्य आर्किटेक्चर एक ऑफ़लाइन स्टोर (जैसे, हाइव / S3) में सुविधाओं को लिखने और एक ऑनलाइन स्टोर (जैसे, इन-मेमोरी कैश) में सुविधाओं की प्रतिकृति का सुझाव देता है। भले ही यह फीचर सर्विंग के लिए स्थायित्व और कम विलंबता प्रदान करता है, यह फीचर राइट्स के लिए लेटेंसी शुरू करने की कीमत पर आता है, जो हमेशा खराब भविष्यवाणी प्रदर्शन का कारण बनता है।


रीयल-टाइम एआई के लिए डाटाब्रिक संदर्भ वास्तुकला


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


कम विलंबता लागू करें और भविष्यवाणी कैशिंग और प्रदर्शन निगरानी के लिए लिखें

सुविधा परिवर्तन को संग्रहीत करने के अलावा, प्रदर्शन की निगरानी के लिए भविष्यवाणियों और अन्य ट्रैकिंग डेटा को संग्रहीत करने की भी आवश्यकता है।


भविष्यवाणियों को संग्रहीत करने के लिए कई उपयोग मामले हैं:

  1. भविष्यवाणी स्टोर - इस परिदृश्य में, एक डेटाबेस बैच सिस्टम या स्ट्रीमिंग सिस्टम द्वारा किए गए भविष्यवाणियों को कैश करने के लिए उपयोग किया जाता है। स्ट्रीमिंग आर्किटेक्चर विशेष रूप से उपयोगी होता है जब अनुमान लगाने में लगने वाला समय अनुरोध-प्रतिक्रिया प्रणाली में स्वीकार्य से परे होता है।
  2. भविष्यवाणी प्रदर्शन की निगरानी वास्तविक समय के अनुमान के पूर्वानुमान आउटपुट की निगरानी करना और अंतिम परिणामों की तुलना करना अक्सर आवश्यक होता है। इसका मतलब भविष्यवाणी के परिणामों और अंतिम परिणाम को लॉग करने के लिए एक डेटाबेस होना है।


कैसंड्रा अपनी उच्च-लेखन थ्रूपुट क्षमताओं के कारण दोनों उपयोग के मामलों के लिए एक उपयुक्त स्टोर है।


लोचदार पढ़ने और लिखने के कार्यभार की योजना बनाएं

क्वेरी का स्तर और प्रति सेकंड लेनदेन लिखना आमतौर पर सिस्टम का उपयोग करने वाले उपयोगकर्ताओं की संख्या पर निर्भर करता है। नतीजतन, कार्यभार दिन के समय या वर्ष के समय के आधार पर बदल सकता है। बढ़े हुए कार्यभार का समर्थन करने के लिए क्लस्टर को जल्दी से ऊपर और नीचे करने की क्षमता होना महत्वपूर्ण है। कैसेंड्रा और एस्ट्रा डीबी में ऐसी विशेषताएं हैं जो गतिशील क्लस्टर स्केलिंग को सक्षम करती हैं।


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


कम-विलंबता, बहु-क्षेत्र समर्थन लागू करें

जैसा कि रीयल-टाइम AI सभी ऐप्स में सर्वव्यापी हो जाता है, यह सुनिश्चित करना महत्वपूर्ण है कि जहां अनुमान लगाया जाता है, वहां फीचर डेटा जितना संभव हो उतना करीब उपलब्ध हो। इसका मतलब यह है कि फीचर स्टोर उसी क्षेत्र में है जहां एप्लिकेशन अनुमान लगा रहा है। क्षेत्रों में फीचर स्टोर में डेटा की प्रतिकृति बनाने से उस सुविधा को सुनिश्चित करने में मदद मिलती है। इसके अलावा, सुविधाओं को उत्पन्न करने के लिए उपयोग किए जाने वाले कच्चे डेटा के बजाय सिर्फ सुविधाओं की नकल करने से क्लाउड इग्रेस फीस में काफी कमी आती है।


एस्ट्रा डीबी बॉक्स के बाहर बहु-क्षेत्र प्रतिकृति का समर्थन करता है, मिलीसेकंड में प्रतिकृति विलंबता के साथ। हमारा सुझाव है कि सभी अपरिष्कृत ईवेंट डेटा को एक ही क्षेत्र में स्ट्रीम किया जाए, फ़ीचर जेनरेशन किया जाए, और अन्य सभी क्षेत्रों में फ़ीचर्स को स्टोर और कॉपी किया जाए।


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


लागत प्रभावी और कम विलंबता बहु-क्लाउड समर्थन के लिए योजना

मल्टी-क्लाउड सपोर्ट एप्लिकेशन के लचीलेपन को बढ़ाता है और ग्राहकों को कम कीमतों पर बातचीत करने की अनुमति देता है। डायनेमोडीबी जैसे सिंगल-क्लाउड ऑनलाइन स्टोर, सुविधाओं को पुनः प्राप्त करने के लिए बढ़ी हुई विलंबता और महत्वपूर्ण डेटा इग्रेस लागत दोनों में परिणाम देते हैं, लेकिन एकल क्लाउड विक्रेता के लिए लॉक-इन भी बनाते हैं।


ओपन-सोर्स डेटाबेस जो बादलों में प्रतिकृति का समर्थन करते हैं, प्रदर्शन लागत का सर्वोत्तम संतुलन प्रदान करते हैं। बाहर निकलने की लागत को कम करने के लिए, घटनाओं और फीचर जनरेशन को एक क्लाउड में समेकित किया जाना चाहिए, और फीचर डेटा को दूसरे क्लाउड में ओपन-सोर्स डेटाबेस में दोहराया जाना चाहिए। यह निकास लागत को कम करता है।


उत्पादन मॉडल के बैच और रीयल-टाइम प्रशिक्षण दोनों के लिए योजना बनाएं

सुझाव के लिए कम-विलंबता सुविधा परिवर्तन को सक्षम करने के लिए सुझाई गई परिनियोजन वास्तुकला


मॉडल बनाने के लिए बैच प्रोसेसिंग इंफ्रास्ट्रक्चर का उपयोग दो उपयोग मामलों के लिए किया जाता है: नए मॉडल का निर्माण और परीक्षण, और उत्पादन के लिए मॉडल बनाना। इसलिए प्रशिक्षण के उद्देश्य के लिए फीचर डेटा को धीमे ऑब्जेक्ट स्टोर्स में संग्रहीत करने के लिए आमतौर पर पर्याप्त था। हालांकि, नए मॉडल प्रशिक्षण प्रतिमानों में मॉडल को रीयल-टाइम या लगभग रीयल-टाइम (रीयल-टाइम प्रशिक्षण) में अपडेट करना शामिल है; इसे "ऑनलाइन लर्निंग" (उदाहरण के लिए टिकटॉक का मोनोलिथ ) के रूप में जाना जाता है। रीयल-टाइम प्रशिक्षण के लिए एक्सेस पैटर्न अनुमान और पारंपरिक बैच प्रशिक्षण के बीच कहीं बैठता है। थ्रूपुट डेटा आवश्यकताएं अनुमान से अधिक हैं (क्योंकि यह आमतौर पर एकल-पंक्ति लुकअप तक नहीं पहुंच रही है), लेकिन बैच प्रोसेसिंग जितनी अधिक नहीं है जिसमें पूर्ण तालिका स्कैन शामिल होगा।


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


"ऑनलाइन लर्निंग" की अधिक विस्तृत व्याख्या के लिए, चिप ह्यूएन कीकॉन्टिनुअल लर्निंग पर व्याख्या, या गोम्स एट से यह तकनीकी पेपर देखें। अल


कप्पा वास्तुकला के लिए समर्थन

कप्पा आर्किटेक्चर धीरे-धीरे लैम्ब्डा आर्किटेक्चर की जगह ले रहा है क्योंकि ऑनलाइन/ऑफलाइन विषमता के कारण लागत और डेटा गुणवत्ता के मुद्दे हैं। हालांकि बहुत सारे लेख अलग-अलग बैच और रीयल-टाइम गणना परतों से एक रीयल-टाइम परत पर जाने के फायदों पर चर्चा करते हैं, लेख अक्सर यह नहीं बताते कि सर्विंग परत को कैसे तैयार किया जाए।

सुविधाओं को उत्पन्न करने के लिए कप्पा वास्तुकला का उपयोग करने से कुछ नए विचार सामने आते हैं:

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


कैसंड्रा निम्नलिखित तरीकों से कप्पा वास्तुकला का समर्थन करता है:

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


लैम्ब्डा वास्तुकला के लिए समर्थन

अधिकांश कंपनियों के पास लैम्ब्डा आर्किटेक्चर होता है, जिसमें बैच लेयर पाइपलाइन होती है जो रीयल-टाइम पाइपलाइन से अलग होती है। इस परिदृश्य में सुविधाओं की कई श्रेणियां हैं:

  1. विशेषताएँ जो केवल वास्तविक समय में गणना की जाती हैं, और प्रशिक्षण के लिए बैच सुविधा स्टोर में दोहराई जाती हैं
  2. विशेषताएं जो केवल बैच में गणना की जाती हैं, और रीयल-टाइम फीचर स्टोर में दोहराई जाती हैं
  3. सुविधाओं की गणना पहले वास्तविक समय में की जाती है, फिर बैच में पुनः गणना की जाती है। विसंगतियों को वास्तविक समय और ऑब्जेक्ट स्टोर दोनों में अपडेट किया जाता है।


इस परिदृश्य में, हालांकि, डेटास्टैक्स इस उदाहरण में वर्णित आर्किटेक्चर की सिफारिश करता है:

कारण निम्नलिखित हैं:

  1. कैसंड्रा को रीड लेटेंसी पर कम प्रभाव के साथ डेटा के बैच अपलोड लेने के लिए डिज़ाइन किया गया है
  2. रिकॉर्ड की एकल प्रणाली होने से, डेटा प्रबंधन फीचर स्टोर और ऑब्जेक्ट स्टोर के बीच डेटा को विभाजित करने की तुलना में काफी आसान हो जाता है। यह विशेष रूप से उन सुविधाओं के लिए महत्वपूर्ण है जिनकी पहले वास्तविक समय में गणना की जाती है, फिर बैच में पुनर्गणना की जाती है।
  3. कैसेंड्रा से सीडीसी के माध्यम से ऑब्जेक्ट फीचर स्टोर में डेटा निर्यात करते समय, डेटा निर्यात को बैच प्रशिक्षण ( फेसबुक जैसी कंपनियों में इस्तेमाल किया जाने वाला एक सामान्य पैटर्न ) के लिए अनुकूलित किया जा सकता है, जो प्रशिक्षण बुनियादी ढांचे की लागत में काफी कटौती करता है।


यदि मौजूदा पाइपलाइनों को अपडेट करना संभव नहीं है, या ऐसे विशिष्ट कारण हैं कि सुविधाओं को पहले ऑब्जेक्ट स्टोर में होना चाहिए, तो हमारी सिफारिश है कि कैसंड्रा फीचर स्टोर और ऑब्जेक्ट स्टोर के बीच दो-तरफा सीडीसी पथ के साथ जाना चाहिए, जैसा कि नीचे सचित्र।


मौजूदा एमएल सॉफ्टवेयर पारिस्थितिकी तंत्र के साथ संगतता सुनिश्चित करें

कैसेंड्रा को एक फीचर स्टोर के रूप में उपयोग करने के लिए, इसे पारिस्थितिकी तंत्र के दो भागों के साथ एकीकृत किया जाना चाहिए: मशीन लर्निंग लाइब्रेरी जो इंट्रेंस और ट्रेनिंग करती हैं, और डेटा प्रोसेसिंग लाइब्रेरी जो फीचर ट्रांसफॉर्मेशन करती हैं।


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


ओपन सोर्स फीचर स्टोर जैसे FEAST में कैसेंड्रा के लिए एक कनेक्टर और ट्यूटोरियल भी है।


लागत निर्धारित करने के लिए क्वेरी पैटर्न और थ्रूपुट को समझें

वास्तविक समय के अनुमान के विभिन्न मॉडल, Swirl.ai के सौजन्य से


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


प्रदर्शन किए जा रहे अनुमानों की संख्या की गणना करना, अनुमान यातायात पैटर्न पर निर्भर करेगा। उदाहरण के लिए, "स्ट्रीमिंग अनुमान" के मामले में, जब भी कोई प्रासंगिक विशेषता बदलती है, तो एक अनुमान लगाया जाएगा, इसलिए अनुमानों की कुल संख्या इस बात पर निर्भर करती है कि सुविधा डेटा कितनी बार बदलता है। जब "अनुरोध-उत्तर" सेटिंग में अनुमान लगाया जाता है, तो यह केवल तभी किया जा रहा है जब कोई उपयोगकर्ता अनुरोध करता है।


लागत निर्धारित करने के लिए बैच और रीयल-टाइम लेखन पैटर्न को समझें

राइट थ्रूपुट मुख्य रूप से इस बात पर हावी है कि कितनी बार सुविधाएँ बदलती हैं। यदि अपसामान्यीकरण होता है, तो यह भी लिखी गई सुविधाओं की संख्या को प्रभावित कर सकता है। अन्य लेखन थ्रूपुट विचारों में बैच या स्ट्रीमिंग अनुमान परिदृश्यों के लिए कैशिंग संदर्भ शामिल हैं।

निष्कर्ष

रीयल-टाइम एमएल पाइपलाइन को डिजाइन करते समय, फीचर स्टोर के प्रदर्शन और मापनीयता पर विशेष ध्यान देने की आवश्यकता होती है। आवश्यकताएँ विशेष रूप से कैसेंड्रा जैसे NoSQL डेटाबेस द्वारा अच्छी तरह से संतुष्ट हैं। Cassandra या AstraDB के साथ अपना स्वयं का फीचर स्टोर खड़ा करें और Cassandra कनेक्टर के साथ Feast.dev को आज़माएं।