Magamit ang DBMS MongoDB 5.0 nga nakabase sa dokumento

Gipresentar ang pagpagawas sa DBMS MongoDB 5.0 nga nakabase sa dokumento, nga nag-okupar sa usa ka niche tali sa paspas ug scalable nga mga sistema nga naglihok sa datos sa key/value format, ug mga relational nga DBMS nga magamit ug dali nga maporma ang mga pangutana. Ang MongoDB code gisulat sa C ++ ug giapod-apod ubos sa SSPL nga lisensya, nga gibase sa AGPLv3 nga lisensya, apan dili bukas, tungod kay kini adunay usa ka discriminatory nga kinahanglanon sa paghatud ubos sa SSPL nga lisensya dili lamang sa aplikasyon code sa iyang kaugalingon, apan usab sa tinubdan kodigo sa tanang sangkap nga nalangkit sa paghatag sa serbisyo sa panganod .

Gisuportahan sa MongoDB ang pagtipig sa mga dokumento sa usa ka format nga sama sa JSON, adunay usa ka medyo flexible nga pinulongan alang sa pagmugna og mga pangutana, makahimo og mga indeks alang sa nagkalain-laing gitipigan nga mga hiyas, epektibo nga naghatag og pagtipig sa dagkong binary nga mga butang, nagsuporta sa pag-log sa mga operasyon alang sa pagbag-o ug pagdugang sa datos sa database, mahimo pagtrabaho uyon sa paradigm Map/Reduce, nagsuporta sa pagkopya ug pagtukod sa mga pagsupak sa sayop nga pagtugot.

Ang MongoDB adunay built-in nga mga himan alang sa paghatag sharding (pag-apod-apod sa usa ka set sa datos sa mga server base sa usa ka piho nga yawe), inubanan sa replikasyon, nga nagtugot kanimo sa pagtukod sa usa ka horizontally scalable storage cluster diin walay usa ka punto sa kapakyasan (ang kapakyasan. sa bisan unsang node dili makaapekto sa operasyon sa database), awtomatik nga pagbawi human sa usa ka kapakyasan ug pagbalhin sa load gikan sa usa ka napakyas nga node. Ang pagpalapad sa usa ka cluster o pag-convert sa usa ka server ngadto sa usa ka cluster gihimo nga walay paghunong sa database pinaagi lamang sa pagdugang sa bag-ong mga makina.

