Earste stabile release fan FerretDB, MongoDB ymplemintaasje basearre op PostgreSQL DBMS

De frijlitting fan it FerretDB 1.0-projekt is publisearre, wêrtroch jo de dokumint-oriïntearre DBMS MongoDB kinne ferfange troch PostgreSQL sûnder wizigingen oan 'e applikaasjekoade te meitsjen. FerretDB wurdt ymplementearre as in proxy-tsjinner dy't oproppen nei MongoDB oerset yn SQL-fragen nei PostgreSQL, wêrtroch jo PostgreSQL kinne brûke as de eigentlike opslach. Ferzje 1.0 is markearre as de earste stabile release klear foar algemien gebrûk. De koade is skreaun yn Go en ferspraat ûnder de Apache 2.0-lisinsje.

De wichtichste doelgroep foar FerretDB binne brûkers dy't gjin MongoDB avansearre funksjes brûke yn har applikaasjes, mar wolle in folslein iepen softwarestapel brûke. Op it hjoeddeistige stadium fan ûntwikkeling stipet FerretDB in subset fan 'e MongoDB-funksjes dy't it meast brûkt wurde yn typyske applikaasjes. De needsaak om FerretDB út te fieren kin ûntstean yn ferbân mei de oergong fan MongoDB nei in net-frije SSPL-lisinsje, dy't basearre is op 'e AGPLv3-lisinsje, mar is net iepen, om't it in diskriminearjende eask befettet om te leverjen ûnder de SSPL-lisinsje net allinich de applikaasje koade sels, mar ek de boarne koades fan alle komponinten belutsen by it oanbieden fan wolk tsjinsten.

MongoDB beslacht in niche tusken rappe en skalberbere systemen dy't operearje op kaai / wearde gegevens en relasjonele DBMS's dy't funksjoneel en maklik te freegjen binne. MongoDB stipet it opslaan fan dokuminten yn in JSON-lykas formaat, hat in frij fleksibele taal foar it generearjen fan queries, kin yndeksen meitsje foar ferskate opsleine attributen, soarget effisjint foar opslach fan grutte binêre objekten, stipet logging fan operaasjes om gegevens te feroarjen en ta te foegjen oan de databank, kin wurkje yn oerienstimming mei it paradigma Map / Ferminderje, stipet replikaasje en it bouwen fan fouttolerante konfiguraasjes.

Under de feroarings yn FerretDB 1.0:

  • Implementearre createIndex en dropIndex-kommando's foar it meitsjen en dellizzen fan ien of mear yndeksen nei in kolleksje.
  • It kommando getMore is ymplementearre om in nij diel fan it resultaat wer te jaan krigen fan de útfiering fan kommando's dy't in rinnerke werombringe, lykas fine en aggregearje.
  • Stipe tafoege foar de $sum-aggregaasje-operator om de som fan groepwearden te berekkenjen.
  • Stipe tafoege foar de operators $limit en $skip om it oantal te beheinen en dokuminten oer te slaan by it aggregearjen.
  • Stipe tafoege foar de $count-operator foar it tellen fan dokuminten by it aggregearjen.
  • Stipe tafoege foar de operator $ unwind om arrayfjilden yn ynkommende dokuminten te parsearjen en in list te foarmjen mei in apart dokumint foar elk array-elemint.
  • Diellike stipe tafoege foar kommando's collStats, dbStats en dataSize om kolleksje- en databasestatistiken en gegevensgrutte te krijen.

Boarne: opennet.ru

Add a comment