libmdbx жобасы үшін жаңа даму стратегиясы

libmdbx жобасы жаңа даму стратегиясын жариялады, сонымен бірге оның әзірлеу және тарату моделіндегі өзгерісті жариялады. libmdbx бастапқы коды ашық бастапқы код болып қала береді және жоғары сапалы тегін қолдау алады, бірақ әзірлеу енді ішкі түрде жүзеге асырылады, нәтижесі тек біріктірілген түрде жарияланады. Әзірлеу стратегиясында көптен бері жарияланған MithrilDB жобасына көшу туралы жарияланады, ол жалпы API қасбетінде бірнеше дерекқор форматтарын қолдайды. Ескі дерекқорларды қолдау пайдаланушыларға қажет болған жағдайда нақты көрсетілген.

Тест құрылымы мен ішкі құжаттаманы қоса алғанда, бастапқы кодтың барлығы бұрын көпшілікке қолжетімді болғанымен, қазір тек біріктірілген кітапхананың бастапқы коды ғана қолжетімді. Қарапайым түтін сынағы ретінде де қызмет ететін C++ API қолданудың кеңейтілген мысалы жақын арада ұсынылады деп уәде етілді. Мұның себептері презентация слайдтарына енгізілген түсініктемелерде егжей-тегжейлі түсіндірілген. Нақтырақ айтқанда, мақсат - кітапхананы тек оны әзірлеу және терең тестілеу үшін қажет тәуелділіктерсіз толық дамыған түрде жеткізу.

Жарияланған стратегия libmdbx-тің қазіргі уақытта әзірлену үстіндегі және жоспарланған мүмкіндіктерін ашумен қатар, жаңа дерекқор форматының негізгі мүмкіндіктерін және оның ұсынатын мүмкіндіктерін де жариялады:

  • Меркл ағашының үстінде орналасқан, негізгі B+ ағаш құрылымынан құралған жақсартылған префикс ағашы. Құрылым Патрисия ағашына ұқсас болады, бірақ тікелей форматы мен техникалық мәліметтері мүлдем басқаша.
  • Ұзын пернелерді қолдау және префиксті сығымдау. Кардиналдылықты дәл бағалау үшін элементтерді басынан аяғына дейін нөмірлеу. Ағынды режимде үлкен BLOB қолдауы.
  • Жадпен картаға түсірілген дерекқор файлдарын қосымша пайдалану. Деректерді шифрлау және сығуды қолдау.
  • Танымал бағдарламалау тілдеріне автоматты түрде байланыстыру үшін SWIG-ті кеңінен пайдаланатын жаңа API ұсыну.
  • Репликацияны қолдау ReOpenLDAP әзірлеу кезінде жинақталған тәжірибені ескере отырып жүзеге асырылады.

    Жеке презентация кезінде MithrilDB ішінде әртүрлі тілдерде, атап айтқанда C, C++ және Rust тілдерінде жазылған бірнеше іске асыруды біріктіруге тырысатындары, сонымен бірге ашық өзара әрекеттесуді қамтамасыз ететіндері туралы хабарланды (C/C++ қосымшалары Rust іске асыруын пайдалана алады және керісінше).

    Қазіргі уақытта әзірленіп жатқан және жақын арада қолжетімді болатын мүмкіндіктердің ішінде «Кэштелген іздеуді» атап өткен жөн. Ол деректерге сілтемелерді тікелей дерекқорда сақтайды, оның өзектілігін өте жылдам тексереді. Ағаштың түбірінен жапырақ беттеріне дейінгі іздеу тиісті кэш элементін соңғы тексеруден бері өзгермеген бетке жеткен бойда тоқтайды. Осылайша, толық B ағашын іздеудің орнына, соңғы деректерді алудан бергі өзгерістер көлеміне байланысты ең аз мүмкін болатын операциялар саны орындалады. Мұның бәрі біріктірілгенде ондаған мың рет айтарлықтай жылдамдықты қамтамасыз етеді. Ең нашар жағдайда, мұндай «кэштелген» іздеу стандартты іздеуден баяу емес.

    Ақпарат көзі: opennet.ru

  • DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster