PostgreSQL DBMS அடிப்படையில் FerretDB 0.1, MongoDB செயல்படுத்தல் வெளியீடு

FerretDB 0.1 திட்டத்தின் (முன்னர் MangoDB) வெளியீடு வெளியிடப்பட்டது, இது ஆவணம் சார்ந்த DBMS MongoDB ஐ PostgreSQL உடன் பயன்பாட்டுக் குறியீட்டில் மாற்றங்களைச் செய்யாமல் மாற்ற உங்களை அனுமதிக்கிறது. FerretDB ஆனது MangoDBக்கான அழைப்புகளை SQL வினவல்களாக PostgreSQL க்கு மொழிபெயர்க்கும் ப்ராக்ஸி சேவையகமாக செயல்படுத்தப்படுகிறது, இது PostgreSQL ஐ உண்மையான சேமிப்பகமாகப் பயன்படுத்த அனுமதிக்கிறது. இந்த குறியீடு Go இல் எழுதப்பட்டு Apache 2.0 உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

ஏஜிபிஎல்வி3 உரிமத்தை அடிப்படையாகக் கொண்ட தனியுரிம எஸ்எஸ்பிஎல் உரிமத்திற்கு மோங்கோடிபி மாறுவதால் இடம்பெயர்வதற்கான தேவை எழலாம், ஆனால் அது பயன்பாட்டுக் குறியீடு மட்டுமல்ல, எஸ்எஸ்பிஎல் உரிமத்தின் கீழ் வழங்குவதற்கான பாரபட்சமான தேவையைக் கொண்டிருப்பதால் திறக்கப்படவில்லை. வழங்கல் கிளவுட் சேவையில் ஈடுபட்டுள்ள அனைத்து கூறுகளின் மூல குறியீடு.

FerretDB இன் இலக்கு பார்வையாளர்கள், தங்கள் பயன்பாடுகளில் MongoDB இன் மேம்பட்ட திறன்களைப் பயன்படுத்தாத பயனர்கள், ஆனால் முற்றிலும் திறந்த மென்பொருள் அடுக்கைப் பயன்படுத்த விரும்புகிறார்கள். வளர்ச்சியின் தற்போதைய கட்டத்தில், பொதுவான பயன்பாடுகளில் பெரும்பாலும் பயன்படுத்தப்படும் MongoDB திறன்களின் ஒரு பகுதியை மட்டுமே FerretDB ஆதரிக்கிறது. எதிர்காலத்தில், அவர்கள் MongoDBக்கான இயக்கிகளுடன் முழு இணக்கத்தன்மையை அடைய திட்டமிட்டுள்ளனர் மற்றும் MongoDB க்கு வெளிப்படையான மாற்றாக FerretDB ஐப் பயன்படுத்துவதற்கான திறனை வழங்குகிறார்கள்.

விசை/மதிப்பு வடிவத்தில் தரவை இயக்கும் வேகமான மற்றும் அளவிடக்கூடிய அமைப்புகளுக்கும், செயல்பாட்டு மற்றும் வினவல்களை உருவாக்குவதற்கு எளிதான தொடர்புடைய DBMS களுக்கும் இடையே மோங்கோடிபி ஒரு முக்கிய இடத்தைப் பிடித்துள்ளது என்பதை நினைவில் கொள்வோம். மோங்கோடிபி JSON போன்ற வடிவத்தில் ஆவணங்களைச் சேமிப்பதை ஆதரிக்கிறது, வினவல்களை உருவாக்குவதற்கு மிகவும் நெகிழ்வான மொழியைக் கொண்டுள்ளது, பல்வேறு சேமிக்கப்பட்ட பண்புக்கூறுகளுக்கான குறியீடுகளை உருவாக்கலாம், பெரிய பைனரி பொருட்களின் சேமிப்பை திறம்பட வழங்குகிறது, தரவுத்தளத்தில் தரவை மாற்றுவதற்கும் சேர்ப்பதற்கும் செயல்பாடுகளை பதிவு செய்வதை ஆதரிக்கிறது. முன்னுதாரண வரைபடம்/குறைப்புக்கு இணங்க பணிபுரிதல், தவறு-சகிப்புத்தன்மை உள்ளமைவுகளின் பிரதி மற்றும் கட்டுமானத்தை ஆதரிக்கிறது.

FerretDB 0.1.0 இன் வெளியீடு PostgreSQL இலிருந்து தரவை மீட்டெடுக்கும் முறையை முழுமையாக மறுவடிவமைத்தது. முன்னதாக, ஒவ்வொரு உள்வரும் MongoDB கோரிக்கைக்கும், ஒரு SQL வினவல் PostgreSQL க்கு உருவாக்கப்பட்டது, JSON வடிவத்துடன் பணிபுரியும் செயல்பாடுகளைப் பயன்படுத்தி PostgreSQL பக்கத்தில் முடிவுகளை வடிகட்டுகிறது. PostgreSQL மற்றும் MongoDB json செயல்பாடுகளின் சொற்பொருள் வேறுபாடுகள் காரணமாக, வெவ்வேறு வகைகளை ஒப்பிட்டு வரிசைப்படுத்தும் போது நடத்தையில் முரண்பாடு இருந்தது. இந்தச் சிக்கலைத் தீர்க்க, இப்போது PostgreSQL இலிருந்து தரவு தேவையில்லாமல் பெறப்பட்டது, மேலும் முடிவு FerretDB பக்கத்தில் வடிகட்டப்படுகிறது, இது பெரும்பாலான சூழ்நிலைகளில் MongoDB இன் நடத்தையைப் பிரதிபலிக்கச் செய்தது.

அதிகரித்த இணக்கத்தன்மையின் விலையானது செயல்திறனில் குறைவு ஆகும், இது எதிர்கால வெளியீடுகளில் நடத்தையில் முரண்பாடு உள்ள வினவல்களை மட்டுமே FerretDB பக்கத்தில் தேர்ந்தெடுத்து வடிகட்டுவதன் மூலம் ஈடுசெய்ய எதிர்பார்க்கிறார்கள். எடுத்துக்காட்டாக, "db.collection.find({_id: 'some-id-value'})" வினவலை முழுமையாக PostgreSQL இல் செயலாக்க முடியும். வளர்ச்சியின் இந்த கட்டத்தில் திட்டத்தின் முதன்மை இலக்கு MongoDB உடன் இணக்கத்தன்மையை அடைவதாகும், மேலும் செயல்திறன் தற்போது பின்னணிக்கு தள்ளப்பட்டுள்ளது. புதிய பதிப்பில் உள்ள செயல்பாட்டு மாற்றங்களில், அனைத்து பிட் ஆபரேட்டர்களுக்கான ஆதரவு, "$eq" ஒப்பீட்டு ஆபரேட்டர் மற்றும் "$elemMatch" மற்றும் "$bitsAllClear" ஆபரேட்டர்கள் குறிப்பிடப்பட்டுள்ளன.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்