FerretDB 0.3 on jo julkaistu, katso mitä uutta tässä MangoDB-modernisoinnissa on

Muutama viikko sitten jaamme täällä blogissa uutiset muuttaa MangoDB-projektin nimeä jonka avulla voit korvata MongoDB:n dokumenttipohjaisen DBMS:n PostgreSQL:llä tekemättä muutoksia sovelluskoodiin.

Projektin uusi nimi on FerretDB ja äskettäin projektin versio 0.3 julkaistiin. FerretDB 0.3 -versio esittelee findAndModify-komennon, joka muokkaa dokumenttia, mutta palauttaa sen alkuperäisen version, sekä kenttäpäivitysoperaattorit mm.

Niiden, jotka eivät vielä ole tietoisia FerretDB:stä, sinun pitäisi tietää se tämä on toteutettu välityspalvelimena, joka kääntää MongoDB:n kutsut SQL-kyselyiksi PostgreSQL:ksi, jonka avulla voit käyttää PostgreSQL:ää todellisena tallennustilana.

Migraatiotarve voi syntyä MongoDB:n siirtymisen yhteydessä ei-vapaaseen SSPL-lisenssiin, joka perustuu AGPLv3-lisenssiin, mutta ei ole avoin, koska se sisältää syrjivän vaatimuksen tarjota SSPL-lisenssin alaisena paitsi sovellusta. itse koodi, mutta myös kaikkien pilvipalvelun tarjoamiseen osallistuvien komponenttien lähdekoodit.

FerretDB:n pääkohderyhmä ovat käyttäjät, jotka eivät käytä lisäominaisuuksia MongoDB:n sovelluksissa, mutta haluavat käyttää täysin avointa ohjelmistopinoa.

Nykyisessä kehitysvaiheessa FerretDB tukee edelleen vain osaa MongoDB:n ominaisuuksista joita käytetään useimmiten tyypillisissä sovelluksissa. Tulevaisuudessa he aikovat saavuttaa täyden ajurituen MongoDB:lle ja tarjota mahdollisuuden käyttää FerretDB:tä läpinäkyvänä MongoDB:n korvaajana.

MongoDB:llä on markkinarako nopeiden ja skaalautuvien järjestelmien välillä, jotka toimivat avain/arvodatalla, ja relaatiotietokantajärjestelmät, jotka ovat toimivia ja helppoja kyselyitä.

MongoDB tukee asiakirjojen tallentamista JSON-tyyppisessä muodossa, sillä on melko joustava kieli kyselyjen luomiseen, se pystyy luomaan indeksejä erilaisille tallennetuille attribuuteille, tarjoaa tehokkaan binäärisuurten objektien varastoinnin, tukee toimintojen kirjaamista tietojen muuttamiseksi ja lisäämiseksi tietokantaan, se voi toimia Map/Reduce -paradigman mukaisesti, se tukee replikointia ja vikasietoisten kokoonpanojen rakentamista.

Erojen takia PostgreSQL- ja MongoDB json -funktioiden semantiikassa, oli ristiriita käyttäytymisessä verrattaessa ja tilattaessa eri tyyppejä. Tämän ongelman ratkaisemiseksi on nyt poimittu näyte redundantista tiedosta PostgreSQL:stä ja tuloksen suodatus tehdään FerretDB-puolella, mikä mahdollisti MongoDB:n toiminnan toistamisen useimmissa tilanteissa.

FerretDB 0.3:n tärkeimmät uutuudet

Kuten alussa mainittiin, FerretDB 0.3:n uusi versio erottuu edukseen findAndModify -komento, joka muokkaa asiakirjaa, mutta palauttaa sen alkuperäisen version.

Muut erottuvat muutokset ovat se negatiivisen nollan käsittelyä on parannettu, sekä tuki skalaaritietotyyppien tilaamiselle lisättiin.

Korostettuina ovat myös uudet kenttäpäivitysoperaattorit otettu käyttöön: $inc ja $set, sekä tuki skalaaritietotyyppien tilaamiselle lisättiin.

Toisaalta mainitaan, että PostgreSQL- ja MongoDB-versioiden käsittelyyn on tehty erilaisia ​​parannuksia.

Sen lisäksi on myös huomattava, että virheellinen testi $mod-operaattorille on korjattu, myös, että testi on tehty kaikissa ARM64-käyttöjärjestelmissä ja että reitittimen/välityspalvelimen virheen kirjaustasoille on lisätty näkyvyyttä.

Muista muutoksista jotka erottuvat uudesta versiosta:

  • Päivitä CODEOWNERS
  • Synkronoi valeohjaimet ja s
  • Nimeä OP_*vakiot uudelleen OpCode*vakioksiksi
  • Paranna gopkg.in/yaml.v3
  • Lisää gopkg.in/yaml.v3 työkaluihin
  • Tee tyypin polku
  • Paniikki odottamattomissa järjestysarvoissa
  • Lisää kommentteja funktioihin ja muuttujiin
  • Poista kuollut koodi

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.