Tiek prezentÄts uz dokumentiem orientÄtÄs DBVS MongoDB 5.0 izlaidums, kas ieÅem niÅ”u starp ÄtrÄm un mÄrogojamÄm sistÄmÄm, kas izmanto datus atslÄgas/vÄrtÄ«bas formÄtÄ, un relÄciju DBVS, kas ir funkcionÄlas un viegli veidojami vaicÄjumi. MongoDB kods ir rakstÄ«ts C++ valodÄ un tiek izplatÄ«ts saskaÅÄ ar SSPL licenci, kas ir balstÄ«ta uz AGPLv3 licenci, bet nav atvÄrta, jo satur diskriminÄjoÅ”u prasÄ«bu piegÄdÄt saskaÅÄ ar SSPL licenci ne tikai paÅ”u lietojumprogrammas kodu, bet arÄ« avotu. visu mÄkoÅpakalpojuma nodroÅ”inÄÅ”anÄ iesaistÄ«to komponentu kods.
MongoDB atbalsta dokumentu glabÄÅ”anu JSON lÄ«dzÄ«gÄ formÄtÄ, tai ir diezgan elastÄ«ga valoda vaicÄjumu Ä£enerÄÅ”anai, var izveidot indeksus dažÄdiem saglabÄtajiem atribÅ«tiem, efektÄ«vi nodroÅ”ina lielu binÄro objektu uzglabÄÅ”anu, atbalsta operÄciju reÄ£istrÄÅ”anu datu mainÄ«Å”anai un pievienoÅ”anai datu bÄzei, var strÄdÄt saskaÅÄ ar paradigmu Map/Reduce, atbalsta replikÄciju un defektu izturÄ«gu konfigurÄciju konstruÄÅ”anu.
MongoDB ir iebÅ«vÄti rÄ«ki sadalÄ«Å”anas nodroÅ”inÄÅ”anai (datu kopas sadalei starp serveriem, pamatojoties uz noteiktu atslÄgu), apvienojumÄ ar replikÄciju, ļaujot izveidot horizontÄli mÄrogojamu krÄtuves klasteri, kurÄ nav viena kļūmes punkta (kļūmes neviena mezgla darbÄ«ba neietekmÄ datu bÄzes darbÄ«bu), automÄtiska atkopÅ”ana pÄc atteices un slodzes pÄrneÅ”ana no neveiksmÄ«ga mezgla. Klastera paplaÅ”inÄÅ”ana vai viena servera pÄrvÄrÅ”ana par klasteru tiek veikta, neapturot datubÄzi, vienkÄrÅ”i pievienojot jaunas maŔīnas.
JaunÄ laidiena iezÄ«mes:
- Pievienotas datu kolekcijas laikrindu veidÄ (laikrindu kolekcijas), kas optimizÄtas noteiktos intervÄlos reÄ£istrÄto parametru vÄrtÄ«bu slÄÅu glabÄÅ”anai (laiks un vÄrtÄ«bu kopa, kas atbilst Å”im laikam). NepiecieÅ”amÄ«ba uzglabÄt Å”Ädus datus rodas uzraudzÄ«bas sistÄmÄs, finanÅ”u platformÄs un sensoru stÄvokļu aptaujas sistÄmÄs. Darbs ar laikrindu datiem tiek veikts tÄpat kÄ ar parastajÄm dokumentu kolekcijÄm, taÄu to indeksi un uzglabÄÅ”anas metode ir optimizÄta, Åemot vÄrÄ laika atskaiti, kas var ievÄrojami samazinÄt diska vietas patÄriÅu, samazinÄt vaicÄjumu izpildes aizkavi un iespÄjot reÄllaika datus. analÄ«ze.
MongoDB apstrÄdÄ Å”Ädas kolekcijas kÄ rakstÄmus, nematerializÄtus skatus, kas veidoti uz iekÅ”ÄjÄm kolekcijÄm, kas pÄc ievietoÅ”anas automÄtiski grupÄ laikrindu datus optimizÄtÄ krÄtuves formÄtÄ. Å ÄdÄ gadÄ«jumÄ katrs uz laiku balstÄ«ts ieraksts pÄc pieprasÄ«juma tiek uzskatÄ«ts par atseviŔķu dokumentu. Dati tiek automÄtiski sakÄrtoti un indeksÄti pÄc laika (nav nepiecieÅ”ams tieÅ”i izveidot laika indeksus).
- Pievienots atbalsts logu operatoriem (analÄ«tiskajÄm funkcijÄm), kas ļauj veikt darbÄ«bas ar noteiktu dokumentu kopu kolekcijÄ. AtŔķirÄ«bÄ no apkopotajÄm funkcijÄm logu funkcijas nesakļauj grupÄto kopu, bet gan apkopo, pamatojoties uz ālogaā saturu, kurÄ ir iekļauts viens vai vairÄki dokumenti no rezultÄtu kopas. Lai manipulÄtu ar dokumentu apakÅ”kopu, tiek piedÄvÄts jauns $setWindowFields posms, ar kuru varat, piemÄram, noteikt atŔķirÄ«bas starp diviem kolekcijas dokumentiem, aprÄÄ·inÄt pÄrdoÅ”anas klasifikÄciju un analizÄt informÄciju sarežģītÄs laikrindÄs.
- Pievienots API versijas atbalsts, kas ļauj saistÄ«t lietojumprogrammu ar noteiktu API stÄvokli un novÄrst riskus, kas saistÄ«ti ar iespÄjamu atgriezeniskÄs saderÄ«bas pÄrkÄpumu, migrÄjot uz jauniem DBVS laidieniem. API versiju noteikÅ”ana atdala lietojumprogrammas dzÄ«ves ciklu no DBVS dzÄ«ves cikla un ļauj izstrÄdÄtÄjiem veikt izmaiÅas lietojumprogrammÄ, ja ir nepiecieÅ”ams izmantot jaunas funkcijas, nevis migrÄjot uz jaunu DBVS versiju.
- Pievienots atbalsts Live Resharding mehÄnismam, kas ļauj mainÄ«t segmentÄÅ”anai izmantotos shard taustiÅus lidojumÄ, neapturot DBVS.
- Ir paplaÅ”inÄtas iespÄjas Å”ifrÄt laukus klienta pusÄ (Client-Side Field Level Encryption). Tagad ir iespÄjams pÄrkonfigurÄt audita filtrus un pagriezt x509 sertifikÄtus, neapturot DBVS. Pievienots atbalsts Å”ifru komplekta konfigurÄÅ”anai TLS 1.3.
- Tiek piedÄvÄts jauns komandrindas apvalks MongoDB Shell (mongosh), kas tiek izstrÄdÄts kÄ atseviŔķs projekts, rakstÄ«ts JavaScript, izmantojot platformu Node.js, un izplatÄ«ts saskaÅÄ ar Apache 2.0 licenci. MongoDB Shell ļauj izveidot savienojumu ar DBVS, mainÄ«t iestatÄ«jumus un nosÅ«tÄ«t vaicÄjumus. Atbalsta viedo automÄtisko pabeigÅ”anu metožu, komandu un MQL izteiksmju ievadÄ«Å”anai, sintakses izcelÅ”anu, kontekstuÄlo palÄ«dzÄ«bu, kļūdu ziÅojumu parsÄÅ”anu un iespÄju paplaÅ”inÄt funkcionalitÄti, izmantojot pievienojumprogrammas. Vecais "mongo" CLI iesaiÅojums ir novecojis un tiks noÅemts nÄkamajÄ laidienÄ.
- Ir pievienoti jauni operatori: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate un $rand.
- NodroÅ”ina, lai indeksi tiktu izmantoti, izmantojot $eq, $lt, $lte, $gt un $gte operatorus izteiksmÄ $expr.
- Komandas apkopot, atrast, atrastAndModify, atjauninÄt, dzÄst un metodes db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() un db.collection.remove() tagad atbalsta āletā. ā opciju, lai definÄtu mainÄ«go sarakstu, kas padara komandas lasÄmÄkas, atdalot mainÄ«gos no pieprasÄ«juma pamatteksta.
- Atrast, skaitÄ«t, atŔķirt, apkopot, mapReduce, listCollections un listIndexes darbÄ«bas vairs nebloÄ·Ä, ja paralÄli darbojas darbÄ«ba, kas bloÄ·Ä dokumentu kolekciju.
- KÄ daļa no iniciatÄ«vas, lai noÅemtu politiski nepareizus terminus, komanda isMaster un metode db.isMaster() ir pÄrdÄvÄtas par hello un db.hello().
- Ir mainÄ«ta izlaidumu numerÄcijas shÄma un veikta pÄreja uz paredzamu izlaiÅ”anas grafiku. Reizi gadÄ tiks izdots nozÄ«mÄ«gs laidiens (5.0, 6.0, 7.0), ik pÄc trim mÄneÅ”iem starpizlaidumi ar jaunÄm funkcijÄm (5.1, 5.2, 5.3) un, ja nepiecieÅ”ams, koriÄ£ÄjoÅ”ie atjauninÄjumi ar kļūdu labojumiem un ievainojamÄ«bÄm (5.1.1, 5.1.2). .5.1.3 , 5.1). Pagaidu laidieni veidos funkcionalitÄti nÄkamajam lielajam laidienam, t.i. MongoDB 5.2, 5.3 un 6.0 nodroÅ”inÄs jaunas funkcijas MongoDB XNUMX izlaiÅ”anai.
Avots: opennet.ru