Փաստաթղթի վրա հիմնված DBMS MongoDB 5.0 հասանելի է

Ներկայացված է փաստաթղթի վրա հիմնված DBMS MongoDB 5.0-ի թողարկումը, որը տեղ է գրավում արագ և մասշտաբային համակարգերի միջև, որոնք աշխատում են տվյալների բանալին/արժեք ձևաչափով, և հարաբերական DBMS-ների միջև, որոնք ֆունկցիոնալ են և հեշտ են հարցումներ ձևավորել: MongoDB կոդը գրված է C++-ով և տարածվում է SSPL լիցենզիայի ներքո, որը հիմնված է AGPLv3 լիցենզիայի վրա, բայց բաց չէ, քանի որ այն պարունակում է խտրական պահանջ՝ SSPL լիցենզիայի ներքո մատուցելու ոչ միայն հայտի կոդը, այլև աղբյուրը: ամպային ծառայության տրամադրման մեջ ներգրավված բոլոր բաղադրիչների ծածկագիրը:

MongoDB-ն աջակցում է JSON-ի նման ձևաչափով փաստաթղթերի պահպանմանը, ունի հարցումների ստեղծման բավականին ճկուն լեզու, կարող է ստեղծել ինդեքսներ տարբեր պահված ատրիբուտների համար, արդյունավետորեն ապահովում է խոշոր երկուական օբյեկտների պահեստավորում, աջակցում է գործողությունների գրանցումը՝ տվյալների բազան փոխելու և ավելացնելու համար: աշխատել Քարտեզ/Կրճատել պարադիգմի համաձայն, աջակցում է կրկնօրինակմանը և սխալների նկատմամբ հանդուրժող կոնֆիգուրացիաների ստեղծմանը:

MongoDB-ն ունի ներկառուցված փոխանակման գործիքներ (տվյալների հավաքածու բաշխելով սերվերների վրա՝ հիմնված կոնկրետ բանալիի վրա), կրկնօրինակման հետ համատեղ, ինչը թույլ է տալիս կառուցել հորիզոնական մասշտաբավոր պահեստային կլաստեր, որը չունի ձախողման մեկ կետ (ցանկացած հանգույցի ձախողում կա չազդել տվյալների բազայի աշխատանքի վրա), ավտոմատ ձախողում և բեռնափոխադրում ձախողված հանգույցից: Կլաստերի ընդլայնումը կամ մեկ սերվերը կլաստերի վերածելը կատարվում է առանց տվյալների բազան դադարեցնելու՝ պարզապես նոր մեքենաներ ավելացնելով:

Նոր թողարկման առանձնահատկությունները.

  • Տվյալների համար ավելացված հավաքածուներ ժամանակային շարքի տեսքով (ժամանակային շարքերի հավաքածուներ), որոնք օպտիմիզացված են որոշակի ընդմիջումներով գրանցված պարամետրերի արժեքների հատվածները պահելու համար (ժամանակ և այս ժամանակին համապատասխան արժեքների մի շարք): Նման տվյալների պահպանման անհրաժեշտությունը առաջանում է մոնիտորինգի համակարգերում, ֆինանսական հարթակներում և սենսորային վիճակների հարցումների համակարգերում: Ժամանակային շարքերի տվյալների հետ աշխատելն իրականացվում է այնպես, ինչպես սովորական փաստաթղթերի հավաքածուներում, սակայն դրանց ինդեքսները և պահպանման եղանակը օպտիմիզացված են՝ հաշվի առնելով ժամանակի հղումը, ինչը կարող է զգալիորեն նվազեցնել սկավառակի տարածության սպառումը, նվազեցնել հարցումների կատարման ձգձգումները և միացնել իրական ժամանակի տվյալները: վերլուծություն.

    MongoDB-ն վերաբերվում է նման հավաքածուներին որպես գրավոր, ոչ նյութականացված դիտումներ, որոնք կառուցված են ներքին հավաքածուների վրա, որոնք տեղադրվելիս ավտոմատ կերպով խմբավորում են ժամանակային շարքի տվյալները օպտիմիզացված պահպանման ձևաչափի մեջ: Այս դեպքում ժամանակի վրա հիմնված յուրաքանչյուր գրառում, երբ պահանջվում է, դիտարկվում է որպես առանձին փաստաթուղթ: Տվյալները ավտոմատ կերպով պատվիրվում և ինդեքսավորվում են ըստ ժամանակի (կարիք չկա հստակորեն ստեղծել ժամանակային ինդեքսներ):

  • Ավելացվել է պատուհանի օպերատորների աջակցություն (վերլուծական գործառույթներ), որոնք թույլ են տալիս գործողություններ կատարել հավաքածուի փաստաթղթերի որոշակի փաթեթի հետ: Ի տարբերություն ագրեգատային ֆունկցիաների, պատուհանի ֆունկցիաները չեն փլուզում խմբավորված հավաքածուն, այլ ավելի շուտ համախմբում են «պատուհանի» բովանդակության հիման վրա, որը ներառում է մեկ կամ մի քանի փաստաթղթեր արդյունքների հավաքածուից: Փաստաթղթերի ենթաբազմությունը շահարկելու համար առաջարկվում է $setWindowFields նոր փուլ, որի միջոցով կարող եք, օրինակ, որոշել հավաքածուի երկու փաստաթղթերի տարբերությունները, հաշվարկել վաճառքի վարկանիշը և վերլուծել տեղեկատվությունը բարդ ժամանակային շարքերում:
  • Ավելացվել է API-ի տարբերակավորման աջակցություն, որը թույլ է տալիս հավելվածը կապել API-ի որոշակի վիճակի և վերացնել հետընթաց համատեղելիության հնարավոր խախտման հետ կապված ռիսկերը նոր DBMS թողարկումներ տեղափոխելիս: API-ի տարբերակավորումն առանձնացնում է հավելվածի կյանքի ցիկլը DBMS-ի կյանքի ցիկլից և թույլ է տալիս ծրագրավորողներին փոփոխություններ կատարել հավելվածում, երբ անհրաժեշտ է օգտագործել նոր հնարավորություններ, այլ ոչ թե DBMS-ի նոր տարբերակ տեղափոխելիս:
  • Ավելացվեց Live Resharding մեխանիզմի աջակցությունը, որը թույլ է տալիս փոխել բեկորային ստեղները, որոնք օգտագործվում են սեգմենտավորման համար, առանց DBMS-ի դադարեցման:
  • Ընդլայնվել են հաճախորդի կողմից դաշտերի գաղտնագրման հնարավորությունները (Client-Side Field Level Encryption): Այժմ հնարավոր է վերակազմավորել աուդիտի զտիչները և պտտել 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 արտահայտության մեջ:
  • Aggregate, find, findAndModify, update, delete հրամանները և db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() և db.collection.remove() մեթոդներն այժմ աջակցում են «let ” տարբերակ սահմանելու փոփոխականների ցանկ, որոնք հրամաններն ավելի ընթեռնելի են դարձնում՝ փոփոխականները հարցման մարմնից առանձնացնելով:
  • Գտնել, հաշվել, տարբերակել, հավաքել, քարտեզի կրճատում, ցուցակՀավաքածուներ և ցուցակԻնդեքս գործառնություններն այլևս չեն արգելափակվի, եթե փաստաթղթերի հավաքածուի բացառիկ կողպումը կատարող գործողությունը զուգահեռ է ընթանում:
  • Որպես քաղաքականապես ոչ ճիշտ տերմիններ հեռացնելու նախաձեռնության մաս, 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-ի թողարկման համար:

Source: opennet.ru

Добавить комментарий