Шағын ендірілген ДҚБЖ libmdbx 0.9.1 шығарылымы

Босатылған кітапхана нұсқасы 0.9.1 libmdbx (MDBX) өнімділігі жоғары, ықшам кірістірілген кілт-мәндік дерекқорды енгізу. libmdbx коды лицензия бойынша таратылады OpenLDAP қоғамдық лицензиясы.

Ағымдағы нұсқа толық C++ қолдауы бар ұзақ мерзімді тұрақты 1.0 нұсқасын шығару ниеті мен жаңа C++ API қатыруға дайын болмағандықтан шығарылымдарды кейінге қалдыруды қаламау арасындағы ымыра. Ұсынылған шығарылым кітапхананы тұрақтандыруға және оның ыңғайлылығын жақсартуға бағытталған 9 айлық жұмыстың нәтижесі болып табылады, сонымен қатар алдын ала нұсқасын қамтиды. C++ API.

libmdbx кітапханасы жай ғана «айыр» емес, түбегейлі қайта жасалған ұрпақ. LMDB — негізделген «кілт-мән» класының транзакциялық ендірілген ДҚБЖ ағаш B+ жоқ проактивті тіркеу, бұл көп ағынды процестерге бөлінген сервер процесінсіз жергілікті ортақ (желіден тыс) дерекқормен бәсекеге қабілетті және тиімді жұмыс істеуге мүмкіндік береді. libmdbx негізі ұзартады бір мезгілде кемшіліктерді жою немесе жеңілдету кезінде оның ата-бабасының мүмкіндіктері. Сонымен қатар, әзірлеушілердің пікірінше, libmdbx LMDB-ге қарағанда сәл жылдамырақ және айтарлықтай сенімдірек.

libmdbx ұсынады ACID, өзгерістерді қатаң сериялау және процессор өзектері бойынша сызықтық масштабтау арқылы блокталмаған оқу. Өнімділікті тексеру нәтижелері (1 ағынды HyperThread режимінде 2 физикалық ядросы бар i4-8U процессорында 7-4600-2-4 ағындарында параллель оқу/іздеу сұрауларын жіберу):

Шағын ендірілген ДҚБЖ libmdbx 0.9.1 шығарылымы

MDBX мен LMDB арасындағы ең маңызды айырмашылықтар:

  • Негізінен код сапасына, API сәйкестігіне, тестілеуге және автоматты тексерулерге көбірек көңіл бөлінеді.
  • Параметрлерді тексеруден дерекқор құрылымдарының ішкі аудитіне дейін жұмыс кезінде айтарлықтай көбірек бақылау.
  • Автоматты ықшамдау және дерекқор өлшемін автоматты басқару.
  • 32 биттік және 64 биттік жинақтарға арналған бірыңғай дерекқор пішімі.
  • Диапазондар бойынша іріктеме көлемдерін бағалау (диапазон сұрауын бағалау).
  • Екі есе ұзын пернелерді және пайдаланушы таңдайтын дерекқор беті өлшемін қолдау.
  • Кейбір қалпына келтіру мүмкіндіктері бар дерекқор құрылымының тұтастығын тексеруге арналған утилита.

Кейінгі негізгі инновациялар мен жақсартулар алдыңғы жаңалықтар 0.5 жылдың қаңтарында 2020 нұсқасын енгізумен:

  • Шұғыл қолдау көрсету және сұрақтарға жауап беру үшін ашық жүйе құрылды. 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

пікір қалдыру