Pas njĂ« vit zhvillimi, Ă«shtĂ« publikuar versioni i sistemit tĂ« menaxhimit tĂ« tĂ« dhĂ«nave dokumentar MongoDB 6.0, i cili zĂ« njĂ« niĆĂ« midis sistemeve tĂ« shpejta dhe tĂ« shkallĂ«zueshme qĂ« operojnĂ« me tĂ« dhĂ«na nĂ« formatin çelĂ«s/vlerĂ«, dhe sistemeve tĂ« menaxhimit tĂ« tĂ« dhĂ«nave relacionale, funksionale dhe komode pĂ«r formimin e pyetjeve. Kodi i MongoDB Ă«shtĂ« shkruar nĂ« gjuhĂ«n C++ dhe distribuohet nĂ«n licencĂ«n SSPL, e cila bazohet nĂ« licencĂ«n AGPLv3, por nuk Ă«shtĂ« e hapur, pasi pĂ«rmban kĂ«rkesa diskriminuese pĂ«r shpĂ«rndarjen nĂ«n licencĂ«n SSPL jo vetĂ«m tĂ« kodit tĂ« aplikacionit, por edhe tĂ« burimeve tĂ« tĂ« gjitha komponentĂ«ve qĂ« pĂ«rfshihen nĂ« ofrimin e shĂ«rbimeve nĂ« re.
MongoDB mbështet ruajtjen e dokumenteve në formatin e ngjashëm me JSON, ka një gjuhë të mjaftueshme fleksibël për formimin e pyetjeve, mund të krijojë indekse për atribute të ndryshme të ruajtura, siguron ruajtjen efikase të objekteve të mëdha binarë, mbështet regjistrimin e operacioneve për ndryshimin dhe shtimin e të dhënave në DB, mund të punojë sipas paradigmës Map/Reduce, mbështet replikimin dhe ndërtimin e konfigurimeve të qëndrueshme ndaj dështimeve.
Në MongoDB ka mjete të ndërtuara për të siguruar segmentimin (shpërndarja e grupeve të të dhënave në servera mbi një çelës të caktuar), në kombinim me replikimin, që lejojnë ndërtimin e një klasteri ruajtjeje që është horizontalisht i shkallëzueshëm, në të cilin nuk ka një pikë të vetme dështimi (dështimi i çdo nodule nuk ndikon në funksionimin e DB), mbështetet rikuperimi automatik pas dështimit dhe transferimi i ngarkesës nga nodule që ka dalë jashtë funksionit. Zgjerimi i klasterit ose konvertimi i një serverë në klaster bëhet pa ndalur funksionimin e DB duke shtuar thjesht makina të reja.
Karakteristikat kryesore të versionit të ri:
- ĂshtĂ« realizuar mundĂ«sia e kryerjes sĂ« pyetjeve qĂ« pĂ«rfshijnĂ« tĂ« dhĂ«na tĂ« ruajtura nĂ« formĂ« tĂ« enkriptuar (Queryable Encryption). TĂ« dhĂ«nat dekriptohen nĂ« anĂ«n e pĂ«rdoruesit dhe gjatĂ« procesit tĂ« trajtimit tĂ« pyetjes mbeten tĂ« enkriptuara (pyetja kryhet mbi tĂ« dhĂ«na tĂ« enkriptuara, pa i dekryptuar ato paraprakisht). NĂ« formĂ«n aktuale, nĂ« pyetje lejohet vetĂ«m shprehje krahasuese, por nĂ« tĂ« ardhmen planifikohet tĂ« shtohet mbĂ«shtetje pĂ«r kontrollin e intervaleve, prefikseve, sufixeve, nĂ«nstrinjave dhe operacioneve tĂ« tjera.
- JanĂ« zgjeruar mundĂ«sitĂ« e ruajtjes sĂ« tĂ« dhĂ«nave nĂ« formĂ«n e koleksioneve tĂ« serive tĂ« pĂ«rkohshme (time series collections), tĂ« optimizuara pĂ«r ruajtjen e prerjeve tĂ« vlerave tĂ« parametrave, qĂ« regjistrohen nĂ« intervale tĂ« caktuara kohore (koha dhe grumbulli i vlerave pĂ«rkatĂ«se pĂ«r kĂ«tĂ« kohĂ«), pĂ«r shembull, nevoja pĂ«r ruajtjen e kĂ«tij lloji tĂ« dhĂ«nash lind nĂ« sistemet e monitorimit, platformat financiare, sistemet e anketimit tĂ« gjendjeve tĂ« sensorĂ«ve. NĂ« kĂ«tĂ« version tĂ« ri Ă«shtĂ« e mundur pĂ«rdorimi i indekseve sekondare dhe tĂ« kombinuara me koleksionet e tĂ« dhĂ«nave nĂ« formĂ«n e serive tĂ« pĂ«rkohshme. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r bashkĂ«ngjitjen e tĂ« dhĂ«nave shtesĂ«, pĂ«r shembull, informacionin gjeografik pĂ«r tĂ« marrĂ« parasysh distancĂ«n dhe vendndodhjen. ĂshtĂ« pĂ«rmirĂ«suar performanca e leximit, ekzekutimit tĂ« pyetjeve dhe renditjes.
- Shtohen mjete të reja për ndjekjen e ndryshimeve («rrjedhat e ndryshimeve», API Change Streams), me anë të të cilave mund të organizoni dërgimin e njoftimeve për aplikacionet mbi ndryshimin e të dhënave në BD. Informacionet mbi ndryshimet vijnë në kohë reale dhe lejojnë krijimin e aplikacioneve duke përdorur metoda të programimit reaktiv dhe të orientuar nga ngjarjet. Ngjarjet përpunohen me anë të metodës watch, ndërsa ngjarjet e nevojshme mund të filtrohen dhe agregohen me ndihmën e operatorëve $match, $project dhe $redact. Në versionin e ri është ofruar mundësia e marrjes së gjendjes së mëparshme dhe të ardhshme të dokumentit (p.sh., kur dokumenti është fshirë ose ndërruar). Përveç operacioneve që përdorin gjuhën DML (data manipulation language), ofrohet mbështetje për operacione DDL (data definition language), si krijimi dhe fshirja e indekseve dhe koleksioneve. Janë shtuar mjete për filtrimin e njoftimeve asociuara.
- NĂ« operatorĂ«t $lookup dhe $graphlookup Ă«shtĂ« realizuar mbĂ«shtetje e plotĂ« pĂ«r depozitat e sekcionuara (sharded). Performanca e operacionit $lookup Ă«shtĂ« optimizuar, pĂ«r shembull, kur ka njĂ« indeks mbi çelĂ«sin e jashtĂ«m, pĂ«rputhja e njĂ« numri tĂ« vogĂ«l dokumentesh tani realizohet 5-10 herĂ« mĂ« shpejt, ndĂ«rsa pĂ«r njĂ« numĂ«r tĂ« madh â dy herĂ« mĂ« shpejt. PĂ«r pĂ«rputhjet pa pĂ«rdorimin e indekseve, rritja e performancĂ«s mund tĂ« arrijĂ« deri nĂ« 100 herĂ«.
- ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« kryer kĂ«rkesa komplekse analitike mbi prerjet e papĂ«rcontruara (snapshot) tĂ« gjendjes sĂ« tĂ« dhĂ«nave punuese. KĂ«to kĂ«rkesa analitike mund tĂ« mbulojnĂ« disa segmente nĂ« konfiguracione tĂ« mĂ«dha tĂ« shpĂ«rndara MongoDB.
- Janë shtuar operatorët e rinj $maxN, $minN dhe $lastN për të përcaktuar vlerat në një grup të dhënash, si dhe operatori $sortArray për të renditur elementet e listës.
- ĂshtĂ« rritur ndjeshĂ«m efikasiteti i segmentimit. MadhĂ«sia e bllokut e pĂ«rdorur pĂ«r koleksionin e segmentuar Ă«shtĂ« rritur nĂ« 128 MB. ĂshtĂ« shtuar komandĂ«s configureCollectionBalancing pĂ«r tĂ« defragmentuar koleksionin e segmentuar.
- Në mjetet e klientit për enkriptimin e të dhënave në nivel fushor (CSFLE, client-side field-level encryption) është shtuar mbështetje për ofrues të çelësave të pajtueshëm me KMIP.
- ĂshtĂ« shtuar mundĂ«sia e kompresimit dhe enkriptimit tĂ« logut tĂ« auditi, i cili pasqyron aktivitetin e pĂ«rdoruesve tĂ« DBMS.
- ĂshtĂ« realizuar njĂ« mod experimental pĂ«r sinkronizimin e tĂ« dhĂ«nave midis grupeve MongoDB (Cluster-to-Cluster Sync).
Burimi: opennet.ru