Mga bahin sa bag-ong pagpagawas:

  • Gidugang nga mga koleksyon alang sa datos sa porma sa usa ka serye sa oras (mga koleksyon sa serye sa oras), na-optimize alang sa pagtipig sa mga hiwa sa mga kantidad sa parameter nga natala sa pipila nga mga agwat (oras ug usa ka hugpong sa mga kantidad nga katumbas sa kini nga oras). Ang panginahanglan sa pagtipig sa maong mga datos mitungha sa mga sistema sa pagmonitor, mga pinansyal nga plataporma, ug mga sistema alang sa mga estado sa sensor sa botohan. Ang pagtrabaho kauban ang mga datos sa serye sa oras gihimo sama sa ordinaryong mga koleksyon sa dokumento, apan ang mga indeks ug pamaagi sa pagtipig alang kanila gi-optimize nga gikonsiderar ang reperensiya sa oras, nga mahimo’g makunhuran ang pagkonsumo sa wanang sa disk, makunhuran ang mga paglangan sa pagpatuman sa mga pangutana ug mahimo ang datos sa tinuud nga oras. pagtuki.

    Gitratar sa MongoDB ang maong mga koleksyon ingon nga masulat, dili-materyalisado nga mga panan-aw nga gitukod sa mga internal nga koleksyon nga, kung gisal-ot, awtomatik nga gigrupo ang datos sa serye sa oras sa usa ka na-optimize nga format sa pagtipig. Sa kini nga kaso, ang matag gibase sa oras nga rekord giisip nga usa ka bulag nga dokumento kung gihangyo. Awtomatiko nga gi-order ug gi-index ang datos sa oras (dili kinahanglan nga klaro nga maghimo mga indeks sa oras).

  • Gidugang nga suporta alang sa mga operator sa bintana (analytical functions) nga nagtugot kanimo sa paghimo sa mga aksyon nga adunay usa ka piho nga hugpong sa mga dokumento sa koleksyon. Dili sama sa mga aggregate functions, ang mga function sa bintana dili mo-collapse sa gigrupo nga set, kondili mag-aggregate base sa sulod sa usa ka "window" nga naglakip sa usa o daghan pa nga mga dokumento gikan sa resulta set. Aron mamanipula ang usa ka subset sa mga dokumento, usa ka bag-ong yugto sa $setWindowFields ang gisugyot, diin mahimo nimo, pananglitan, mahibal-an ang mga kalainan tali sa duha nga mga dokumento sa usa ka koleksyon, kuwentahon ang mga ranggo sa pagpamaligya, ug analisahon ang kasayuran sa komplikado nga serye sa oras.
  • Gidugang nga suporta alang sa API versioning, nga nagtugot kanimo sa pagbugkos sa usa ka aplikasyon ngadto sa usa ka piho nga API nga estado ug pagwagtang sa mga risgo nga nalangkit sa usa ka posible nga paglapas sa atras nga pagkaangay kon molalin ngadto sa bag-ong DBMS releases. Ang pag-bersyon sa API nagbulag sa siklo sa kinabuhi sa aplikasyon gikan sa siklo sa kinabuhi sa DBMS ug gitugotan ang mga developer nga maghimo mga pagbag-o sa aplikasyon kung kinahanglan nga mogamit mga bag-ong bahin, ug dili kung mobalhin sa usa ka bag-ong bersyon sa DBMS.
  • Gidugang nga suporta alang sa mekanismo sa Live Resharding, nga nagtugot kanimo sa pagbag-o sa mga yawe sa shard nga gigamit alang sa pagbahin sa langaw nga wala’y paghunong sa DBMS.
  • Ang mga posibilidad sa pag-encrypt sa mga natad sa bahin sa kliyente gipalapdan (Client-Side Field Level Encryption). Posible na karon nga i-reconfigure ang mga filter sa pag-audit ug i-rotate ang mga sertipiko sa x509 nga dili mohunong sa DBMS. Gidugang nga suporta alang sa pag-configure sa cipher suite alang sa TLS 1.3.
  • Usa ka bag-ong command line shell, MongoDB Shell (mongosh), ang gisugyot, nga gihimo isip usa ka bulag nga proyekto, gisulat sa JavaScript gamit ang Node.js nga plataporma ug giapod-apod ubos sa Apache 2.0 nga lisensya. Gipaposible sa MongoDB Shell ang pagkonektar sa DBMS, pag-usab sa mga setting ug pagpadala og mga pangutana. Nagsuporta sa intelihente nga autocompletion alang sa pagsulod sa mga pamaagi, mga mando ug mga ekspresyon sa MQL, pag-highlight sa syntax, tabang sa konteksto, pag-parse sa mga mensahe sa sayup ug ang abilidad sa pagpalapad sa pagpaandar pinaagi sa mga add-on. Ang daan nga "mongo" CLI wrapper wala na gamita ug tangtangon sa umaabot nga pagpagawas.
    Magamit ang DBMS MongoDB 5.0 nga nakabase sa dokumento
  • Bag-ong mga operator gidugang: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate ug $rand.
  • Siguruha nga ang mga indeks gigamit kung gigamit ang $eq, $lt, $lte, $gt ug $gte nga mga operator sa sulod sa $ expr nga ekspresyon.
  • Ang aggregate, find, findAndModify, update, delete commands ug ang db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() ug db.collection.remove() mga pamaagi karon nagsuporta sa “let ” kapilian sa paghubit sa usa ka lista sa mga variable nga naghimo sa mga sugo nga mas mabasa pinaagi sa pagbulag sa mga variable gikan sa lawas sa hangyo.
  • Ang pagpangita, pag-ihap, paglainlain, pagtipon, mapReduce, listCollections, ug listIndexes nga mga operasyon dili na babagan kung ang usa ka operasyon nga nagkuha usa ka eksklusibo nga kandado sa usa ka koleksyon sa dokumento nagdagan nga managsama.
  • Isip kabahin sa usa ka inisyatiba sa pagtangtang sa politikanhong sayop nga mga termino, ang isMaster command ug db.isMaster() nga pamaagi giilisan og hello ug db.hello().
  • Ang iskema sa pag-numero sa pagpagawas giusab ug usa ka transisyon ang gihimo ngadto sa matag-an nga eskedyul sa pagpagawas. Kausa sa usa ka tuig adunay usa ka hinungdanon nga pagpagawas (5.0, 6.0, 7.0), matag tulo ka bulan nga intermediate nga pagpagawas nga adunay bag-ong mga bahin (5.1, 5.2, 5.3) ug, kung kinahanglan, mga pag-update sa pagtul-id nga adunay mga pag-ayo sa bug ug mga kahuyangan (5.1.1, 5.1.2). .5.1.3 , 5.1). Ang mga interim nga pagpagawas magtukod og gamit alang sa sunod nga mayor nga pagpagawas, i.e. Ang MongoDB 5.2, 5.3, ug 6.0 maghatag ug bag-ong mga bahin alang sa pagpagawas sa MongoDB XNUMX.

Source: opennet.ru

Idugang sa usa ka comment