Dokument-orientita DBMS MongoDB 5.0 havebla

La eldono de la dokument-orientita DBMS MongoDB 5.0 estas prezentita, kiu okupas niĉon inter rapidaj kaj skaleblaj sistemoj, kiuj funkciigas datumojn en ŝlosila/valora formato, kaj interrilataj DBMS-oj, kiuj estas funkciaj kaj facile formeblaj demandoj. La MongoDB-kodo estas skribita en C++ kaj distribuita sub la SSPL-licenco, kiu baziĝas sur la AGPLv3-licenco, sed ne estas malfermita, ĉar ĝi enhavas diskriminacian postulon liveri sub la SSPL-licenco ne nur la aplikaĵokodon mem, sed ankaŭ la fonton. kodo de ĉiuj komponantoj implikitaj en la provizado de la nuba servo.

MongoDB subtenas stokadon de dokumentoj en JSON-simila formato, havas sufiĉe flekseblan lingvon por generi demandojn, povas krei indeksojn por diversaj stokitaj atributoj, efike provizas stokadon de grandaj binaraj objektoj, subtenas registradon de operacioj por ŝanĝi kaj aldoni datumojn al la datumbazo, povas. labori laŭ la paradigmo Map/Reduce, subtenas reproduktadon kaj konstruadon de misfunkciaj agordoj.

MongoDB havas enkonstruitajn ilojn por provizi sharding (disdonante aron da datumoj tra serviloj bazitaj sur specifa ŝlosilo), kombine kun reproduktado, permesante al vi konstrui horizontale skaleblan stokan areton en kiu ne ekzistas ununura punkto de fiasko (la fiasko). de iu nodo ne influas la funkciadon de la datumbazo), aŭtomata reakiro post fiasko kaj translokigo de ŝarĝo de malsukcesa nodo. Pligrandigi areton aŭ konverti unu servilon en areton estas farita sen haltigi la datumbazon per simple aldonado de novaj maŝinoj.

Karakterizaĵoj de la nova eldono:

  • Aldonitaj kolektoj por datumoj en formo de temposerio (temposeriokolektoj), optimumigitaj por stoki tranĉaĵojn de parametraj valoroj registritaj je certaj intervaloj (tempo kaj aro de valoroj respondaj al ĉi tiu tempo). La bezono stoki tiajn datumojn ekestas en monitoraj sistemoj, financaj platformoj kaj sistemoj por balotado de sensilŝtatoj. Labori kun tempa serio-datumoj estas efektivigita kiel kun ordinaraj dokumentkolektoj, sed la indeksoj kaj stokado-metodo por ili estas optimumigitaj konsiderante la tempreferencon, kiu povas signife redukti la konsumon de diskspaco, redukti prokrastojn en la plenumado de demandoj kaj ebligi realtempajn datumojn. analizo.

    MongoDB traktas tiajn kolektojn kiel skribeblajn, ne-materiigitajn vidojn konstruitajn sur internaj kolektoj kiuj, kiam enmetitaj, aŭtomate grupigas temposeriajn datumojn en optimumigitan stokadformaton. En ĉi tiu kazo, ĉiu tempobazita rekordo estas traktita kiel aparta dokumento kiam pete. Datenoj estas aŭtomate ordigitaj kaj indeksitaj laŭ tempo (ne necesas eksplicite krei tempajn indeksojn).

  • Aldonita subteno por fenestrofunkciigistoj (analizaj funkcioj), kiuj ebligas al vi plenumi agojn kun specifa aro de dokumentoj en la kolekto. Male al entutaj funkcioj, fenestrofunkcioj ne kolapsas la grupigitan aron, sed prefere entutas surbaze de la enhavo de "fenestro" kiu inkludas unu aŭ plurajn dokumentojn de la rezultaro. Por manipuli subaron de dokumentoj, nova etapo $setWindowFields estas proponita, per kiu vi povas, ekzemple, determini la diferencojn inter du dokumentoj en kolekto, kalkuli vendajn rangojn kaj analizi informojn en kompleksaj temposerio.
  • Aldonita subteno por API-versiado, kiu permesas vin ligi aplikaĵon al specifa API-ŝtato kaj forigi la riskojn asociitajn kun ebla malobservo de retrokongruo dum migrado al novaj DBMS-eldonoj. API-versiado apartigas la aplikaĵan vivociklon de la DBMS-vivciklo kaj permesas al programistoj fari ŝanĝojn al la aplikaĵo kiam ekzistas bezono uzi novajn funkciojn, kaj ne dum migrado al nova versio de la DBMS.
  • Aldonita subteno por la Live Resharding-mekanismo, kiu ebligas vin ŝanĝi la breĉetŝlosilojn uzatajn por segmentado sur la flugo sen haltigi la DBMS.
  • La eblecoj por ĉifrado de kampoj ĉe la klientflanko estis pligrandigitaj (Klient-Side Field Level Encryption). Nun eblas reagordi reviziajn filtrilojn kaj turni x509-atestojn sen haltigi la DBMS. Aldonita subteno por agordo de ĉifro por TLS 1.3.
  • Nova komandlinia ŝelo, MongoDB Shell (mongosh), estas proponita, kiu estas evoluigita kiel aparta projekto, skribita en JavaScript uzante la platformon Node.js kaj distribuita sub la licenco Apache 2.0. MongoDB Shell ebligas konekti al la DBMS, ŝanĝi agordojn kaj sendi demandojn. Subtenas inteligentan aŭtokompleton por enigo de metodoj, komandoj kaj MQL-esprimoj, sintaksa reliefigo, kunteksta helpo, analizado de erarmesaĝoj kaj la kapablo vastigi funkciecon per aldonaĵoj. La malnova "mongo" CLI-envolvaĵo estis malrekomendita kaj estos forigita en estonta eldono.
    Dokument-orientita DBMS MongoDB 5.0 havebla
  • Novaj funkciigistoj estis aldonitaj: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate kaj $rand.
  • Certigas, ke indeksoj estas uzataj kiam oni uzas la $eq, $lt, $lte, $gt kaj $gte operatorojn ene de la $expr-esprimo.
  • La agregado, trovi, findAndModify, ĝisdatigi, forigi komandojn kaj la db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() kaj db.collection.remove() metodoj nun subtenas la "let". ” opcio por difini liston de variabloj, kiuj faras komandojn pli legeblaj per apartigo de variabloj de la petokorpo.
  • La operacioj Trovi, kalkuli, distingi, agregar, mapReduce, listCollections kaj listIndexes ne plu blokas se operacio, kiu prenas ekskluzivan seruron sur dokumentkolekto, funkcias paralele.
  • Kadre de iniciato forigi politike malĝustajn terminojn, la komando isMaster kaj db.isMaster() metodo estis renomitaj hello kaj db.hello().
  • La eldona numera skemo estis ŝanĝita kaj transiro estis farita al antaŭvidebla eldonhoraro. Unufoje jare estos signifa eldono (5.0, 6.0, 7.0), ĉiujn trimonatajn mezajn eldonojn kun novaj funkcioj (5.1, 5.2, 5.3) kaj, laŭbezone, korektaj ĝisdatigoj kun eraroj kaj vundeblecoj (5.1.1, 5.1.2). .5.1.3 , 5.1). Intertempaj eldonoj konstruos funkciecon por la venonta grava eldono, t.e. MongoDB 5.2, 5.3 kaj 6.0 provizos novajn funkciojn por la liberigo de MongoDB XNUMX.

fonto: opennet.ru

Aldoni komenton