FerretDB 1.0 tashmë është lëshuar dhe këto janë të rejat e tij

Ferretdb

FerretDB u themelua për t'u bërë zëvendësuesi de facto me burim të hapur për MongoDB.

Nisja e versioni i ri i projektit FerretDB 1.0, i cili ju lejon të zëvendësoni DBMS të orientuar drejt dokumenteve të MongoDB me PostgreSQL pa bërë asnjë ndryshim në kodin e aplikacionit tuaj. FerretDB zbatohet si një server proxy që përkthen thirrjet MongoDB në pyetjet SQL në PostgreSQL, duke ju lejuar të përdorni PostgreSQL si ruajtje aktuale.

Versioni 1.0 është shënuar si versioni i parë i qëndrueshëm i gatshëm për përdorim të përgjithshëm. Audienca kryesore e synuar e FerretDB është përdoruesit që nuk përdorin veçoritë e avancuara të MongoDB në aplikacionet e tyre, por duan të përdorin një pirg softuerësh plotësisht të hapur.

Në fazën aktuale të zhvillimit, FerretDB mbështet një nëngrup të veçorive MongoDB që përdoren më së shpeshti në aplikacione tipike. Nevoja për të zbatuar FerretDB mund të lindë në lidhje me kalimin e MongoDB në një licencë SSPL jo të lirë, e cila bazohet në licencën AGPLv3, por nuk është me burim të hapur, pasi përmban një kërkesë diskriminuese për të furnizuar sipas licencës SSPL jo vetëm vetë kodin e aplikacionit, por edhe kodet burimore të të gjithë komponentëve të përfshirë në ofrimin e shërbimeve cloud.

MongoDB zë një vend midis sistemeve të shpejta dhe të shkallëzueshme që funksionojnë në të dhëna kyçe/vlerash dhe DBMS bazat e të dhënave relacionale që janë funksionale dhe të lehta për t'u pyetur. MongoDB mbështet ruajtjen e dokumenteve në një format të ngjashëm me JSON, ka një gjuhë mjaft fleksibël për ndërtimin e pyetjeve, mund të krijojë indekse për atribute të ndryshme të ruajtura, siguron ruajtje efikase të objekteve të mëdha binare, mbështet operacionet e regjistrimit për ndryshimin dhe shtimin e të dhënave në bazën e të dhënave, mund të funksionojë sipas paradigmës Map/Reduce, mbështet replikimin dhe ndërtimin e konfigurimeve tolerante ndaj gabimeve.

Risitë kryesore të FerretDB 1.0

Në këtë version të ri që prezantohet, theksohet se janë zbatuar komandat createIndexes dhe dropIndexes për të krijuar dhe vendosur një ose më shumë indekse në një koleksion, përveç komandës getMore u zbatua për të shfaqur një pjesë të re të rezultatit të marrë nga ekzekutimi i komandave që kthejnë një kursor, si gjetja dhe shtimi.

Një tjetër nga ndryshimet që bie në sy nga versioni i ri shtoi mbështetje për operatorin e grumbullimit të $sum për të llogaritur shumën e vlerave të grupit, si dhe atë që është shtuar mbështetje për operatorët $limit dhe $skip për të kufizuar numrin dhe për të kapërcyer dokumentet kur shtohen dhe se mbështetja për operatorin $count është shtuar për të numëruar dokumentet kur shtohen.

Përveç kësaj, vërehet gjithashtu se mbështetja për operatorin $unwind u shtua për të analizuar fushat e grupit në dokumentet hyrëse dhe për të formuar një listë me një dokument të veçantë për secilin element të grupit dhe gjithashtu shtoi mbështetje të pjesshme për komandat collStats, dbStats dhe dataSize për të marrë statistikat e mbledhjes dhe bazës së të dhënave dhe madhësinë e të dhënave.

ndryshime të tjera që bien në sy i versionit të ri:

  • Iteratorët tani përdoren për "renditim", "kufizim", "kalim" dhe "projeksion".
  • Bump varësitë
  • Përmirësimet e gjurmimit të burimeve
  • U shtuan teste për argumentin "kapërce" të "gjeni" dhe "count".
  • Mbyllni përsëritësin siç duhet
  • Përmirësime në inicializimin e numrave të mëdhenj në të dhënat e testimit

Më në fund nëse jeni të interesuar të dini më shumë për të, ju mund të kontrolloni detajet Në lidhjen vijuese.

Për ata që janë të interesuar për kodin, duhet të dini se ai është i shkruar në Go dhe shpërndahet nën licencën Apache 2.0.

Dhe ata duhet ta dinë këtë mënyra më e mirë për të testuar FerretDB është ta modifikoni dhe ta ekzekutoni atë në host (Linux, macOS ose Windows) me PostgreSQL dhe varësi të tjera që funksionojnë brenda kontejnerëve Docker përmes Docker Compose.

Në Linux, docker duhet të instalohet në host. Në macOS dhe Windows, Docker Desktop duhet të përdoret, ndërsa në Windows, duhet të konfigurohet për të përdorur WSL 2 pa asnjë shpërndarje; të gjitha komandat duhet të ekzekutohen në host.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.