DBMS MongoDB 5.0, ки ба ҳуҷҷат нигаронида шудааст, дастрас аст

Нашри DBMS MongoDB 5.0, ки ба ҳуҷҷат нигаронида шудааст, пешниҳод карда мешавад, ки дар байни системаҳои зуд ва миқёспазир, ки маълумотро дар формати калид/арзиш кор мекунанд ва DBMS-ҳои релятсионӣ, ки функсионалӣ ва осон сохтани дархостҳо мебошанд, ҷойгоҳро ишғол мекунад. Рамзи MongoDB дар C++ навишта шудааст ва таҳти литсензияи SSPL, ки ба литсензияи AGPLv3 асос ёфтааст, паҳн карда мешавад, аммо кушода нест, зеро он дорои талаботи табъизӣ барои таҳвили литсензияи SSPL на танҳо худи коди барнома, балки инчунин манбаъ мебошад. рамзи ҳамаи ҷузъҳои марбут ба пешниҳоди хидмати абрӣ.

MongoDB нигоҳдории ҳуҷҷатҳоро дар формати ба JSON монанд дастгирӣ мекунад, дорои забони хеле фасеҳ барои тавлиди дархостҳо, метавонад барои атрибутҳои гуногуни захирашуда индексҳо эҷод кунад, нигоҳдории объектҳои дуии калонро самаранок таъмин кунад, сабти амалиётҳоро барои тағир додан ва илова кардани маълумот ба пойгоҳи додаҳо дастгирӣ мекунад, метавонад мувофиқи парадигмаи Харита/Коҳиш кор кунед, такрорӣ ва сохтани конфигуратсияҳои ба хатогиҳо тобоварро дастгирӣ мекунад.

MongoDB дорои абзорҳои дарунсохт барои таъмини sharding (тақсим кардани маҷмӯи маълумот дар байни серверҳо дар асоси калиди мушаххас) дар якҷоягӣ бо такрорӣ, ба шумо имкон медиҳад, ки кластери нигаҳдории ба таври уфуқӣ миқёсшаванда созед, ки дар он ягон нуқтаи нокомӣ (нокомӣ) мавҷуд нест. ягон гиреҳ ба кори пойгоҳи додаҳо таъсир намерасонад), барқарорсозии худкор пас аз шикаст ва интиқоли сарборӣ аз гиреҳи ноком. Васеъ кардани кластер ё табдил додани як сервер ба кластер бидуни қатъ кардани пойгоҳи додаҳо тавассути илова кардани мошинҳои нав анҷом дода мешавад.

