Выпуск Π‘Π£Π‘Π” libmdbx 0.11.7. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° GitFlic послС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² GitHub

Бостоялся выпуск Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libmdbx 0.11.7 (MDBX) с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ встраиваСмой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… класса ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Код libmdbx распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ OpenLDAP Public License. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ всС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ российский Π­Π»ΡŒΠ±Ρ€ΡƒΡ 2000.

Π Π΅Π»ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° сСрвис GitFlic послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ 15 апрСля 2022 Π³ΠΎΠ΄Π° администрация GitHub Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ объяснСния ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΡƒΠ΄Π°Π»ΠΈΠ»Π° libmdbx вмСстС с массой Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π² доступ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, связанным с компаниями, попавшими ΠΏΠΎΠ΄ санкции БША. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, всС страницы, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Ρ„ΠΎΡ€ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ Π² страницу «404», Π±Π΅Π· возмоТности ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΠΈ выяснСния ΠΏΡ€ΠΈΡ‡ΠΈΠ½.

К соТалСнию ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ всС issues, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ вопросов с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ обсуТдСний. Π£Ρ‚Ρ€Π°Ρ‚Π° этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ являСтся СдинствСнным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΡƒΡ‰Π΅Ρ€Π±ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ администрациСй GitHub ΡƒΠ΄Π°Π»ΠΎΡΡŒ нанСсти ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Частично ΠΊΠΎΠΏΠΈΠΈ обсуТдСний ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ доступны Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ archive.org.

