PostgreSQL DBMS මත පදනම් වූ MongoDB ක්‍රියාත්මක කිරීමක් වන FerretDB හි පළමු ස්ථාවර නිකුතුව

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

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

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

FerretDB 1.0 හි වෙනස්කම් අතර:

  • එකතුවක් මත දර්ශක එකක් හෝ කිහිපයක් සෑදීමට සහ මකා දැමීමට createIndexes සහ dropIndexes විධානයන් ක්‍රියාත්මක කර ඇත.
  • getMore විධානය ක්‍රියාත්මක කර ඇත්තේ සොයා ගැනීම සහ එකතු කිරීම වැනි කර්සරයක් ආපසු ලබා දෙන විධාන ක්‍රියාත්මක කිරීමෙන් ලබා ගන්නා ප්‍රතිඵලයේ නව කොටසක් ප්‍රදර්ශනය කිරීමට ය.
  • කණ්ඩායම් අගයන්හි එකතුව ගණනය කිරීම සඳහා $sum එකතු කිරීමේ ක්‍රියාකරු සඳහා සහය එක් කරන ලදී.
  • එකතු කිරීමේදී ලේඛන ගණන සීමා කිරීමට සහ මඟ හැරීමට $limit සහ $skip ක්‍රියාකරුවන් සඳහා සහය එක් කරන ලදී.
  • එකතු කිරීමේදී ලේඛන ගණන් කිරීම සඳහා $count ක්‍රියාකරු සඳහා සහය එක් කරන ලදී.
  • ලැබෙන ලේඛනවල අරා ක්ෂේත්‍ර විග්‍රහ කිරීමට සහ එක් එක් අරා මූලද්‍රව්‍ය සඳහා වෙනම ලේඛනයක් සහිත ලැයිස්තුවක් ජනනය කිරීමට $unwind ක්‍රියාකරු සඳහා සහය එක් කරන ලදී.
  • එකතු කිරීම සහ දත්ත සමුදාය මෙන්ම දත්ත ප්‍රමාණය පිළිබඳ සංඛ්‍යාලේඛන ලබා ගැනීම සඳහා collStats, dbStats සහ dataSize විධාන සඳහා අර්ධ සහය එක් කරන ලදී.

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

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