Хусусиятҳои нашри нав:

  • Маҷмӯаҳои иловашуда барои маълумот дар шакли силсилаи вақт (маҷмӯаҳои силсилаи вақт), ки барои нигоҳ доштани қисмҳои арзишҳои параметрҳои дар фосилаҳои муайян сабтшуда оптимизатсия карда шудаанд (вақт ва маҷмӯи арзишҳо ба ин вақт). Зарурати нигоҳ доштани чунин маълумот дар системаҳои мониторинг, платформаҳои молиявӣ ва системаҳои ҳолати сенсории овоздиҳӣ ба миён меояд. Кор бо маълумотҳои силсилаи вақт ҳамчун коллексияи муқаррарии ҳуҷҷатҳо амалӣ карда мешавад, аммо индексҳо ва усули нигоҳдорӣ барои онҳо бо назардошти истинодҳои вақт оптимизатсия карда мешаванд, ки метавонад масрафи фазои дискро ба таври назаррас коҳиш диҳад, таъхирҳоро ҳангоми иҷрои дархостҳо коҳиш диҳад ва қобилияти таҳлили маълумот дар вақти воқеӣ.

    MongoDB ба чунин маҷмӯаҳо ҳамчун намуди навишташаванда ва ғайримоддӣ, ки дар коллексияҳои дохилӣ сохта шудаанд, баррасӣ мекунад, ки ҳангоми ворид шудан маълумоти силсилаи вақтро ба формати нигаҳдории оптимизатсияшуда ба таври худкор гурӯҳбандӣ мекунанд. Дар ин ҳолат, ҳар як сабти ба вақт асосёфта ҳангоми дархост ҳамчун ҳуҷҷати алоҳида баррасӣ карда мешавад. Маълумот ба таври худкор аз рӯи вақт фармоиш ва индексатсия карда мешавад (ба таври возеҳ эҷод кардани индексҳои вақт лозим нест).

  • Дастгирии иловашуда барои операторҳои тиреза (функсияҳои таҳлилӣ), ки ба шумо имкон медиҳанд амалҳоро бо маҷмӯи мушаххаси ҳуҷҷатҳо дар коллексия иҷро кунед. Баръакси функсияҳои маҷмӯӣ, функсияҳои равзана маҷмӯаи гурӯҳшударо вайрон намекунанд, балки дар асоси мундариҷаи “равзана”, ки як ё якчанд ҳуҷҷатҳои маҷмӯи натиҷаҳоро дар бар мегирад, ҷамъ мешаванд. Барои коркарди зермаҷмӯи ҳуҷҷатҳо, марҳилаи нави $setWindowFields пешниҳод карда мешавад, ки шумо метавонед, масалан, фарқияти байни ду ҳуҷҷати коллексияро муайян кунед, рейтингҳои фурӯшро ҳисоб кунед ва маълумотро дар силсилаи мураккаби вақт таҳлил кунед.
  • Дастгирии иловашуда барои версияи API, ки ба шумо имкон медиҳад, ки барномаро ба ҳолати мушаххаси API пайваст кунед ва хатарҳоеро, ки бо вайрон кардани эҳтимолияти мутобиқати ақиб ҳангоми гузаштан ба версияҳои нави DBMS алоқаманданд, бартараф кунед. Версияи API давраи ҳаёти барномаро аз давраи зиндагии DBMS ҷудо мекунад ва ба таҳиягарон имкон медиҳад, ки ба барнома ҳангоми зарурати истифодаи хусусиятҳои нав тағирот ворид кунанд, на ҳангоми гузаштан ба версияи нави DBMS.
  • Дастгирии иловашуда барои механизми Live Resharding, ки ба шумо имкон медиҳад, ки калидҳои пораеро, ки барои сегментатсия истифода мешаванд, бидуни қатъи DBMS тағир диҳед.
  • Имкониятҳои рамзгузории майдонҳо дар тарафи муштарӣ васеъ карда шуданд (Рамзгузории сатҳи Майдони Мизоҷ). Ҳоло имкон дорад, ки филтрҳои аудитиро аз нав танзим кунед ва сертификатҳои x509-ро бидуни қатъи DBMS иваз кунед. Дастгирии иловашуда барои конфигуратсияи маҷмӯи рамзҳо барои TLS 1.3.
  • Шабакаи нави сатри фармонӣ, MongoDB Shell (mongosh) пешниҳод карда мешавад, ки ҳамчун лоиҳаи алоҳида таҳия шуда, дар JavaScript бо истифода аз платформаи Node.js навишта шудааст ва таҳти иҷозатномаи Apache 2.0 паҳн карда мешавад. MongoDB Shell имкон медиҳад, ки ба DBMS пайваст шавед, танзимотро тағир диҳед ва дархостҳо фиристед. Автопуркунии оқилонаро барои ворид кардани усулҳо, фармонҳо ва ифодаҳои MQL, равшансозии синтаксис, кӯмаки контекстӣ, таҳлили паёмҳои хатогӣ ва қобилияти васеъ кардани функсияҳо тавассути иловаҳо дастгирӣ мекунад. Сарпӯши кӯҳнаи "mongo" CLI бекор карда шудааст ва дар нашри оянда хориҷ карда мешавад.
    DBMS MongoDB 5.0, ки ба ҳуҷҷат нигаронида шудааст, дастрас аст
  • Операторҳои нав илова карда шуданд: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate ва $rand.
  • Кафолат медиҳад, ки индексҳо ҳангоми истифодаи операторҳои $eq, $lt, $lte, $gt ва $gte дар дохили ифодаи $expr истифода мешаванд.
  • Усулҳои ҷамъ, пайдо, findAndModify, навсозӣ, нест кардани фармонҳо ва db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() ва db.collection.remove() ҳоло "бигзор"-ро дастгирӣ мекунанд. ” хосият барои муайян кардани рӯйхати тағирёбандаҳо, ки фармонҳоро тавассути ҷудо кардани тағирёбандаҳо аз мақоми дархост хондантар мекунанд.
  • Амалиётҳои ҷустуҷӯ, ҳисоб кардан, фарқ кардан, ҷамъоварӣ кардан, mapReduce, listCollections ва listIndexes дигар баста намешаванд, агар амалиёте, ки қулфи истисноиро дар коллексияи ҳуҷҷатҳо дар як вақт иҷро мекунад.
  • Ҳамчун як қисми ташаббуси нест кардани истилоҳҳои нодурусти сиёсӣ, фармони isMaster ва усули db.isMaster() ба hello ва db.hello() иваз карда шуданд.
  • Нақшаи рақамгузории релизҳо тағир дода шуд ва гузариш ба ҷадвали пешгӯии релиз анҷом дода шуд. Дар як сол як маротиба нашри назаррас (5.0, 6.0, 7.0), ҳар се моҳ релизҳои фосилавӣ бо хусусиятҳои нав (5.1, 5.2, 5.3) ва дар ҳолати зарурӣ навсозиҳои ислоҳкунанда бо ислоҳи хатогиҳо ва осебпазирӣ (5.1.1, 5.1.2) бароварда мешаванд. .5.1.3 , 5.1). Нашрҳои муваққатӣ барои версияи асосии навбатии функсионалӣ бунёд мекунанд, яъне. MongoDB 5.2, 5.3 ва 6.0 барои баровардани MongoDB XNUMX хусусиятҳои нав фароҳам меорад.

Манбаъ: opennet.ru

Илова Эзоҳ