MangoDB का आधुनिकीकरण किया गया है और अब FerretDB में बदल गया है

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

फेरेटडीबी को एक प्रॉक्सी सर्वर के रूप में कार्यान्वित किया जाता है जो SQL क्वेरी में MongoDB कॉल को PostgreSQL में अनुवादित करता है, जिससे आप PostgreSQL को वास्तविक स्टोरेज के रूप में उपयोग कर सकते हैं।

फेरेटडीबी (पूर्व में मैंगोडीबी) की स्थापना मोंगोडीबी के लिए वास्तविक ओपन सोर्स प्रतिस्थापन बनने के लिए की गई थी। फेरेटडीबी एक ओपन सोर्स प्रॉक्सी है जो डेटाबेस इंजन के रूप में PostgreSQL का उपयोग करके MongoDB हैंडशेक क्वेरीज़ को SQL में परिवर्तित करता है।

माइग्रेशन की आवश्यकता MongoDB के गैर-मुक्त SSPL लाइसेंस में संक्रमण के कारण उत्पन्न हो सकती है, जो AGPLv3 लाइसेंस पर आधारित है, लेकिन खुला स्रोत नहीं है, क्योंकि इसमें SSPL लाइसेंस के तहत न केवल आवेदन प्रदान करने की भेदभावपूर्ण आवश्यकता शामिल है न केवल कोड का, बल्कि क्लाउड सेवा के प्रावधान में शामिल सभी घटकों के स्रोत कोड का भी।

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

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

इसे याद रखना चाहिए MongoDB तेज़ और स्केलेबल सिस्टमों में एक स्थान रखता है जो कुंजी/मूल्य प्रारूप में डेटा पर काम करता है, और क्वेरी पीढ़ी में संबंधपरक, कार्यात्मक और सुविधाजनक डीबीएमएस पर काम करता है।

अधिकांश MongoDB उपयोगकर्ताओं को MongoDB द्वारा प्रदान की जाने वाली कई उन्नत सुविधाओं की आवश्यकता नहीं होती है; हालाँकि, उन्हें उपयोग में आसान ओपन सोर्स डेटाबेस समाधान की आवश्यकता है। इसे पहचानते हुए, फेरेटडीबी उस अंतर को भरने के लिए यहां है।

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

फेरेटडीबी 0.1.0 की रिलीज में इस बात पर प्रकाश डाला गया है PostgreSQL डेटा पुनर्प्राप्त करने का तरीका पूरी तरह से नया डिज़ाइन किया गया है. पहले, प्रत्येक आने वाले MongoDB अनुरोध के लिए, आपने JSON प्रारूप के साथ काम करने और PostgreSQL पक्ष पर परिणामों को फ़िल्टर करने के लिए फ़ंक्शंस का उपयोग करके PostgreSQL के लिए एक SQL क्वेरी जेनरेट की थी।

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

बढ़ी हुई अनुकूलता की कीमत एक प्रदर्शन दंड थी, भविष्य में रिलीज में केवल उन प्रश्नों के लिए फेरेटडीबी पक्ष पर चयनात्मक फ़िल्टरिंग द्वारा ऑफसेट होने की उम्मीद है जिनके लिए व्यवहार में भिन्नता है।

उदाहरण के लिए, क्वेरी "db.collection.find({_id: 'some-id-value'})" को PostgreSQL में पूरी तरह से संसाधित किया जा सकता है। विकास के इस चरण में परियोजना का मुख्य लक्ष्य MongoDB के साथ संगतता प्राप्त करना है, और प्रदर्शन अभी भी पृष्ठभूमि में है।

नए संस्करण में कार्यात्मक परिवर्तनों में से, सभी बिट ऑपरेटरों, तुलना ऑपरेटर "$e" के साथ-साथ ऑपरेटरों " $elemMatch " और "$bitsAllClear" के लिए समर्थन है।

अंत में इसके बारे में अधिक जानने के इच्छुक लोगों के लिए, उन्हें पता होना चाहिए कि कोड Go में लिखा गया है और Apache 2.0 लाइसेंस के तहत वितरित किया गया है आप अपना कोड निम्नलिखित लिंक पर देख सकते हैं।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।