Након годину дана развоја, представљено је издање документно оријентисаног ДБМС МонгоДБ 6.0, који заузима нишу између брзих и скалабилних система који оперишу подацима у формату кључ/вредност, и релационих ДБМС-а који су функционални и лаки за формулисање упита. МонгоДБ код је написан на Ц++ и дистрибуира се под ССПЛ лиценцом, која је заснована на АГПЛв3 лиценци, али није отворена, јер садржи дискриминаторни захтев да се под ССПЛ лиценцом испоручи не само код апликације, већ и изворни код код свих компоненти укључених у пружање услуге у облаку .
МонгоДБ подржава складиштење докумената у ЈСОН формату, има прилично флексибилан језик за генерисање упита, може креирати индексе за различите ускладиштене атрибуте, ефикасно обезбеђује складиштење великих бинарних објеката, подржава евидентирање операција за промену и додавање података у базу података, може ради у складу са парадигмом Мап/Редуце, подржава репликацију и изградњу конфигурација отпорних на грешке.
MongoDB има уграђено шардинг (дистрибуцију скупа података преко сервера на основу одређеног кључа), што, када се комбинује са репликацијом, омогућава изградњу хоризонтално скалабилног кластера за складиштење који нема јединствену тачку отказа (квар било ког чвора не утиче на рад базе података), подржава аутоматски опоравак од отказа и преноси оптерећење са неуспешног чвора. Проширивање кластера или конвертовање једног сервер Кластер се креира без заустављања базе података једноставним додавањем нових машина.
Главне карактеристике новог издања:
- Имплементирана је могућност извршавања упита који покривају податке ускладиштене у шифрованом облику (Куериабле Енцриптион). Подаци се дешифрују на страни корисника и остају шифровани током обраде захтева (захтев се извршава на шифрованим подацима, без претходног дешифровања). У садашњем облику, у упитима су дозвољени само изрази за поређење, али се у будућности планира додати подршка за проверу опсега, префикса, суфикса, подстрингова и других операција.
- Могућности повезане са складиштењем података у облику колекција временских серија су проширене, оптимизоване за чување исечака вредности параметара снимљених у одређеним интервалима (време и скуп вредности који одговарају овом времену), на пример, потреба за складиштење таквих података јавља се у системима за праћење, финансијским платформама, системима за испитивање стања сензора. Ново издање уводи могућност коришћења секундарних и композитних индекса са збиркама података временских серија. Додата подршка за прилагање додатних података, као што су географске информације за праћење удаљености и локације. Побољшане перформансе читања, упита и сортирања.
- Додати су нови алати за праћење промена (“цханге стреамс”, АПИ Цханге Стреамс), помоћу којих можете организовати слање обавештења апликацијама о променама података у бази. Информације о променама се примају у реалном времену и омогућавају вам да креирате апликације користећи технике реактивног програмирања и програмирања засноване на догађајима. Догађаји се обрађују методом гледања, а потребни догађаји се могу филтрирати и агрегирати помоћу оператора $матцх, $пројецт и $редацт. Нова верзија пружа могућност добијања претходног и накнадног стања документа (на пример, када се документ брише или мења). Поред операција које користе језик ДМЛ (језик за манипулацију подацима), обезбеђена је подршка за ДДЛ (језик дефиниције података) операције, као што је креирање и брисање индекса и колекција. Додати алати за филтрирање повезаних обавештења.
- Оператори $лоокуп и $грапхлоокуп пружају пуну подршку за подељено складиштење. Перформансе операције $лоокуп су оптимизоване, на пример, када постоји индекс страног кључа, упаривање малог броја докумената је сада 5-10 пута брже, а подударање великог броја је двоструко брже. За поређења без коришћења индекса, повећање перформанси може бити и до 100к.
- Обезбеђена је могућност извођења сложених аналитичких упита на конзистентним снимцима стања радних података. Такви аналитички упити могу да обухватају више делова у великим дистрибуираним МонгоДБ конфигурацијама.
- Додати су нови оператори $макН, $минН и $ластН за одређивање вредности у скупу података, као и оператор $сортАрраи за сортирање елемената низа.
- Ефикасност сегментације је значајно побољшана. Подразумевана величина блока за сегментирану колекцију је повећана на 128 МБ. Додата наредба цонфигуреЦоллецтионБаланцинг за дефрагментацију сегментиране колекције.
- Шифровање на нивоу поља на страни клијента (ЦСФЛЕ) сада подржава добављаче кључева компатибилне са КМИП.
- Додата могућност компресије и шифровања евиденције ревизије, која одражава активност корисника ДБМС-а.
- Имплементиран је експериментални начин синхронизације података између МонгоДБ кластера (Цлустер-то-Цлустер Синц).
Извор: опеннет.ру
