Éischt stabil Verëffentlechung vu FerretDB, MongoDB Implementatioun baséiert op PostgreSQL DBMS

D'Verëffentlechung vum FerretDB 1.0 Projet gouf publizéiert, wat Iech erlaabt den dokumentorientéierten DBMS MongoDB mat PostgreSQL ze ersetzen ouni Ännerungen am Applikatiounscode ze maachen. FerretDB gëtt als Proxy Server implementéiert deen Uriff op MongoDB an SQL Ufroen op PostgreSQL iwwersetzt, wat Iech erlaabt PostgreSQL als déi aktuell Späichere ze benotzen. Versioun 1.0 ass markéiert als déi éischt stabil Verëffentlechung prett fir allgemeng Benotzung. De Code ass a Go geschriwwen a verdeelt ënner der Apache 2.0 Lizenz.

Dem FerretDB säin primäre Zilpublikum ass Benotzer déi net déi fortgeschratt Fäegkeete vu MongoDB an hiren Uwendungen benotzen, awer wëllen e komplett oppene Software Stack benotzen. A senger aktueller Entwécklungsstadium ënnerstëtzt FerretDB e Subset vu MongoDB Fäegkeeten déi am meeschten an typesch Uwendungen benotzt ginn. De Besoin fir FerretDB ëmzesetzen kann entstoen am Zesummenhang mam Iwwergang vu MongoDB op déi propriétaire SSPL Lizenz, déi op der AGPLv3 Lizenz baséiert, awer net op ass, well et eng diskriminatoresch Fuerderung enthält fir ënner der SSPL Lizenz net nëmmen den Uwendungscode ze liwweren selwer, awer och d'Quellcoden vun alle Komponenten déi an der Versuergung vum Cloud Service involvéiert sinn.

MongoDB besetzt eng Nisch tëscht schnellen a skalierbare Systemer déi op Schlëssel / Wäertdaten a relational DBMSs funktionnéieren déi funktionell an einfach ze froen. MongoDB ënnerstëtzt d'Späichere vun Dokumenter an engem JSON-ähnlechen Format, huet eng zimlech flexibel Sprooch fir Ufroen ze generéieren, kann Indexe fir verschidde gespäichert Attributer erstellen, effizient Späichere vu grousse binären Objeten, ënnerstëtzt Logbicher vun Operatiounen fir Daten an d'Datebank z'änneren an ze addéieren. schafft am Aklang mat dem Paradigma Map / Reduzéiert, ënnerstëtzt Replikatioun a bauen Feeler-tolerant Konfiguratiounen.

Ënnert den Ännerungen am FerretDB 1.0:

  • D'CreateIndexen an DropIndex Kommandoen goufen ëmgesat fir een oder méi Indexen op enger Sammlung ze kreéieren an ze läschen.
  • De Kommando getMore gouf implementéiert fir en neien Deel vum Resultat ze weisen, deen duerch d'Ausféierung vun Kommandoen kritt gëtt, déi e Cursor zréckginn, wéi zB Find an Aggregat.
  • Ënnerstëtzung bäigefüügt fir den $sum Aggregatiounsbedreiwer fir d'Zomm vun de Gruppewäerter ze berechnen.
  • Ënnerstëtzung bäigefüügt fir $limit an $skip Betreiber fir d'Zuel an d'Sprang vun Dokumenter während der Aggregatioun ze limitéieren.
  • Zousätzlech Ënnerstëtzung fir den $count Bedreiwer fir Dokumenter während der Aggregatioun ze zielen.
  • Ënnerstëtzung fir den $ unwind Bedreiwer bäigefüügt fir Arrayfelder an erakommende Dokumenter ze analyséieren an eng Lëscht mat engem separaten Dokument fir all Arrayelement ze generéieren.
  • Deelweis Ënnerstëtzung fir d'CollStats, dbStats an DataSize Kommandoen bäigefüügt fir Statistiken iwwer d'Sammlung an d'Datebank ze kréien, souwéi d'Dategréisst.

Source: opennet.ru

Setzt e Commentaire