Ang FerretDB 1.0 ay inilabas na at ito ang mga balita nito

FerretDB

Ang FerretDB ay itinatag upang maging de facto na open source na kapalit para sa MongoDB.

Ang paglulunsad ng bagong bersyon ng proyekto ng FerretDB 1.0, na nagpapahintulot sa iyo na palitan ang DBMS na nakatuon sa dokumento ng MongoDB ng PostgreSQL nang hindi gumagawa ng anumang mga pagbabago sa iyong code ng aplikasyon. Ang FerretDB ay ipinatupad bilang isang proxy server na nagsasalin ng mga tawag sa MongoDB sa mga query sa SQL sa PostgreSQL, na nagbibigay-daan sa iyong gamitin ang PostgreSQL bilang aktwal na storage.

Ang Bersyon 1.0 ay minarkahan bilang ang unang stable na release na handa na para sa pangkalahatang paggamit. Ang pangunahing target na audience ng FerretDB ay ang mga user na hindi gumagamit ng mga advanced na feature ng MongoDB sa kanilang mga application, ngunit gustong gumamit ng ganap na bukas na software stack.

Sa kasalukuyang yugto ng pag-unlad nito, Sinusuportahan ng FerretDB ang isang subset ng mga tampok ng MongoDB na pinakakaraniwang ginagamit sa mga karaniwang application. Ang pangangailangang ipatupad ang FerretDB ay maaaring lumitaw kaugnay ng paglipat ng MongoDB sa isang hindi-libreng SSPL na lisensya, na nakabatay sa lisensya ng AGPLv3, ngunit hindi open source, dahil naglalaman ito ng diskriminasyong kinakailangan upang ibigay sa ilalim ng lisensya ng SSPL hindi lamang ang application code mismo, kundi pati na rin ang source code ng lahat ng bahaging kasangkot sa pagbibigay ng mga serbisyo sa cloud.

MongoDB sumasakop sa isang angkop na lugar sa pagitan ng mabilis at nasusukat na mga sistema na gumagana sa key/value data at mga DBMS relational database na gumagana at madaling i-query. Sinusuportahan ng MongoDB ang pag-iimbak ng mga dokumento sa isang format na tulad ng JSON, may medyo nababaluktot na wika para sa pagbuo ng mga query, maaaring lumikha ng mga index para sa iba't ibang mga naka-imbak na katangian, nagbibigay ng mahusay na pag-iimbak ng mga binary na malalaking bagay, sumusuporta sa mga operasyon sa pag-log para sa pagbabago at pagdaragdag ng data sa database, maaaring gumana ayon sa paradigm ng Map/Reduce, sumusuporta sa pagtitiklop at pagbuo ng mga configuration na hindi mapagparaya sa pagkakamali.

Pangunahing novelties ng FerretDB 1.0

Sa bagong bersyon na ito na ipinakita, ito ay naka-highlight na ang createIndexes at dropIndexes na mga utos ay ipinatupad upang lumikha at maglagay ng isa o higit pang mga indeks sa isang koleksyon, bilang karagdagan sa utos ipinatupad ang getMore upang magpakita ng bagong hiwa ng nakuhang resulta mula sa pagpapatupad ng mga utos na nagbabalik ng cursor, tulad ng paghahanap at pagdaragdag.

Isa pa sa mga pagbabagong namumukod-tangi sa bagong bersyon nagdagdag ng suporta para sa operator ng $sum aggregation upang kalkulahin ang kabuuan ng mga halaga ng pangkat, pati na rin ang idinagdag suporta para sa $limit at $skip operator upang limitahan ang bilang at laktawan ang mga dokumento kapag nagdadagdag at ang suporta para sa $count operator ay idinagdag upang mabilang ang mga dokumento kapag nagdadagdag.

Bilang karagdagan dito, nabanggit din na ang suporta para sa $unwind operator ay idinagdag upang i-parse ang array field sa mga papasok na dokumento at bumuo ng isang listahan na may hiwalay na dokumento para sa bawat elemento ng array at nagdagdag din ng bahagyang suporta para sa mga command collStats , dbStats , at dataSize upang makakuha ng mga istatistika ng koleksyon at database at ang laki ng data.

Ng iba pang mga pagbabago na namumukod-tangi ng bagong bersyon:

  • Ginagamit na ngayon ang mga iterator para sa `sort`, `limit`, `skip` at `projection`
  • bump dependencies
  • Mga Pagpapahusay sa Pagsubaybay sa Mapagkukunan
  • Nagdagdag ng mga pagsubok para sa argumentong `skip` ng `find` at `count
  • Isara nang maayos ang iterator
  • Mga pagpapabuti sa pagsisimula ng malalaking numero sa data ng pagsubok

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.

Para sa mga interesado sa code, dapat mong malaman na ito ay nakasulat sa Go at ipinamamahagi sa ilalim ng lisensya ng Apache 2.0.

At dapat alam nila iyon ang pinakamahusay na paraan upang subukan ang FerretDB ay baguhin ito at patakbuhin ito sa host (Linux, macOS, o Windows) na may PostgreSQL at iba pang mga dependency na tumatakbo sa loob ng mga container ng Docker sa pamamagitan ng Docker Compose.

Sa Linux, dapat na naka-install ang docker sa host. Sa macOS at Windows, dapat gamitin ang Docker Desktop, habang sa Windows, dapat itong i-configure na gamitin ang WSL 2 nang walang anumang pamamahagi; lahat ng mga utos ay dapat isagawa sa host.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.