Dokument-georiënteerde DBMS MongoDB 5.0 beskikbaar

Die vrystelling van die dokument-georiënteerde DBBS MongoDB 5.0 word aangebied, wat 'n nis beslaan tussen vinnige en skaalbare stelsels wat data in sleutel/waarde-formaat bedryf, en relasionele DBBS'e wat funksioneel en maklik is om navrae te vorm. Die MongoDB-kode is in C++ geskryf en versprei onder die SSPL-lisensie, wat op die AGPLv3-lisensie gebaseer is, maar nie oop is nie, aangesien dit 'n diskriminerende vereiste bevat om onder die SSPL-lisensie nie net die toepassingskode self te lewer nie, maar ook die bron kode van alle komponente betrokke by die verskaffing van die wolkdiens.

MongoDB ondersteun die stoor van dokumente in 'n JSON-agtige formaat, het 'n redelik buigsame taal vir die generering van navrae, kan indekse vir verskeie gestoorde eienskappe skep, verskaf doeltreffend stoor van groot binêre voorwerpe, ondersteun aanteken van bedrywighede om data te verander en by die databasis te voeg, kan werk in ooreenstemming met die paradigma Map/Reduce, ondersteun replikasie en konstruksie van foutverdraagsame konfigurasies.

MongoDB het ingeboude gereedskap vir die verskaffing van versnippering (verspreiding van 'n stel data oor bedieners gebaseer op 'n spesifieke sleutel), in kombinasie met replikasie, wat jou toelaat om 'n horisontaal skaalbare bergingkluster te bou waarin daar geen enkele punt van mislukking is nie (die mislukking van enige nodus nie die werking van die databasis beïnvloed nie), outomatiese herstel na 'n mislukking en oordrag van las vanaf 'n mislukte nodus. Die uitbreiding van 'n groep of die omskakeling van een bediener in 'n groepering word gedoen sonder om die databasis te stop deur bloot nuwe masjiene by te voeg.

Kenmerke van die nuwe weergawe:

  • Bygevoeg versamelings vir data in die vorm van 'n tydreeks (tydreeksversamelings), geoptimaliseer vir die stoor van snye parameterwaardes wat met sekere intervalle aangeteken is (tyd en 'n stel waardes wat ooreenstem met hierdie tyd). Die behoefte om sulke data te stoor ontstaan ​​in moniteringstelsels, finansiële platforms en stelsels vir stemsensortoestande. Werk met tydreeksdata word uitgevoer soos met gewone dokumentversamelings, maar die indekse en bergingsmetode daarvoor is geoptimaliseer met inagneming van die tydverwysing, wat skyfspasieverbruik aansienlik kan verminder, vertragings in die uitvoer van navrae kan verminder en intydse data moontlik kan maak ontleding.

    MongoDB hanteer sulke versamelings as skryfbare, nie-gematerialiseerde aansigte gebou op interne versamelings wat, wanneer dit ingevoeg word, outomaties tydreeksdata in 'n geoptimaliseerde bergingsformaat groepeer. In hierdie geval word elke tydgebaseerde rekord as 'n aparte dokument hanteer wanneer dit versoek word. Data word outomaties volgens tyd georden en geïndekseer (nie nodig om eksplisiet tydindekse te skep nie).

  • Bygevoeg ondersteuning vir venster operateurs (analitiese funksies) wat jou toelaat om aksies uit te voer met 'n spesifieke stel dokumente in die versameling. Anders as saamgevoegde funksies, vou vensterfunksies nie die gegroepeerde stel in nie, maar versamel eerder op grond van die inhoud van 'n "venster" wat een of meer dokumente uit die resultaatstel insluit. Om 'n subset van dokumente te manipuleer, word 'n nuwe $setWindowFields-stadium voorgestel, waarmee jy byvoorbeeld die verskille tussen twee dokumente in 'n versameling kan bepaal, verkoopsranglys kan bereken en inligting in komplekse tydreekse kan ontleed.
  • Bygevoeg ondersteuning vir API-weergawe, wat jou toelaat om 'n toepassing aan 'n spesifieke API-toestand te bind en die risiko's wat verband hou met 'n moontlike skending van terugwaartse verenigbaarheid uit te skakel wanneer na nuwe DBMS-vrystellings migreer. API-weergawe skei die toepassinglewensiklus van die DBBS-lewensiklus en laat ontwikkelaars toe om veranderinge aan die toepassing aan te bring wanneer daar 'n behoefte is om nuwe kenmerke te gebruik, en nie wanneer hulle na 'n nuwe weergawe van die DBBS migreer nie.
  • Bygevoeg ondersteuning vir die Live Resharding meganisme, wat jou toelaat om die skerf sleutels wat gebruik word vir segmentering op die vlieg te verander sonder om die DBMS te stop.
  • Die moontlikhede om velde aan die kliëntkant te enkripteer is uitgebrei (Kliënt-Side Veldvlak-enkripsie). Dit is nou moontlik om ouditfilters te herkonfigureer en x509-sertifikate te roteer sonder om die DBBS te stop. Bygevoeg ondersteuning vir die opstel van cipher suite vir TLS 1.3.
  • 'n Nuwe opdragreëldop, MongoDB Shell (mongosh), word voorgestel, wat ontwikkel word as 'n aparte projek, geskryf in JavaScript met behulp van die Node.js-platform en versprei onder die Apache 2.0-lisensie. MongoDB Shell maak dit moontlik om aan die DBMS te koppel, instellings te verander en navrae te stuur. Ondersteun slim outovoltooiing vir die invoer van metodes, opdragte en MQL-uitdrukkings, sintaksis-verligting, kontekstuele hulp, ontleding van foutboodskappe en die vermoë om funksionaliteit uit te brei deur byvoegings. Die ou "mongo" CLI-omhulsel is afgekeur en sal in 'n toekomstige vrystelling verwyder word.
    Dokument-georiënteerde DBMS MongoDB 5.0 beskikbaar
  • Nuwe operateurs is bygevoeg: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate en $rand.
  • Verseker dat indekse gebruik word wanneer die $eq, $lt, $lte, $gt en $gte operateurs binne die $expr uitdrukking gebruik word.
  • Die versamel, vind, vindAndModify, werk op, verwyder opdragte en die db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() en db.collection.remove() metodes ondersteun nou die "let" ” opsie om 'n lys veranderlikes te definieer wat opdragte meer leesbaar maak deur veranderlikes van die versoekliggaam te skei.
  • Vind, tel, onderskei, versamel, kaartVerminder, lysVersamelings en lysIndekse-bewerkings blokkeer nie meer as 'n bewerking wat 'n eksklusiewe slot op 'n dokumentversameling neem, parallel loop nie.
  • As deel van 'n inisiatief om polities inkorrekte terme te verwyder, is die isMaster-opdrag en db.isMaster()-metode hernoem na hello en db.hello().
  • Die vrystellingnommerskema is verander en 'n oorgang is gemaak na 'n voorspelbare vrystellingskedule. Daar sal een keer per jaar 'n beduidende vrystelling wees (5.0, 6.0, 7.0), elke drie maande tussentydse vrystellings met nuwe kenmerke (5.1, 5.2, 5.3) en, soos nodig, regstellende opdaterings met foutoplossings en kwesbaarhede (5.1.1, 5.1.2) .5.1.3, 5.1). Tussentydse vrystellings sal funksionaliteit bou vir die volgende groot vrystelling, m.a.w. MongoDB 5.2, 5.3 en 6.0 sal nuwe kenmerke vir die vrystelling van MongoDB XNUMX verskaf.

Bron: opennet.ru

Voeg 'n opmerking