De eerste stabiele release van FerretDB, een implementatie van MongoDB op basis van de PostgreSQL-database.

De uitgave van het FerretDB-project 1.0 is gepubliceerd, waarmee document-georiënteerde databases zoals MongoDB op PostgreSQL kunnen worden vervangen zonder veranderingen aan de applicatiecode. FerretDB is geïmplementeerd als een proxyserver die verzoeken aan MongoDB omzet in SQL-query's voor PostgreSQL, waardoor PostgreSQL als de daadwerkelijke opslag kan worden gebruikt. Versie 1.0 wordt gemarkeerd als de eerste stabiele release, klaar voor algemeen gebruik. De code is geschreven in de programmeertaal Go en is beschikbaar onder de Apache 2.0-licentie.

De belangrijkste doelgroep van FerretDB zijn gebruikers die in hun applicaties geen geavanceerde mogelijkheden van MongoDB gebruiken, maar wel volledig open-source software willen gebruiken. Op dit moment ondersteunt FerretDB een subset van de mogelijkheden van MongoDB die het meest vaak worden gebruikt in gangbare applicaties. De noodzaak om FerretDB te implementeren kan ontstaan door de overstap van MongoDB naar een niet-vrije SSPL-licentie, die is gebaseerd op de AGPLv3-licentie maar niet open-source is, omdat het discriminerende vereisten bevat voor niet alleen de code van de applicatie zelf, maar ook voor de broncode van alle componenten die betrokken zijn bij de levering van de cloudservice.

MongoDB bevindt zich in een niche tussen snelle en schaalbare systemen die gegevens in het sleutel-waardeformaat beheren, en relationele databases die functioneel zijn en gemakkelijk queries kunnen opstellen. MongoDB ondersteunt het opslaan van documenten in een JSON-achtig formaat, heeft een vrij flexibele query-taal, kan indexen creëren voor verschillende opgeslagen attributen, biedt effectief opslag voor grote binaire objecten, ondersteunt het loggen van operaties voor het wijzigen en toevoegen van gegevens aan de database, kan werken volgens het Map/Reduce-paradigma, ondersteunt replicatie en het opbouwen van fouttolerante configuraties.

Onder de wijzigingen in FerretDB 1.0:

  • De commando's createIndexes en dropIndexes zijn geïmplementeerd voor het creëren en verwijderen van één of meerdere indexen voor een collectie.
  • Het commando getMore is geïmplementeerd om een nieuwe set resultaten te tonen die zijn verkregen bij het uitvoeren van commando's die een cursor teruggeven, zoals find en aggregate.
  • Ondersteuning voor de aggregatieoperator $sum is toegevoegd voor het berekenen van de som van waarden binnen een groep.
  • Ondersteuning voor de operators $limit en $skip is toegevoegd om het aantal documenten te beperken en over te slaan tijdens aggregatie.
  • Ondersteuning voor de operator $count is toegevoegd voor het tellen van documenten tijdens aggregatie.
  • Ondersteuning voor de operator $unwind is toegevoegd om velden van array's in de inkomende documenten te ontleden en een lijst te vormen met een apart document voor elk array-element.
  • Deels ondersteuning toegevoegd voor de commando's collStats, dbStats en dataSize om statistieken over de collectie en database te verkrijgen, evenals de gegevensgrootte.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster