Баримт бичигт суурилсан DBMS MongoDB 5.0 боломжтой

Түлхүүр/утга форматаар өгөгдөл ажиллуулдаг хурдан бөгөөд өргөтгөх боломжтой системүүд болон ажиллагаатай, асуулга үүсгэхэд хялбар харилцааны DBMS-ийн хооронд байр суурийг эзэлдэг баримт бичигт чиглэсэн DBMS MongoDB 5.0-ийг танилцуулж байна. MongoDB код нь C++ хэл дээр бичигдсэн бөгөөд AGPLv3 лиценз дээр суурилсан SSPL лицензийн дагуу түгээгдсэн боловч SSPL лицензийн дагуу зөвхөн програмын код төдийгүй эх сурвалжийн дагуу хүргэх ялгаварлан гадуурхах шаардлагыг агуулсан тул нээлттэй биш юм. үүлэн үйлчилгээг үзүүлэхэд оролцдог бүх бүрэлдэхүүн хэсгүүдийн код .

MongoDB нь баримт бичгийг JSON шиг форматаар хадгалахыг дэмждэг, асуулга үүсгэх уян хатан хэлтэй, янз бүрийн хадгалагдсан атрибутуудад индекс үүсгэж чаддаг, хоёртын том объектуудын хадгалалтыг үр ашигтайгаар хангадаг, өгөгдлийн санд өгөгдлийг өөрчлөх, нэмэх үйлдлүүдийн бүртгэлийг дэмждэг. "Газрын зураг/багасгах" парадигмын дагуу ажиллах, алдааг тэсвэрлэх чадвартай тохиргоог хуулбарлах, бүтээхийг дэмждэг.

MongoDB нь хуулбарлахтай хослуулан хуваах (тодорхой түлхүүр дээр тулгуурлан серверүүдэд өгөгдлийг түгээх) суурилуулсан хэрэгслүүдтэй бөгөөд энэ нь танд ямар ч алдаа гарахгүй хэвтээ байдлаар өргөтгөх боломжтой хадгалах кластер байгуулах боломжийг олгодог. аливаа зангилаа нь өгөгдлийн сангийн үйл ажиллагаанд нөлөөлөхгүй), бүтэлгүйтлийн дараа автоматаар сэргээх, бүтэлгүйтсэн зангилаанаас ачааллыг шилжүүлэх. Кластерыг өргөжүүлэх эсвэл нэг серверийг кластер болгон хөрвүүлэх нь мэдээллийн санг зогсоохгүйгээр шинэ машин нэмэх замаар хийгддэг.

Шинэ хувилбарын онцлогууд:

  • Тодорхой интервалаар бүртгэгдсэн параметрийн утгуудын зүсмэлүүдийг (цаг хугацаа ба энэ хугацаанд харгалзах утгын багц) хадгалахад оновчтой болгосон хугацааны цуврал (цаг хугацааны цуврал цуглуулга) хэлбэрээр өгөгдлийн цуглуулгуудыг нэмсэн. Ийм өгөгдлийг хадгалах хэрэгцээ нь хяналтын систем, санхүүгийн платформ, санал асуулгын мэдрэгчийн төлөвт зориулсан системд үүсдэг. Хугацааны цувааны өгөгдөлтэй ажиллах нь ердийн баримт бичгийн цуглуулгын нэгэн адил хийгддэг боловч тэдгээрийн индекс, хадгалах аргыг цаг хугацааны лавлагааг харгалзан оновчтой болгодог бөгөөд энэ нь дискний зайны зарцуулалтыг эрс багасгаж, асуулга гүйцэтгэх саатлыг бууруулж, бодит цагийн өгөгдлийг идэвхжүүлдэг. шинжилгээ.

    MongoDB ийм цуглуулгуудыг дотоод цуглуулгууд дээр бүтээгдсэн бичих боломжтой, материаллаг бус харагдац гэж үздэг бөгөөд тэдгээрийг оруулах үед цагийн цувааны өгөгдлийг оновчтой хадгалах формат руу автоматаар бүлэглэдэг. Энэ тохиолдолд цаг хугацааны бүртгэл бүрийг хүсэлт гаргасан тохиолдолд тусдаа баримт бичиг болгон авч үздэг. Өгөгдлийг автоматаар эрэмбэлж, цаг хугацаагаар нь индексжүүлдэг (цаг хугацааны индексийг тодорхой үүсгэх шаардлагагүй).

  • Цуглуулга дахь тодорхой багц баримт бичгүүдтэй үйлдэл хийх боломжийг олгодог цонхны операторуудын дэмжлэг (шинжилгээний функцууд) нэмэгдсэн. Цонхны функцууд нь нэгтгэх функцээс ялгаатай нь бүлэглэсэн багцыг задлахгүй, харин үр дүнгийн багцаас нэг буюу хэд хэдэн баримт бичгийг агуулсан "цонх"-ын агуулгад үндэслэн нэгтгэдэг. Баримт бичгийн дэд багцыг удирдахын тулд $setWindowFields-ийн шинэ үе шатыг санал болгож байгаа бөгөөд үүний тусламжтайгаар та жишээ нь цуглуулга дахь хоёр баримт бичгийн ялгааг тодорхойлох, борлуулалтын зэрэглэлийг тооцоолох, нарийн төвөгтэй цаг хугацааны цувралд мэдээлэлд дүн шинжилгээ хийх боломжтой.
  • API хувилбарын дэмжлэгийг нэмсэн бөгөөд энэ нь танд програмыг тодорхой API төлөвт холбож, DBMS-ийн шинэ хувилбарууд руу шилжих үед хоцрогдсон нийцтэй байдлын зөрчилтэй холбоотой эрсдлийг арилгах боломжийг олгодог. API хувилбар нь програмын амьдралын мөчлөгийг DBMS-ийн амьдралын мөчлөгөөс тусгаарлаж, хөгжүүлэгчид DBMS-ийн шинэ хувилбар руу шилжих үед биш харин шинэ боломжуудыг ашиглах шаардлагатай үед програмд ​​өөрчлөлт оруулах боломжийг олгодог.
  • DBMS-ийг зогсоохгүйгээр сегментчилэхэд ашигласан хэлтэрхий товчлууруудыг шууд өөрчлөх боломжийг олгодог Live Resharding механизмын дэмжлэгийг нэмсэн.
  • Үйлчлүүлэгч тал дээрх талбаруудыг шифрлэх боломжуудыг өргөжүүлсэн (Client-Side Field Level Encryption). DBMS-ийг зогсоохгүйгээр аудитын шүүлтүүрүүдийг дахин тохируулах, x509 сертификатуудыг эргүүлэх боломжтой боллоо. TLS 1.3-д зориулсан шифрийн багцыг тохируулах дэмжлэг нэмэгдсэн.
  • MongoDB Shell (mongosh) командын шугамын шинэ бүрхүүлийг санал болгож байгаа бөгөөд үүнийг тусдаа төсөл болгон боловсруулж, Node.js платформ ашиглан JavaScript дээр бичиж, Apache 2.0 лицензийн дагуу тарааж байна. MongoDB Shell нь DBMS-тэй холбогдох, тохиргоог өөрчлөх, асуулга илгээх боломжтой болгодог. Арга, команд, MQL илэрхийлэл оруулах, синтакс тодруулах, контекст тусламж, алдааны мэдээг задлан шинжлэх, нэмэлт хэрэглүүрээр дамжуулан функцийг өргөтгөх чадварыг автоматаар автоматаар гүйцээхийг дэмждэг. Хуучин "mongo" CLI боодол нь хуучирсан бөгөөд дараагийн хувилбарт устгагдах болно.
    Баримт бичигт суурилсан DBMS MongoDB 5.0 боломжтой
  • Шинэ операторууд нэмэгдсэн: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate болон $rand.
  • $expr илэрхийлэл дотор $eq, $lt, $lte, $gt болон $gte операторуудыг ашиглах үед индексүүдийг ашиглахыг баталгаажуулна.
  • Одоо нэгтгэх, олох, findAndModify, шинэчлэх, устгах командууд болон db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() болон db.collection.remove() аргууд нь одоо "let"-ийг дэмждэг болсон. ” сонголт нь хувьсагчдыг хүсэлтийн хэсгээс салгаснаар командуудыг уншихад хялбар болгодог хувьсагчдын жагсаалтыг тодорхойлох боломжтой.
  • Баримт бичгийн цуглуулгад онцгой түгжээ авдаг үйлдэл зэрэгцээ ажиллаж байгаа тохиолдолд олох, тоолох, ялгах, нэгтгэх, 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). Завсрын хувилбарууд нь дараагийн томоохон хувилбарт зориулсан функцийг бий болгоно, i.e. MongoDB 5.2, 5.3, 6.0 нь MongoDB XNUMX-ийг гаргахад шинэ боломжуудыг олгоно.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх