आप सोच रहे होंगे: Redis जैसी डेटाबेस कंपनी डेटाबेसलेस (DBLess) आर्किटेक्चर के बारे में क्यों बात कर रही है? और यह क्या है? यह स्वाभाविक है, लेकिन विवरण में जाने से पहले, आइए इस बिल्कुल नई आर्किटेक्चर के पीछे सोचने के नए तरीके को देखें।
ऐसा करने के लिए, मैं एक त्वरित चक्कर लेना चाहता हूं और फर्स्ट प्रिंसिपल्स थिंकिंग नामक किसी चीज़ के बारे में बात करना चाहता हूं। यह आपको खुद सोचने के लिए मजबूर करता है और न केवल परंपरा का पालन करने के लिए, बल्कि हर चीज़ पर सवाल उठाने के लिए।
फर्स्ट प्रिंसिपल्स का सार यह है कि जब तक आप प्रकृति के नियम को नहीं देख रहे हैं, जैसे गुरुत्वाकर्षण के नियम, हर सिस्टम या अवधारणा मानव-निर्मित है और इसमें अक्षमताएं हो सकती हैं। इसमें जोड़ने के लिए, समय बीतने या तकनीकी नवाचार ने अवधारणा को अप्रचलित साबित कर दिया होगा। इसका मतलब है कि आपको नियमित रूप से पारंपरिक सिस्टम या अवधारणाओं पर सवाल उठाना चाहिए और देखना चाहिए कि क्या आप कुछ बेहतर बना सकते हैं।
उन अक्षमताओं को खोजने के लिए, आपको एक व्यवस्थित और वैज्ञानिक दृष्टिकोण अपनाना होगा जो उन्हें छोटे टुकड़ों में तोड़कर मौलिक सत्यों तक पहुंचे। फिर, देखें कि क्या समय बीतने या नई तकनीक के आविष्कार ने इनमें से किसी भी टुकड़े को अप्रचलित बना दिया है। यदि हां, तो ऐसा प्रतीत होता है कि आपके पास एक नया और बेहतर सिस्टम बनाने का मौका है।
मौलिक रूप से, चाहे लोग इसे जानते हों या नहीं, अधिकांश सामाजिक, तकनीकी, और आर्थिक परिवर्तन फर्स्ट प्रिंसिपल्स के साथ सोचने और परंपरा को चुनौती देने वाले लोगों के कारण हुए हैं।
उपरोक्त वीडियो में, एलन मस्क बताते हैं कि कैसे उन्होंने बैटरी के कच्चे माल को देखा और इसकी लागत को $700 से $70 तक कम करने में सक्षम थे।
आइए फर्स्ट प्रिंसिपल्स थिंकिंग का एक और उदाहरण लेते हैं क्योंकि इसे समझाना आसान है: गैसोलीन कार बनाम इलेक्ट्रिक कार।
गैसोलीन कार बनाम इलेक्ट्रिक कार
हम सभी जानते हैं कि आप एक कार चलाने के लिए इलेक्ट्रिक बैटरी का उपयोग कर सकते हैं।
लेकिन जबकि एक गैसोलीन कार में बैटरी होती है, इसका उपयोग कार चलाने के लिए नहीं किया जाता है। यह इंजन शुरू करने, A/C, ऑडियो सिस्टम, लाइट्स, सेंसर, लॉक्स, आदि के लिए बैटरी का उपयोग करता है, लेकिन कार चलाने के लिए नहीं। इसके बजाय, यह कार चलाने के लिए आंतरिक दहन इंजन (ICE) पर निर्भर करता है।
यह पता चलता है, ICE कारें अत्यधिक अक्षम हैं। उत्पन्न शक्ति का केवल 16% से 25% वास्तव में पहियों तक पहुंचता है। दूसरी ओर, इलेक्ट्रिक वाहन पहियों को लगभग 90% शक्ति प्रदान करते हैं! EV के पर्यावरण, मरम्मत लागत, आदि के मामले में भी बड़े फायदे हैं।
यदि आप इसे फर्स्ट प्रिंसिपल्स परिप्रेक्ष्य से देख रहे हैं, तो भले ही आज भी बनी अधिकांश कारें गैसोलीन कारें हैं, मौलिक सच्चाई यह है कि वे एक अक्षम प्रणाली का उपयोग करती हैं।
अब यदि आप एक इलेक्ट्रिक कार को देखते हैं, तो यह इस अक्षमता को दूर करके एक नए प्रकार की कार बनाती है। इस मामले में, यह बस जटिल और अत्यधिक अक्षम इंजन से छुटकारा पाती है और इसे एक बड़ी बैटरी और एक मोटर से बदल देती है जो सीधे पहियों को घुमाती है।
तो आप देख सकते हैं कि फर्स्ट प्रिंसिपल्स थिंकिंग अक्षमताओं की पहचान करने और एक नया, बेहतर सिस्टम बनाने की ओर कैसे ले जाता है।
अब इन विचारों को देखते हुए, यदि आप एक नई कार कंपनी शुरू करना चाहते थे, तो क्या आप गैसोलीन कार या इलेक्ट्रिक कार बनाएंगे?
आइए गियर बदलें और डेटाबेस की दुनिया में ट्रांजिशन करें ताकि हम देख सकें कि क्या हम उसी फर्स्ट प्रिंसिपल्स थिंकिंग को उस क्षेत्र में लागू कर सकते हैं।
पारंपरिक आर्किटेक्चर बनाम DBLess आर्किटेक्चर
आइए पहले पारंपरिक आर्किटेक्चर को देखें।
पारंपरिक आर्किटेक्चर में, आपके पास एक प्राथमिक डेटाबेस (Postgres, MongoDB, आदि) और एक द्वितीयक डेटाबेस या कैश (जैसे Redis या Memcached) होता है। प्राथमिक DB का उपयोग सभी डेटा को संग्रहीत करने और CRUD संचालन का समर्थन करने के लिए किया जाता है। कैशिंग DB का उपयोग कैशिंग, सत्र भंडारण, रेट-लिमिटिंग, IP-व्हाइटलिस्टिंग, Pub/Sub, कतारबद्ध, और कई अन्य चीजों के लिए किया जाता है।
यदि आप इसके बारे में सोचते हैं, तो यहां तक कि जब कैश-हिट होता है, तो हम CRUD संचालन के हिस्से के लिए द्वितीयक DB का भी उपयोग कर रहे हैं। और फिर भी हम इसे पूरी तरह से प्राथमिक डेटाबेस के रूप में उपयोग नहीं कर रहे हैं।
क्या यह आपको गैसोलीन कारों की समस्या की याद दिलाता है? जैसे वे कार को चलाने के अलावा कई चीजों को शक्ति देने के लिए एक बैटरी ले जाते हैं, पारंपरिक आर्किटेक्चर मुख्य DB के अलावा हर चीज के लिए Redis जैसी चीजों का उपयोग करते हैं।
क्या आप समानताएं देखते हैं?
क्या होगा अगर हम फर्स्ट प्रिंसिपल्स थिंकिंग का उपयोग करके वही करते हैं जो इलेक्ट्रिक कार ने किया? EVs ने इंजन से छुटकारा पाने के समान, क्या होगा अगर हम धीमे और अक्षम प्राथमिक डेटाबेस से छुटकारा पाते हैं और केवल कैश DB को मुख्य डेटाबेस के रूप में उपयोग करते हैं?
डेटाबेलेस (DBLess) आर्किटेक्चर को नमस्ते कहें।
डेटाबेलेस (DBLess) आर्किटेक्चर:
इस आर्किटेक्चर में, आप प्राथमिक DB से छुटकारा पा लेते हैं, इसलिए नाम DBLess। इसके बजाय, आप पूर्व में द्वितीयक/कैश DB को नए प्राथमिक डेटाबेस के रूप में उपयोग करते हैं।
आइए कल्पना करें कि हम Redis या अन्य समान कैशिंग डेटाबेस को प्राथमिक डेटाबेस के रूप में उपयोग करना शुरू करते हैं और प्राथमिक DB (जैसे Postgres, Mysql, MongoDB, आदि) को पूरी तरह से हटा देते हैं।
महत्वपूर्ण नोट: यह सिर्फ एक आर्किटेक्चरल चर्चा है। DBLess आर्किटेक्चर एक मालिकाना आर्किटेक्चर नहीं है जो Redis या Redis Enterprise तक सीमित है, और यह किसी भी Redis-जैसे सिस्टम के साथ काम करेगा। साथ ही, याद रखें कि Redis एक OSS प्रोजेक्ट है, इसलिए आप इसे स्वयं बना सकते हैं या किसी अन्य Redis-होस्टेड क्लाउड प्रोवाइडर पर।
क्या कोई इस आर्किटेक्चर का उपयोग कर रहा है?
हां, निश्चित रूप से। जैसा कि आप कल्पना कर सकते हैं, हम रोजाना हजारों ग्राहकों के साथ काम करते हैं। और यद्यपि Redis अभी भी मुख्य रूप से एक द्वितीयक डेटाबेस के रूप में उपयोग किया जाता है, हमने पिछले कुछ वर्षों में इस नई DBLess आर्किटेक्चर को उभरते हुए देखना शुरू कर दिया है। जैसे-जैसे Redis स्वयं अधिक सुविधा संपन्न, शक्तिशाली हुआ, और अधिक लोगों ने सफलता पाई, इसे अधिक गति मिलनी शुरू हुई। कई जो हमारे ग्राहक भी नहीं हैं, जैसे Request Metrics, ने इस आर्किटेक्चर पर अपना पूरा स्टार्टअप बनाया है और इसे अविश्वसनीय रूप से सफल पाते हैं।
अब जब आप जानते हैं कि यह वास्तविक है, तो आइए देखें कि इसे क्या संभव बनाता है।
तकनीकी रूप से बोलते हुए, यह पारंपरिक प्राथमिक DB से कैसे तुलना करता है?
आइए Redis Enterprise को एक उदाहरण के रूप में उपयोग करें और इसकी तुलना पारंपरिक प्राथमिक DBs से करें।
जैसा कि आप देख सकते हैं, संक्षिप्त उत्तर यह है कि यह वास्तव में अच्छा प्रदर्शन करता है और, वास्तव में, कुछ पारंपरिक प्राथमिक DBs से भी बेहतर हो सकता है।
एक अनुस्मारक के रूप में, आप इस आर्किटेक्चर का उपयोग केवल Redis OSS या अन्य Redis प्रतिस्पर्धियों का उपयोग करके कर सकते हैं। आपको बस एक समान तुलना तालिका के साथ आने की आवश्यकता है यह देखने के लिए कि यह कितनी अच्छी तरह काम करता है।
लेकिन, क्या Redis वास्तव में यह कर सकता है? मुझे लगा कि यह सिर्फ एक कैश था?
आप सही हैं। यह लगभग एक दशक पहले एक कैश स्टोर के रूप में शुरू हुआ था और अभी भी उस उद्देश्य के लिए बहुत अच्छा है।
हालांकि, Redis और Redis Enterprise ने वर्षों में वस्तुतः पारंपरिक DBs की सभी विशेषताओं को शामिल करके और एक मॉड्यूल पारिस्थितिकी तंत्र रखकर जो कोर Redis के साथ नेटिव रूप से चलता है, काफी विस्तार किया है।
RedisJSON लें (मार्केट लीडर से 10x तेज)। आप इसका उपयोग कर सकते हैं और अनिवार्य रूप से एक रीयल-टाइम दस्तावेज़-जैसा डेटाबेस प्राप्त कर सकते हैं, या RediSearch मॉड्यूल (4x से 100x तेज) का उपयोग कर सकते हैं और Elastic Search या Algolia की तरह रीयल-टाइम पूर्ण-पाठ खोज लागू कर सकते हैं।
और आप इनमें से किसी भी मॉड्यूल का उपयोग Redis OSS के हिस्से के रूप में कर सकते हैं और इसे स्वयं होस्ट कर सकते हैं।
क्या यह वास्तव में भविष्य है?
हम दृढ़ता से मानते हैं कि यह आर्किटेक्चर भविष्य है उसी अर्थ में जैसे इलेक्ट्रिक कारें भविष्य हैं। और भले ही इलेक्ट्रिक कारें सभी कारों का 1% से भी कम हैं, वे भविष्य हैं। हम सोचते हैं कि यह प्रौद्योगिकी का एक प्राकृतिक विकास है। हमारे कई ग्राहकों की सफलता को देखते हुए, हम सोचते हैं कि जितने अधिक लोग इसके बारे में सीखेंगे, उतने अधिक लोग इसे आज़माएंगे और अपनाएंगे।
नाम में क्या है?
इसे DBLess कहा जाता है क्योंकि हम प्राथमिक DB से छुटकारा पा रहे हैं और हमें लगता है कि यह "स्टेटलेस," "सर्वरलेस," "NoSQL," और "नो सॉफ्टवेयर" की तर्ज पर एक मजेदार और विचित्र नाम है।
शुरू कैसे करें?
यदि आप Redis के सैकड़ों हजारों उपयोगकर्ताओं में से एक हैं, तो आप भाग्यशाली हैं—आप आज एक त्वरित प्रूफ-ऑफ-कॉन्सेप्ट कर सकते हैं! हम आपसे कुछ नया जोड़ने के लिए नहीं कह रहे हैं, बल्कि उस चीज़ से छुटकारा पाने के लिए कह रहे हैं जो अक्षम है।
और यहां बताया गया है कि इसे कैसे करें।
यदि आप एक नया सिस्टम या एक नई सुविधा बना रहे हैं, तो यह सीधा है बस इस आर्किटेक्चर का उपयोग करना शुरू करें—या कम से कम एक प्रूफ-ऑफ-कॉन्सेप्ट करें और देखें कि क्या यह आपके लिए काम करता है।
यदि आपके पास पहले से ही एक प्राथमिक DB है, तो वही करें जो हमारे कई ग्राहक करते हैं और एक हाइब्रिड दृष्टिकोण का उपयोग करें। वे पारंपरिक आर्किटेक्चर का उपयोग जारी रखते हैं, लेकिन उत्पाद के कुछ हिस्सों को नई आर्किटेक्चर में माइग्रेट करते हैं, जैसे कि वे स्थान जहां वे पहले से ही Redis या नई सुविधाओं पर बहुत अधिक निर्भर हैं। और धीरे-धीरे लेकिन निश्चित रूप से, वे सभी सुविधाओं को तब तक माइग्रेट करते हैं जब तक वे पूरी तरह से माइग्रेट नहीं हो जाते।
सारांश: एक फर्स्ट प्रिंसिपल्स विचारक बनें
हम आपसे एक फर्स्ट प्रिंसिपल्स विचारक बनने के लिए कह रहे हैं। सिर्फ इसलिए कि कुछ पारंपरिक रूप से उपयोग किया जाता है, इसका मतलब यह नहीं है कि यह सही है और आपको इसे अंधाधुंध पालन करना चाहिए। हम आपसे पारंपरिक सोच पर सवाल उठाने, इसकी गंभीर जांच करने, और विकल्पों को आजमाने के लिए कह रहे हैं। और जब आप ऐसा करते हैं, तो आप अपने और दूसरों के लिए कुछ उपयोगी आविष्कार कर सकते हैं।
DBLess आर्किटेक्चर पारंपरिक सोच का एक विकल्प प्रदान करता है। यह सोचने के बजाय कि यह काम करेगा या नहीं, एक प्रूफ-ऑफ-कॉन्सेप्ट आजमाएं। यह आपको आश्चर्यचकित कर सकता है!
संदर्भ
- फर्स्ट प्रिंसिपल्स पर एलन मस्क