ΠŸΠΎΡ‚Π΅Ρ€Ρ отстроСнных CI-сцСнариСв ΠΈ инфраструктуры (доступной для OpenSource-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² бСсплатно) заставила Π·Π°Π½ΡΡ‚ΡŒΡΡ Ρ€Π΅Π²ΠΈΠ·ΠΈΠ΅ΠΉ, ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ устранСниСм нСбольшого Ρ‚Π΅Ρ…Π΄ΠΎΠ»Π³Π°. БСйчас CI восстановлСн ΠΏΠΎΡ‡Ρ‚ΠΈ Π² ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠ΅, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ сборки ΠΈ ΠΏΡ€ΠΎΠ³ΠΎΠ½-тСстов для всСх Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² BSD ΠΈ Solaris. Π§Ρ‚ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ, послС дСйствий со стороны GitHub Π½Π΅ поступило ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, Π½Π΅ считая напоминания ΠΎ нСобходимости ΠΎΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΡΠΏΠΈΡΠ°Ρ‚ΡŒ дСньги.

Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ новости ΠΎ Ρ€Π΅Π»ΠΈΠ·Π΅ libmdbx v0.11.3, ΠΏΠΎΠΌΠΈΠΌΠΎ восстановлСния послС дСйствий GitHub, стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ исправлСния:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ эффСкта/Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° нСкогСрСнтности Π² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½ΠΎΠΌ кэшС страниц ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² Π² ядрС Linux. Π’ систСмах Π³Π΄Π΅ кэш страниц ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½, ядру Π½Π΅Ρ‚ смысла Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ записи Π² ΡƒΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹ΠΉ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ„Π°ΠΉΠ». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ записываСмыС Π΄Π°Π½Π½Ρ‹Π΅ становятся Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² памяти Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ систСмного Π²Ρ‹Π·ΠΎΠ²Π° write(), Π΄Π°ΠΆΠ΅ Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ записаны Π½Π° диск.

    Π‘ΡƒΠΌΠΌΠ°Ρ€Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ слиянии всё Ρ€Π°Π²Π½ΠΎ придётся Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ для списков страниц, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ PTE. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ нСгласноС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ когСрСнтности дСйствовало с 1989 Π³ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π² SRV4 появился unified buffer cache. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ странных сбоСв Π² Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… сцСнариях эксплуатации libmdbx ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ большой Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π³ΠΈΠΏΠΎΡ‚Π΅Π· ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

    БСйчас ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° достовСрно ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π°, Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ устранСна, нСсмотря Π½Π° всю ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ сцСнария воспроизвСдСния. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±Ρ…ΠΎΠ΄Π° Π±Ρ‹Π»Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Erigon (Ethereum), Π² Π΅Π³ΠΎ случаС Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ сборкС срабатываниС Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΎΡΠ²Π»ΡΠ»ΠΎΡΡŒ Π² Π²ΠΈΠ΄Π΅ рСгрСсса ΠΈΠ·-Π·Π° лишнСй assert-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

    Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² контСкстС ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ примСнСния libmdbx Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ обСспСчСниС Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π° Π½Π΅ выяснСниС «ΠΎΡˆΠΈΠ±ΠΊΠ° это ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ» ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠ³Π΅Ρ€Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ поиск ΠΏΡ€ΠΈΡ‡ΠΈΠ½ нСкогСрСнтности Π²Π½ΡƒΡ‚Ρ€ΠΈ ядра Linux. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ здСсь Ρ€Π΅Ρ‡ΡŒ ΠΎΠ± устранСнии ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, которая ΠΌΠΎΠ³Π»Π° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

  • Устранён рСгрСсс возникновСния ошибки EXDEV (Cross-device link) ΠΏΡ€ΠΈ горячСм ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π‘Π” Π±Π΅Π· ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму, ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· API, Ρ‚Π°ΠΊ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ mdbx_copy.
  • Kris Zyp Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ libmdbx Π² Deno. Kai Wetlesen ΠΎΡ„ΠΎΡ€ΠΌΠΈΠ» ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ RPM для Fedora. David Bouyssié Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» привязки для Scala.
  • ΠŸΠΎΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° значСния, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠ΅ΠΉ MDBX_opt_rp_augment_limit ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π‘Π”. Π Π°Π½Π΅Π΅ ΠΈΠ·-Π·Π° ошибки ΠΌΠΎΠ³Π»ΠΈ производится лишниС дСйствия, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² рСализациях Ethereum (Erigon/Akula/Silkworm) ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Binance Chain.
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ масса Π½Π΅Π΄ΠΎΡ‡Ρ‘Ρ‚ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС Π² C++ API. УстранСно ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ со сборкой Π² Ρ€Π΅Π΄ΠΊΠΈΡ… ΠΈ экзотичСских конфигурациях. ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ всСх Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ доступСн Π² ChangeLog.
  • Π‘ΡƒΠΌΠΌΠ°Ρ€Π½ΠΎ внСсСно 185 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² 89 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ β‰ˆ3300 строк, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ β‰ˆ4100. Π£Π΄Π°Π»Π΅Π½ΠΎ большС Π² основном ΠΈΠ·-Π·Π° чистки ΠΎΡ‚ ΡƒΠΆΠ΅ бСсполСзных тСхнологичСских Ρ„Π°ΠΉΠ»ΠΎΠ² связанных с GitHub ΠΈ зависимых сСрвисов.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ libmdbx являСтся Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π‘Π£Π‘Π” LMDB ΠΈ прСвосходит своСго прародитСля ΠΏΠΎ надёТности, Π½Π°Π±ΠΎΡ€Ρƒ возмоТностСй ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ сравнСнии с LMDB, Π² libmdbx большоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся качСству ΠΊΠΎΠ΄Π°, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ API, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ автоматичСским ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌ. ΠŸΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности структуры Π‘Π” с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ возмоТностями восстановлСния.

ВСхнологичСски libmdbx ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ACID, ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ядрам ЦПУ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ автокомпактификация, автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π‘Π”, ΠΎΡ†Π΅Π½ΠΊΠ° ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ (range query estimation). Π‘ 2016 Π³ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ финансируСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Positive Technologies ΠΈ с 2017 Π³ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΅Ρ‘ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ….

Для libmdbx прСдлагаСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΎΠ΅ C++ API, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ энтузиастами привязки ΠΊ языкам Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru