Компакт суулгагдсан DBMS libmdbx хувилбар 0.9.1

Суллагдсан номын сангийн хувилбар 0.9.1 libmdbx (MDBX) өндөр хүчин чадалтай, авсаархан суулгагдсан түлхүүр-утга мэдээллийн сангийн хэрэгжилт. libmdbx кодыг лицензийн дагуу түгээдэг OpenLDAP нийтийн лиценз.

Одоогийн хувилбар нь C++-ийн бүрэн дэмжлэгтэй, урт хугацааны тогтвортой 1.0 хувилбарыг гаргах хүсэл болон шинэ C++ API-г хөлдөөх бэлтгэлгүй байсны улмаас гарах хугацааг хойшлуулахыг хүсэхгүй байгаа хоёрын хооронд буулт хийсэн хувилбар юм. Энэхүү танилцуулга нь номын санг тогтворжуулах, ашиглалтыг сайжруулахад чиглэсэн 9 сарын ажлын үр дүн бөгөөд урьдчилсан хувилбарыг багтаасан болно. C++ API.

libmdbx номын сан нь зүгээр нэг "салаа" биш, харин эрс шинэчлэгдсэн үр удам юм. LMDB — үндсэн дээр суурилсан “түлхүүр-утга” ангиллын гүйлгээний суулгагдсан DBMS мод B+ ямар ч идэвхтэй мод бэлтгэх, энэ нь олон урсгалтай процессууд нь тусгай серверийн процессгүйгээр орон нутгийн хуваалцсан (сүлжээний бус) мэдээллийн сантай өрсөлдөхүйц, үр дүнтэй ажиллах боломжийг олгодог. libmdbx үндсэндээ өргөжиж байна түүний өвөг дээдсийн чадавхийг нэгэн зэрэг арилгахын зэрэгцээ сул талыг арилгах эсвэл багасгах. Үүний зэрэгцээ, хөгжүүлэгчдийн үзэж байгаагаар libmdbx нь LMDB-ээс арай хурдан бөгөөд илүү найдвартай.

libmdbx санал болгож байна ХҮЧИЛ, өөрчлөлтүүдийг хатуу цуваа болгох, CPU-ийн цөмд шугаман масштабаар хаагдахгүй унших. Гүйцэтгэлийн туршилтын үр дүн (1-thread HyperThread горимд 2 физик цөм бүхий CPU i4-8U дээр 7-4600-2-4 урсгалаар зэрэгцээ унших/хайх хүсэлт илгээх):

Компакт суулгагдсан DBMS libmdbx хувилбар 0.9.1

MDBX болон LMDB хоорондын хамгийн чухал ялгаа:

  • Үндсэндээ кодын чанар, API нийцтэй байдал, туршилт, автомат шалгалт зэрэгт илүү их анхаарал хандуулдаг.
  • Ашиглалтын явцад параметрүүдийг шалгахаас эхлээд мэдээллийн сангийн бүтцийн дотоод аудит хүртэл мэдэгдэхүйц илүү хяналт.
  • Автомат нягтаршил, мэдээллийн сангийн хэмжээг автоматаар удирдах.
  • 32 ба 64 битийн угсралтад зориулсан мэдээллийн сангийн нэг формат.
  • Түүврийн хэмжээг мужаар тооцох (мужийн асуулгын тооцоо).
  • Хоёр дахин урт товчлуурууд болон хэрэглэгчийн сонгох боломжтой мэдээллийн сангийн хуудасны хэмжээг дэмждэг.
  • Зарим сэргээх боломж бүхий мэдээллийн сангийн бүтцийн бүрэн бүтэн байдлыг шалгах хэрэгсэл.

Дараа нь гол шинэчлэл, сайжруулалт өмнөх мэдээ 0.5 оны 2020-р сард XNUMX хувилбарыг танилцуулснаар:

  • Шуурхай дэмжлэг үзүүлэх, асуултад хариулах нээлттэй системийг бий болгосон. Telegram групп.
  • Арав гаруй алдаа, дутагдлыг арилгасан (харна уу. өөрчлөлтийн бүртгэл).
  • Маш олон үсгийн алдаа, зөв ​​бичгийн алдааг засч, олон тооны гоо сайхны сайжруулалт хийсэн.
  • Туршилтын хувилбаруудыг өргөжүүлсэн.
  • iOS, Android-д зориулсан дэмжлэг, Buildroot, мусл, uClibc, WSL1 и Дарс.
  • C++ API-ийн урьдчилж харах хувилбар гарсан нэг толгой файл.
  • Doxygen форматтай, автоматаар үүсгэсэн баримт бичиг Онлайн баримт бичиг.
  • Нэгдсэн эх бичвэр бүхий архивыг автоматаар үүсгэх боломжтой.
  • Гүйлгээ, курсор, гүйлгээний хэрэглэгчийн контекст, курсор бэлтгэхэд зориулсан дэмжлэг нэмэгдсэн.
  • B+tree MVCC агшин зуурын агшин зуурын лавлагааны бүрэн бүтэн байдлыг хянах нэмэлт аргуудыг хэрэгжүүлсэн.
  • Мэдээллийн сангийн MVCC агшин зуурын агшинг шалгах дэмжлэгийг нэмсэн бөгөөд үүнийг сэргээхээр солих боломжтой ямар ч мета хуудсаар дамжуулан үзэх боломжтой.
  • Туршилтын зорилгоор мэдээллийн санг нэг процессоос дахин нээх дэмжлэгийг хэрэгжүүлсэн.
  • Өгөгдлийн санг нээх үед MDBX_NOSUBDIR тохируулгын автомат боловсруулалтыг хэрэгжүүлсэн.
  • Хөвөгч цэгийн утгууд болон JavaScript "бүх нийтийн" тооноос бүхэл тоо үүсгэх функцүүдийг нэмсэн.
  • Нийтдээ 430 файлд нөлөөлж 93 өөрчлөлт хийж, 25 мянга гаруй мөр нэмж, 8.5 мянга гаруй мөрийг устгасан.

libmdbx-ийн дараагийн хөгжүүлэлт нь эцсийн C++ API, үндсэн кодыг цаашид тогтворжуулах, номын сангийн ашиглалтыг сайжруулах, түгээмэл Linux түгээлтийн сав баглаа боодол дээр төвлөрнө. Санал болгож буй сайжруулалтуудын дунд форматын түлхүүрүүдийн дэмжлэгийг тэмдэглэх нь зүйтэй MessagePack.

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

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