Dokumentorienteret database MongoDB 6.0 er tilgængelig

Efter et år med udvikling præsenteres udgivelsen af den dokumentorienterede database MongoDB 6.0, som ligger mellem hurtige og skalerbare systemer, der håndterer data i nøgle/værdi-format, og relationelle databaser, der er funktionelle og nemme at formulere forespørgsler til. Koden til MongoDB er skrevet i C++ og distribueres under SSPL-licensen, som er baseret på AGPLv3, men ikke er åben, da den indeholder diskriminerende krav om levering under SSPL-licensen ikke kun af selve applikationskoden, men også af kildekoden til alle komponenter involveret i leveringen af den cloud-baserede service.

MongoDB understøtter opbevaring af dokumenter i et JSON-lignende format, har et tilstrækkeligt fleksibelt sprog til at danne forespørgsler, kan oprette indekser for forskellige gemte attributter, sikrer effektiv opbevaring af store binære objekter, understøtter operationellogging for ændringer og tilføjelser af data til databasen, kan arbejde i henhold til Map/Reduce-paradigmet, understøtter replikering og opbygning af fejltolerante konfigurationer.

MongoDB har indbyggede værktøjer til segmentering (fordeling af datasæt på servere baseret på en bestemt nøgle), der i kombination med replikering muliggør opbygning af et horisontalt skalerbart lagerkluster, hvor der ikke er nogen enkelt fejlpunktsproblem (svigt af en hvilken som helst node påvirker ikke databasen), understøttes automatisk genopretning efter fejl og lastoverførsel fra en nedbrudt node. Udvidelse af klusteret eller konvertering af én server til et kluster udføres uden at stoppe databasen ved blot at tilføje nye maskiner.

De vigtigste funktioner i den nye udgave:

  • Der er implementeret mulighed for at udføre forespørgsler, der dækker data, der er gemt i krypteret form (Queryable Encryption). Dataene dekrypteres på brugerens side, og under behandlingen af forespørgslen forbliver de krypterede (forespørgslen udføres over krypterede data uden forudgående dekryptering). I den nuværende version tillades kun sammenligningsudtryk i forespørgslerne, men der er planer om at tilføje support til kontrol af intervaller, præfikser, suffikser, substrings og andre operationer.
  • Mulighederne relateret til opbevaring af data i form af tidsserier (time series collections) er udvidet, optimeret til opbevaring af værdiklip baseret på parametre, der registreres med bestemte tidsintervaller (tid og sæt af tilhørende værdier for dette tidspunkt), for eksempel opstår behovet for at gemme sådan data i overvågningssystemer, finansielle platforme, og systemer til afstemning af sensorstatus. I den nye udgave er det muligt at bruge sekundære og sammensatte indekser med datacollektioner i form af tidsserier. Der er tilføjet support til vedhæftning af yderligere data, såsom geografisk information til at tage hensyn til afstand og placering. Læsning, forespørgselsudførelse og sortering er blevet optimeret.
  • Der er tilføjet nye værktøjer til overvågning af ændringer ("ændringsstrømme", API Change Streams), som gør det muligt at organisere sending af notifikationer til applikationer om ændringer i databasen. Oplysninger om ændringer kommer i realtid og giver mulighed for at udvikle applikationer ved hjælp af reaktive og begivenhedsorienterede programmeringsteknikker. Begivenheder behandles ved hjælp af metoden watch, og nødvendige begivenheder kan filtreres og aggregeres ved hjælp af operatorerne $match, $project og $redact. I den nye version er det muligt at få den foregående og følgende tilstand af et dokument (for eksempel når dokumentet er slettet eller ændret). Udover operationer ved hjælp af DML-sprog (data manipulation language) er der også tilføjet støtte til DDL-operationer (data definition language), såsom oprettelse og sletning af indekser og samlinger. Der er tilføjet værktøjer til filtrering af tilknyttede notifikationer.
  • I operatorerne $lookup og $graphlookup er der implementeret fuld støtte til partitionerede (sharded) lagre. Ydelsen af operationen $lookup er blevet optimeret; for eksempel er matchningen af et lille antal dokumenter nu udført 5-10 gange hurtigere, mens et stort antal er blevet dobbelt så hurtigt. For matchninger uden brug af indekser kan ydelsesforbedringen nå op til 100 gange.
  • Der er givet mulighed for at udføre komplekse analytiske forespørgsler på konsistente snapshots af arbejdsdata. Sådanne analytiske forespørgsler kan dække flere segmenter i store distribuerede konfigurationer af MongoDB.
  • Der er tilføjet nye operatorer $maxN, $minN og $lastN til at bestemme værdier i en datasæt samt operatoren $sortArray til at sortere elementer i et array.
  • Effektiviteten af segmentering er blevet væsentligt forbedret. Den standard blokstørrelse for en segmenteret samling er blevet øget til 128 MB. Der er tilføjet kommandoen configureCollectionBalancing til at defragmentere segmenterede samlinger.
  • I klientens datakrypteringsværktøjer på fildniveau (CSFLE, client-side field-level encryption) er der tilføjet støtte til KMIP-kompatible nøgleleverandører.
  • Muligheden for komprimering og kryptering af revisionsloggen, der registrerer databasebrugerens aktivitet, er blevet tilføjet.
  • Der er implementeret en eksperimentel tilstand for datasykronisering mellem MongoDB-klynger (Cluster-to-Cluster Sync).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster