PostgreSQL DBMS මත පදනම් වූ MongoDB ක්‍රියාවට නැංවීමක් වන FerretDB 0.1 නිකුත් කිරීම

FerretDB 0.1 ව්‍යාපෘතියේ (කලින් MangoDB) නිකුතුව ප්‍රකාශයට පත් කර ඇති අතර, යෙදුම් කේතයට වෙනස්කම් සිදු නොකර ලේඛන-නැඹුරු DBMS MongoDB PostgreSQL සමඟ ප්‍රතිස්ථාපනය කිරීමට ඔබට ඉඩ සලසයි. FerretDB ප්‍රොක්සි සේවාදායකයක් ලෙස ක්‍රියාත්මක වන අතර එය MangoDB වෙත ලැබෙන ඇමතුම් SQL විමසුම් බවට PostgreSQL වෙත පරිවර්තනය කරයි, PostgreSQL සැබෑ ගබඩාව ලෙස භාවිතා කිරීමට ඉඩ සලසයි. කේතය Go වලින් ලියා Apache 2.0 බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ.

AGPLv3 බලපත්‍රය මත පදනම් වූ හිමිකාර SSPL බලපත්‍රයක් වෙත MongoDB සංක්‍රමණය වීම හේතුවෙන් සංක්‍රමණය සඳහා අවශ්‍යතාවය පැන නැගිය හැක, නමුත් එය යෙදුම් කේතය පමණක් නොව, SSPL බලපත්‍රය යටතේ බෙදා හැරීමට වෙනස් කොට සැලකීමේ අවශ්‍යතාවයක් අඩංගු බැවින් එය විවෘත නොවේ. ප්‍රතිපාදන වලාකුළු සේවාවට සම්බන්ධ සියලුම සංරචකවල මූල කේතය.

FerretDB හි ඉලක්කගත ප්‍රේක්ෂකයින් වන්නේ ඔවුන්ගේ යෙදුම්වල MongoDB හි උසස් හැකියාවන් භාවිතා නොකරන නමුත් සම්පූර්ණයෙන්ම විවෘත මෘදුකාංග තොගයක් භාවිතා කිරීමට අවශ්‍ය පරිශීලකයන්ය. වත්මන් සංවර්ධන අවධියේදී, FerretDB තවමත් සාමාන්‍ය යෙදුම්වල බහුලව භාවිතා වන MongoDB හැකියාවන්ගෙන් කොටසකට පමණක් සහය දක්වයි. අනාගතයේදී, ඔවුන් MongoDB සඳහා රියදුරන් සමඟ පූර්ණ අනුකූලතාවයක් ලබා ගැනීමට සැලසුම් කර ඇති අතර MongoDB සඳහා විනිවිද පෙනෙන ආදේශකයක් ලෙස FerretDB භාවිතා කිරීමේ හැකියාව ලබා දේ.

ප්‍රධාන/අගය ආකෘතියෙන් දත්ත ක්‍රියාත්මක කරන වේගවත් සහ පරිමාණය කළ හැකි පද්ධති සහ ක්‍රියාකාරී සහ විමසුම් සැකසීමට පහසු සම්බන්ධක DBMS අතර MongoDB ස්ථානයක් හිමි වන බව අපි සිහිපත් කරමු. MongoDB JSON වැනි ආකෘතියකින් ලේඛන ගබඩා කිරීමට සහය දක්වයි, විමසුම් උත්පාදනය සඳහා තරමක් නම්‍යශීලී භාෂාවක් ඇත, විවිධ ගබඩා කර ඇති ගුණාංග සඳහා දර්ශක නිර්මාණය කළ හැකිය, විශාල ද්විමය වස්තු ගබඩා කිරීම කාර්යක්ෂමව සපයයි, දත්ත ගබඩාවට දත්ත වෙනස් කිරීම සහ එකතු කිරීම සඳහා මෙහෙයුම් ලොග් කිරීම සඳහා සහාය වේ. සුසමාදර්ශය සිතියමට අනුකූලව වැඩ කිරීම/අඩු කිරීම, දෝෂ-ඉවසන වින්‍යාසයන් අනුකරණය කිරීමට සහ ගොඩනැගීමට සහාය වේ.

FerretDB 0.1.0 නිකුතුව මගින් PostgreSQL වෙතින් දත්ත ලබා ගැනීමේ ක්‍රමය සම්පූර්ණයෙන්ම ප්‍රතිනිර්මාණය කරන ලදී. මින් පෙර, පැමිණෙන සෑම MongoDB ඉල්ලීමක් සඳහාම, JSON ආකෘතිය සමඟ වැඩ කිරීම සඳහා සහ PostgreSQL පැත්තේ ප්‍රතිඵල පෙරීම සඳහා ශ්‍රිත භාවිත කරමින් PostgreSQL වෙත එක් SQL විමසුමක් උත්පාදනය කරන ලදී. PostgreSQL සහ MongoDB json ශ්‍රිතවල අර්ථ ශාස්ත්‍රයේ වෙනස්කම් හේතුවෙන්, විවිධ වර්ග සංසන්දනය කිරීමේදී සහ වර්ග කිරීමේදී හැසිරීමේ විෂමතාවයක් ඇති විය. මෙම ගැටළුව විසඳීම සඳහා, දත්ත දැන් අනවශ්‍ය ලෙස PostgreSQL වෙතින් ලබාගෙන ඇති අතර, ප්‍රතිඵලය FerretDB පැත්තෙන් පෙරීම සිදු කරයි, එමඟින් බොහෝ අවස්ථාවන්හිදී MongoDB හි හැසිරීම ප්‍රතිනිර්මාණය කිරීමට හැකි විය.

වැඩි වූ ගැළපුම මිල කාර්ය සාධනයේ අඩුවීමක් වූ අතර, අනාගත නිකුතු වලදී ඔවුන් FerretDB පැත්තේ හැසිරීමේ විෂමතාවයක් ඇති විමසුම් පමණක් තෝරා පෙරීමෙන් වන්දි ගෙවීමට අපේක්ෂා කරයි. උදාහරණයක් ලෙස, "db.collection.find({_id: 'some-id-value'})" විමසුම සම්පූර්ණයෙන්ම PostgreSQL හි සැකසිය හැක. සංවර්ධනයේ මෙම අදියරේදී ව්‍යාපෘතියේ මූලික ඉලක්කය වන්නේ MongoDB සමඟ ගැළපීම සාක්ෂාත් කර ගැනීම වන අතර කාර්ය සාධනය දැනට පසුබිමට ගෙන ගොස් ඇත. නව අනුවාදයේ ක්රියාකාරී වෙනස්කම් අතර, සියලුම බිට් ක්රියාකරුවන් සඳහා සහය දැක්වීම, "$eq" සංසන්දන ක්රියාකරු, මෙන්ම "$ elemMatch" සහ "$bitsAllClear" ක්රියාකරුවන් සටහන් කර ඇත.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න