FerretDB 1.0 a fost deja lansat și acestea sunt știrile sale

FerretDB

FerretDB a fost fondat pentru a deveni înlocuitorul de facto open source pentru MongoDB.

Lansarea lui noua versiune a proiectului FerretDB 1.0, care vă permite să înlocuiți SGBD-ul MongoDB orientat spre documente cu PostgreSQL fără a face modificări codului aplicației. FerretDB este implementat ca un server proxy care traduce apelurile MongoDB în interogări SQL în PostgreSQL, permițându-vă să utilizați PostgreSQL ca stocare reală.

Versiunea 1.0 este marcată ca prima versiune stabilă gata pentru utilizare generală. Publicul țintă principal al FerretDB este utilizatorii care nu folosesc caracteristicile avansate ale MongoDB în aplicațiile lor, dar doresc să utilizeze o stivă de software complet deschisă.

În stadiul actual de dezvoltare, FerretDB acceptă un subset de caracteristici MongoDB care sunt utilizate cel mai frecvent în aplicațiile tipice. Necesitatea implementării FerretDB poate apărea în legătură cu trecerea MongoDB la o licență SSPL non-liberă, care se bazează pe licența AGPLv3, dar nu este open source, deoarece conține o cerință discriminatorie de a furniza sub licența SSPL nu numai codul aplicației în sine, dar și codurile sursă ale tuturor componentelor implicate în furnizarea serviciilor cloud.

MongoDB ocupă o nișă între sistemele rapide și scalabile care operează pe date cheie/valoare și SGBD baze de date relaționale care sunt funcționale și ușor de interogat. MongoDB acceptă stocarea documentelor într-un format asemănător JSON, are un limbaj destul de flexibil pentru construirea de interogări, poate crea indecși pentru diverse atribute stocate, oferă stocare eficientă a obiectelor binare mari, acceptă operațiuni de înregistrare pentru modificarea și adăugarea datelor în baza de date, poate funcționa conform paradigmei Map/Reduce, acceptă replicarea și construirea de configurații tolerante la erori.

Principalele noutăți ale FerretDB 1.0

În această nouă versiune care este prezentată, se evidențiază că au fost implementate comenzile createIndexes și dropIndexes pentru a crea și plasa unul sau mai mulți indici pe o colecție, pe lângă comandă getMore a fost implementat pentru a afișa o nouă porțiune a rezultatului preluat de la executarea comenzilor care returnează un cursor, cum ar fi find și add.

O altă modificare care iese în evidență față de noua versiune a adăugat suport pentru operatorul de agregare $sum pentru a calcula suma valorilor grupului, precum și ceea ce a fost adăugat suport pentru operatorii $limit și $skip pentru a limita numărul și a sări peste documente la adăugare, iar suportul pentru operatorul $count a fost adăugat pentru a număra documentele la adăugare.

În plus, se remarcă, de asemenea, că a fost adăugat suport pentru operatorul $unwind pentru a analiza câmpurile matrice din documentele primite și pentru a forma o listă cu un document separat pentru fiecare element al matricei și a adăugat, de asemenea, suport parțial pentru comenzile collStats , dbStats și dataSize pentru a obține statistici de colecție și baze de date și dimensiunea datelor.

Dintre alte schimbări care se remarcă a noii versiuni:

  • Iteratoarele sunt acum folosite pentru `sort`, `limit`, `skip` and `projection`
  • dependențe de lovituri
  • Îmbunătățiri de urmărire a resurselor
  • S-au adăugat teste pentru argumentul `skip` a lui `find` și `count
  • Închideți corect iteratorul
  • Îmbunătățiri la inițializarea numerelor mari în datele de testare

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile În următorul link.

Pentru cei interesați de cod, trebuie să știți că este scris în Go și este distribuit sub licența Apache 2.0.

Și ar trebui să știe asta cel mai bun mod de a testa FerretDB este să îl modificați și să îl rulați pe gazdă (Linux, macOS sau Windows) cu PostgreSQL și alte dependențe care rulează în containerele Docker prin Docker Compose.

Pe Linux, docker trebuie instalat pe gazdă. Pe macOS și Windows, trebuie folosit Docker Desktop, în timp ce pe Windows, acesta trebuie configurat să folosească WSL 2 fără nicio distribuție; toate comenzile trebuie executate pe gazdă.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.