रेडिस

रेडिस (रिमोट डिक्शनरी सर्वर)  एक इन-मेमोरी डेटा स्ट्रक्चर प्रोजेक्ट है जो वैकल्पिक स्थायित्व के साथ एक वितरित, इन-मेमोरी की-वैल्यू डेटाबेस को लागू करता है। रेडिस विभिन्न प्रकार के एब्स्ट्रेक्ट डाटा स्ट्रक्चर्स का समर्थन करता है, जैसे कि स्ट्रिंग्स, लिस्ट्स, मैप्स, सेट, सॉर्टेड सेट्स, हाइपरलॉग, बिटमैप, स्ट्रीम और  इंडिकस। यह परियोजना मुख्य रूप से सल्वाटोर सैनफिलिपो द्वारा विकसित की गई है और २०१९  तक रेडिस लैब्स द्वारा प्रायोजित है।  यह एक बीएसडी ३-क्लॉज लाइसेंस के तहत जारी किया गया ओपन-सोर्स सॉफ्टवेयर है।

## इतिहास

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

मार्च, २०१० में वीएमवेयर द्वारा सैन्फिलिपो को काम पर रखा गया था। 

मई, २०१३ में, रेडिस को पिवोतल सॉफ्टवेयर (एक वीएमवेयर स्पिन-ऑफ) द्वारा प्रायोजित किया गया था। 

जून २०१५ में, डेवेलपमेंट रेडिस लैब्स द्वारा प्रायोजित हो गया। 

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

## अन्य डेटाबेस सिस्टम के साथ अंतर

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

## विशिष्ट उपयोग

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

## सन्दर्भ