The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск высокопроизводительной встраиваемой СУБД libmdbx 0.9.2

27.11.2020 12:38

После двух месяцев разработки состоялся выпуск библиотеки libmdbx 0.9.2 (MDBX) с реализацией высокопроизводительной, компактной встраиваемой базы данных класса ключ-значение. Код libmdbx распространяется под лицензией OpenLDAP Public License. libmdbx является глубокой переработкой СУБД LMDB и по заявлению разработчиков превосходит своего прародителя по надежности, набору возможностей и производительности.

Libmdbx предлагает ACID, строгую сериализацию изменений и неблокирующее чтение с линейным масштабированием по ядрам CPU. В libmdbx большое внимание уделяется качеству кода, стабильной работе API, тестированию и автоматическим проверкам. Поддерживается автокомпактификация, автоматическое управление размером БД, единый формат БД для 32-битных и 64-битных сборок, оценка объёма выборок по диапазонам (range query estimation). Поставляется утилита проверки целостности структуры БД с некоторыми возможностями восстановления. C 2016 года проект финансируется компанией Positive Technologies и c 2017 года используется в её продуктах.

Основные новшества, доработки и исправления, добавленные после прошлого выпуска:

  • Доступны привязки для Nim (автор Jens Alfke, архитектор в Couchbase) и Rust (автор Clément Renault, основатель MeiliSearch).
  • Доступен пакет для buildroot (ожидается обновление).
  • Устранено более 20 ошибок и недочетов, в том числе обеспечена работа на Windows 2000/XP (для Miranda NG).
  • Добавлены функции копирования курсоров, безопасного удаления файлов БД в многопроцеcсной среде и функционал поиска lowerbound для multimap (с поддержкой сортировки multi-value элементов). Ускорено завершение вложенных транзакций.
  • Расширены внутренние тесты, в том числе для применения библиотеки в TurboGeth/Ethereum.
  • Продолжено совершенствование online документации.
  • Суммарно внесено более 130 изменений, удалено ~1200 строк, добавлено ~3500.


  1. Главная ссылка к новости (https://github.com/erthink/lib...)
  2. OpenNews: Выпуск компактной встраиваемой СУБД libmdbx 0.9.1
  3. OpenNews: Опубликован второй кандидат в релизы встраиваемой СУБД libmdbx 1.0
  4. OpenNews: Доступен ReOpenLDAP 1.1.6, форк проекта OpenLDAP
  5. OpenNews: Выпуск библиотеки хэш-функций Fast Positive Hash 2.0.1
  6. OpenNews: Выпуск LDAP-сервера ReOpenLDAP 1.1.9
Автор новости: erthink
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54153-libmdbx
Ключевые слова: libmdbx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (101) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:00, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И как оно, стоит использовать?
     
     
  • 2.38, trdm (ok), 00:08, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот всегда думал как же эту фигню используют?
    пример использования можно?
     
     
  • 3.52, abu (?), 15:19, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как пишут, ноги растут из СУБД LMDB. А она используется, насколько помню, в OpenLDAP, например. Выбираешь в конфиге, как хранить данные, выбираешь lmdb, собственно - начинает хранить. А в OpenLDAP уж ключей-значений, по очевидным причинам, просто завались.  
     
  • 2.63, Аноним (63), 19:21, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не следует Используя эту базу вы продвигаете её в результате чего она может по... большой текст свёрнут, показать
     
     
  • 3.64, erthink (ok), 19:24, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лечитесь, еще есть шансы.
     
     
  • 4.79, Страшный аноним (?), 13:22, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Походу это - неоперабельный случай.
    Вы заметили как это либероидного ананима бомбануло от осуждения гитлера и бандеры? Как черта от православного креста.
    Зачем-то приплел закон Яровой, забыв упомянуть про тотальный контроль и прослушку америкнанской АНБ, Сноудена, Асанжа и других политзаключенных так называемого "Запада".
    Хотя... это же "демократы", они фиалками какают и все делают для демократии, даже бомбят свадьбы в Афганистане и Ираке исключительно демократическими гуманными бомбами - у них там в соросовских методичках именно так и написано.
     
     
  • 5.83, Michael Shigorin (ok), 10:55, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем-то приплел закон Яровой

    Вишенка на торте: Яровая-то в политику пришла через "Яблоко".  Так что когда начинают вопить -- так и стоит возражать: "но это же ваша баба!" :]

     
     
  • 6.90, Аноним (90), 00:46, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо софистики, она в сторону проживавших какое-то время в/на Украине тоже работает с равно абсурдными результатами. Тут более с Пеньковским сравнение уместно.
     
  • 6.101, Аноним (-), 09:53, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вишенка на торте: Яровая-то в политику пришла через "Яблоко".  Так что
    > когда начинают вопить -- так и стоит возражать: "но это же ваша баба!" :]

    Это баба-хамелеон: перекрашивается в тот цвет который в данный момент наиболее выгоден. И конечно она ничья - хапает с кормушки себе.

     
  • 5.100, Аноним (-), 09:44, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы заметили как это либероидного ананима бомбануло от осуждения гитлера и бандеры?
    > Как черта от православного креста.

    Тут проблема в том что это некое дополнительное ограничение, при том указанное где-то сбоку, при отсылке к типовой лицензии на видном месте. К тому же мало ли что еще завтра автор напишет. Может ему цвет кожи не понравится, или там разрез глаз. Зря он это, политоту в софт тащит. Можно подумать, сторонники перечисленных базу key-value себе не найдут.

     
  • 4.92, Аноним (92), 21:56, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Судя по твоему bio на жидхабе тебе самому надо лечиться
     

  • 1.2, Lex (??), 14:06, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Чем оно лучше/хуже в сравнении с той же SQLite ?
     
     
  • 2.4, llolik (ok), 14:12, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Сравнивать key-value с реляционной БД - ну такое себе сравнение, как тёплое и квадратное, примерно.
     
     
  • 3.5, Аноним (5), 14:16, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    тогда чем оно лучше BerkleyDB?
     
     
  • 4.9, erthink (ok), 14:57, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    - Быстрее.
    - Нет deadlock-ов и других глюков.
    - Меньше "серебряных пуль" типа как-бы репликации и т.п.
    - Лицензия.

    Остальное знают Яндекс и Google.

     
     
  • 5.31, Аноним (31), 19:17, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –7 +/
    > Остальное знают Яндекс и Google.

    Взоржал

     
     
  • 6.34, erthink (ok), 19:26, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Остальное знают Яндекс и Google.
    > Взоржал

    Очередной эксперт с LOR'а по BerkeleyDB или Rust?

     
     
  • 7.36, anonxxx (?), 21:21, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Я не понимаю людей, использующих твои наработки и прочитавшие описание твоего профиля на github.
     
     
  • 8.39, CrazyAlex (?), 01:23, 28/11/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 9.40, fske (?), 03:35, 28/11/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
     
    Часть нити удалена модератором

  • 11.45, erthink (ok), 13:03, 28/11/2020 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
     
    Часть нити удалена модератором

  • 13.47, erthink (ok), 13:13, 28/11/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 11.49, fske (?), 14:32, 28/11/2020 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
     
    Часть нити удалена модератором

  • 13.55, fske (?), 16:58, 28/11/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 8.56, мяя (?), 17:26, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Политота действительно портит впечатление сама по себе Лучше её убрать так ка... текст свёрнут, показать
     
     
  • 9.58, Michael Shigorin (ok), 18:29, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это фильтр, очевидно ... текст свёрнут, показать
     
     
  • 10.99, Вы забыли заполнить поле Name (?), 01:14, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может вы еще спрашиваете предпочтения в сексе при приеме на работу ... текст свёрнут, показать
     
  • 9.65, Аноним (63), 20:42, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не, наоборот оставить Как заходишь в профиль - так сразу желание оказывать пози... текст свёрнут, показать
     
  • 5.93, Аноним (92), 22:03, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Меньше "серебряных пуль" типа как-бы репликации и т.п.

    Что это означает? В libmdbx нет же репликации.

     
     
  • 6.98, erthink (ok), 22:20, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Меньше "серебряных пуль" типа как-бы репликации и т.п.
    > Что это означает? В libmdbx нет же репликации.

    https://habr.com/ru/post/459862/#comment_20414205

     
  • 3.10, Аноним (10), 15:00, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не стоит забывать о кейсах где эта недореляционная БД именно как kv и используется.
     
  • 3.11, пох. (?), 15:00, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну же, жду ваших откровений, хперты - что может помешать мне хранить key-value в sqlite?

    То есть если бы вас спрашивали наоборот - чем оно хуже sqlite - ответ был бы именно "тем что умеет только key-value".
    Но вас спрашивают - чем лучше? Сочнее, мжвячнее, нажористее?

     
     
  • 4.17, erthink (ok), 15:06, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дублирую, см. https://www.opennet.ru/openforum/vsluhforumID3/121987.html#9
     
     
  • 5.20, пох. (?), 15:23, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот, распугал всю еду!

    (там, правда, осталось неопределенным, насколько реальные use pattern похожи на эти тесты)

     
  • 3.18, Lex (??), 15:15, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кнчн. не шибко корректно, но..
    Обе они решают задачу хранения данных, обе - вроде бы годятся во встройщину..
     
  • 3.94, Аноним (92), 22:05, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вообще у тех же leveldb и rocksdb есть сравнение производительности с sqlite. Ну возьми да положи байты в sqlite по ключу да сравни произодительность. В чем проблема?

    Да и как бы вот https://www.sqlite.org/src4/doc/trunk/www/index.wiki на почитать

     
     
  • 4.96, erthink (ok), 22:15, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вообще у тех же leveldb и rocksdb есть сравнение производительности с sqlite.
    > Ну возьми да положи байты в sqlite по ключу да сравни
    > произодительность. В чем проблема?

    В том что кто-то не умеет читать:
    1) https://www.opennet.ru/openforum/vsluhforumID3/121987.html#9
    2) https://github.com/erthink/libmdbx#performance-comparison


    > Да и как бы вот https://www.sqlite.org/src4/doc/trunk/www/index.wiki на почитать

    Вот пожалуйста и ознакомтесь.

     
  • 3.97, Аноним 222222 (?), 22:16, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще у тех же leveldb и rocksdb есть сравнение производительности с sqlite. Ну возьми да положи байты в sqlite по ключу да сравни произодительность. В чем проблема?

    Да и как бы вот https://www.sqlite.org/src4/doc/trunk/www/index.wiki на почитать

     
  • 2.6, Moomintroll (ok), 14:20, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем оно лучше/хуже в сравнении с той же SQLite ?

    Несравнимо:

    > класса ключ-значение

    https://ru.wikipedia.org/wiki/База_данных_«ключ-значение»

    vs

    https://ru.wikipedia.org/wiki/Реляционная_база_данных

     
     
  • 3.14, Аноним (10), 15:02, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    База данных и база данных сравнимы замечательно.
     
  • 3.19, Lex (??), 15:21, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    хранение данных vs хранение данных
    возможно во встраиваемых решениях vs возможно во встраиваемых решениях

    О да, разница очевидна и невероятно принципиальна

    п.с: вы, когда думаете, положить ли что-то в пакет( ссылка вики на ПАКЕТ ) или в коробку( ссылка вики на КОРОБКА ) тоже называете их "несравнимыми", ведь одно из них, скорее всего, из полиэтилена, а другое - из картона ?

     
     
  • 4.37, kai3341 (ok), 22:59, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Принципиально различаются режимы работы. Когда подрастёшь, расскажу, чем отличаются Oracle от MySQL (+MariaDB) от MSSQL и от PostgreSQL, хотя все они реляционные БД.

    Hint: сильно разные структуры данных, со своими преимуществами и болячками

     
     
  • 5.80, Lex (??), 15:35, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Чем оно лучше/хуже в сравнении с той же SQLite ?
    > Когда подрастёшь, расскажу, чем отличаются Oracle от MySQL (+MariaDB) от MSSQL и от PostgreSQL, хотя все они реляционные БД

    И ведь плевать, что изначальный вопрос был совсем не о том и твои "рассказы" нафиг не нужны, не так ли ?

     
  • 2.16, erthink (ok), 15:05, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как-то уже обсуждали, см. ветку https://www.opennet.ru/openforum/vsluhforumID3/121987.html#9
     

  • 1.3, InuYasha (??), 14:10, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надо будет поподробней узнать, что за ключи-значения туда влазят. А то вдруг годнота...
     
     
  • 2.12, erthink (ok), 15:01, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Есть конкретные цифры: https://github.com/erthink/libmdbx#limitations

    Если кратко, то:
    - поддерживаются ключи больше чем в LMDB, он меньше чем в SQLite.
    - иначе говоря. не поддерживаются длинные ключи, которые приводят к деградации производительности b+tree.

     

  • 1.7, Ivan_83 (ok), 14:22, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Во, походу это я был тот единственный страдалец из Miranda NG у кого свежая миранда с этой БД под вайном не работала.
     
     
  • 2.15, erthink (ok), 15:03, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там всё равно хватает проблем, см. https://github.com/miranda-ng/miranda-ng/issues/1209#issuecomment-732003308
     

  • 1.8, Аноним (8), 14:51, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Чем оно лучше оригинальной lmdb
     
     
  • 2.13, erthink (ok), 15:01, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Есть конкретный список: https://github.com/erthink/libmdbx#improvements-beyond-lmdb
     
  • 2.24, Аноним (24), 16:16, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чем lmdb, же.
     

  • 1.21, Аноним (21), 15:26, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А почему у неё такое странное название?
     
     
  • 2.22, mos87 (ok), 15:53, 27/11/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 3.23, Аноним (21), 16:08, 27/11/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.25, mos87 (ok), 16:52, 27/11/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.26, Аноним (26), 16:58, 27/11/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.35, Капитан Очевидность (?), 21:15, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    LMDB eXtended.
     

  • 1.27, Аноним (27), 17:07, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Windows 2000/XP (для Miranda NG). - кто то еще этим пользуется?

    Наверно это та группа которая ненавидит Electron ?

     
     
  • 2.28, Аноним (28), 17:56, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >Наверно это та группа которая ненавидит Electron ?

    Как будто что-то плохое.

     
     
  • 3.33, VladSh (?), 19:24, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что 'группа' или что 'ненавидит'?
     
     
  • 4.41, fske (?), 03:40, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да.
     
  • 2.102, Аноним (-), 13:30, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Наверно это та группа которая ненавидит Electron ?

    Извините, миранда умеет в 50 раз больше чатиков для даунов на электроне, и памяти при этом кушает радикально меньше. А потом вебманки удивляются что их пользователи ненавидят. Попадется вот пользователям нормальная программа - и они узнают что можно и не делать программы через задницу, а писать мелкий, аккуратный, симпатичный и быстрый код, да еще с кучей плюшек. Которые по жизни гораздо полезнее анимированных смайликов. Хотя и это вроде бы есть.

     

  • 1.50, Аноним (50), 14:33, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Positive Technologies... хм... рука москвы?
     
     
  • 2.73, erthink (ok), 07:53, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И голова, и деньги...
    Вообще всё в Москве происходит!
     
     
  • 3.84, InuYasha (??), 12:48, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Давай, как-нить понаеду, произойдём по Красной площади :)
     
     
  • 4.86, Michael Shigorin (ok), 13:05, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лёнь, маякни ;-)  Глядишь, мини-опеннетовку учиним.
     
     
  • 5.88, InuYasha (??), 14:08, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Замётано )
     

  • 1.51, Аноним (51), 15:08, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Рассматривал сабж для локального, перзистентого хранилища для веб-приложения (настройки, ключи, очередь задач - все что хотелось бы рядом держать) которое юзает нормальную постгрю для всего нелокального - хотелось ACID.
    Но остановился на sqlite c денормализованной схемой, ибо не нашел под сабж аналога sqlite browser чтобы в случае чего отладить у заказчика.
    Может плохо искал?
     
     
  • 2.53, erthink (ok), 16:13, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть намерение делать драйвер для FastnoSQL, но всё никак руки не дойдут.

    https://github.com/erthink/libmdbx/issues/9

     
  • 2.70, Аноним (63), 00:37, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >sqlite browser

    А почему не DBeaver?

     
     
  • 3.71, Имя (?), 01:50, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как пример, речь о том что разных инструментов для "зайти и посмотреть" гораздо больше, тяжеловесные клиенты не нужны для моей задачи, оверкилл.
     
  • 2.74, erthink (ok), 08:07, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На всякий, для информации.

    Попробовал еще раз локально собрать FastNoSQL из исходников, чтобы затем добавить поддержку libmdbx. Не выходит.

    В моём понимании там какая-то адова смесь кривых/неумелых сценариев CMake и дополнительных костылей на питоне.

    --

    Вроде-бы собрать FastNoSQL получилось у Виталия Липатова из ALT (http://sisyphus.ru/ru/srpm/Sisyphus/fastonosql/spec).
    Но мне эти заклинания не помогли.

    Вполне вероятно что я стар, туп, не шарю "как собирать" питоном и т.д и т.п.
    Но меня разочаровывают CMake-сценарии в FastNoSQL, а питоновские костыли тошнотворят.
    WTF > 50%.

    Поэтому, помогу если кто-то возьмется, но сам делать не буду пока сборка FastNoSQL не станет вменяемой.

     
     
  • 3.77, erthink (ok), 09:30, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Автор FastNoSQL обиделся на сформулированное выше и закр... большой текст свёрнут, показать
     
     
  • 4.81, Аноним (81), 20:06, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    братюнь, вполне возможно, что скрипты плохи, но это не повод нападать на автора скриптов. автор делает такое же спо как и ты, и делает это так как считает нужным, что возможно не всегда соответствует твоим представлениям о том, что хорошо и что плохо. со стороны это выглядит не красиво, я считаю, что ты не прав. бытиё неприятным человеком не приблизит тебя к твоей цели. подумай об этом.
     
     
  • 5.82, Michael Shigorin (ok), 10:49, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Знаете, если мне говорят, что я криворукий (я, а не код плох) -- я весь такой могу возмутиться, но если говорят по существу, то отмазываться "чуйствительностью" или там кричать "жизни криворуких важны, а ты, пряморукая скотина, даже патч не прислал на полпроекта!" -- ну вот вообще никак _мне_ не поможет.

    "Извини, это [был] мой уровень и в этом направлении развиваться не планирую; если хочешь, покажи класс" -- и то честней.

    Так что смотря какие цели у кого.  "Платон мне друг, но истина дороже" -- не вчера уж было сказано.

     
     
  • 6.85, Аноним (85), 13:01, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    не стоит оправдывать скандальность высокими материями. надо было сначала разобраться и вообще туда не лезть если нет желания с этим связываться. скрипты приходят и уходят, завтра их перепишут, а испорченные отношения останутся.
     
     
  • 7.87, llolik (ok), 13:40, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > не стоит оправдывать скандальность

    Не буду оценивать скандальность, но, справедливости ради, сборка там реально сташный и странный трындец.

     
     
  • 8.89, Аноним (85), 00:57, 01/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вполне возможно, я сам не смотрел и не собираюсь просто говорю как это выглядит... текст свёрнут, показать
     
  • 3.78, erthink (ok), 09:57, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Nonetheless, anything that is bullshit must be noted as a bullshit, including a lot of libmdbx internals inherited from LMDB.

    https://github.com/erthink/libmdbx/issues/9#issuecomment-735352831

    Rrds.

     

  • 1.57, мяя (?), 17:36, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >  Продолжено совершенствование online документации.

    Не хватает простых примеров использования.
    Подобного этому https://github.com/erthink/libmdbx/blob/master/example/example-mdbx.c
    Где бы были все стандартные операции — добавление, изменение, удаление, поиск по ключу, значению.

     
     
  • 2.62, erthink (ok), 18:52, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С радостью приму PR, особенно с примером для нового С++ API.
     

  • 1.59, Michael Shigorin (ok), 18:46, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > make -j8 all test

    ...
    > && echo '#define MDBX_BUILD_TARGET "E2K"' \

    ...
    > No error is detected, elapsed 0.007 seconds

    ;-)

     
     
  • 2.60, erthink (ok), 18:48, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> make -j8 all test
    > ...
    >> && echo '#define MDBX_BUILD_TARGET "E2K"' \
    > ...
    >> No error is detected, elapsed 0.007 seconds
    > ;-)

    Ну это обязательно, и на всех версиях что дотянулся.

     
     
  • 3.75, erthink (ok), 08:34, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>> make -j8 all test
    >> ...
    >>> && echo '#define MDBX_BUILD_TARGET "E2K"' \
    >> ...
    >>> No error is detected, elapsed 0.007 seconds
    >> ;-)
    > Ну это обязательно, и на всех версиях что дотянулся.

    @maxim.chirkov, тут движок форума "детектировал атаку", попросил уведомить, но всё-таки разместил ответ.

     
  • 2.61, erthink (ok), 18:49, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> echo '#define MDBX_BUILD_TARGET "E2K"'
    >> No error is detected, elapsed 0.007 seconds
    > ;-)

    Ну это обязательно, и на всех версиях что дотянулся.

     

  • 1.66, временный_аноним (?), 21:55, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот почему mdbx.c++, а не mdbx.cpp?
     
     
  • 2.76, erthink (ok), 09:00, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, а "почему c++, а не сpp?" и "/usr/bin/c++, а не /usr/bin/cpp?" и т.д.
     

  • 1.91, Аноним (92), 21:54, 02/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Чем лучше RocksDB?
     
     
  • 2.95, erthink (ok), 22:11, 02/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чем лучше RocksDB?

    RTFM = https://github.com/erthink/libmdbx#comparison-with-other-databases

     
     
  • 3.103, Аноним (-), 13:38, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А где там вообще хоть какое-то сравнение чего-то? И где хотя-бы токийский кабинет, чтоли? Кстати для тех кто на C++ хотел - они тоже уже переписали. И даже сервер сделали.
     
     
  • 4.104, Вы забыли заполнить поле Name (?), 15:22, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да какой смысл искать в этих графиках смысл? Еще и ссылка на самописную тулзу для сравнения. Все эти сравнения всегда затачиваются под себя от нежелания/неумения настроить другие реализации в тесте.

    Для чистоты нужно взять датасет и дать задание автором соответствующих библиотек написать тест, тогда это будет более/менее адекватно.

     
  • 3.105, Вы забыли заполнить поле Name (?), 15:25, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Даже не удосужился к себе текст скопипастить. Молоде чо. Надеюсь следишь за актуальностью.

    Ой, а как же ты даешь ссылку на либо на go, которую разрабатывает страна не признающая Крым частью России.

     
     
     
     
    Часть нити удалена модератором

  • 6.112, Lefsha (ok), 01:43, 06/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Привет каким образом собрать ReOpenLDAP, чтобы осталась совместимость с последней версией OpenLDAP?

    Не работает никакой вариант с nss-pam-ldapd:

    In file included from pagectrl.c:35:
    ../compat/ldap_compat.h:49:5: error: conflicting types for 'ldap_parse_page_control'
       49 | int ldap_parse_page_control(LDAP *ld, LDAPControl **ctrls,
          |     ^~~~~~~~~~~~~~~~~~~~~~~
    In file included from pagectrl.c:33:
    /usr/include/ldap.h:1731:1: note: previous declaration of 'ldap_parse_page_control' was here
    1731 | ldap_parse_page_control(LDAP *ld, LDAPControl **ctrls, ber_int_t *count,
          | ^~~~~~~~~~~~~~~~~~~~~~~

    Проблема очевидно в том, что nss-pam-ldapd хочет unisgned long для count,
    а ReOpenLDAP предлагает ber_int_t, который int32

    Очевидно, что со стандартной библиотекой все работает.


    Отсутствует libldap.so который нужен другим библиотекам или программам.
    Например php.


    Или поставлю вопрос по другому - какая последняя версия обеспечивает совместимость
    с OpenLDAP?

     
     
  • 7.113, Сам Lefsha (?), 04:00, 06/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может лучше issue на гитхабе оформить, ну или сразу писать в спортлото?
     
     
  • 8.114, Lefsha (ok), 10:25, 06/01/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не думаю, что есть смысл Автор изменил все что мог изменить Тем самым сделал п... текст свёрнут, показать
     
  • 7.115, erthink (ok), 14:20, 06/01/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Исторически в оригинальном OpenLDAP есть ldap-библиотека, которая предназначена ... большой текст свёрнут, показать
     
     
  • 8.116, Lefsha (ok), 14:28, 07/01/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тогда и проект надо было называть по другому А то якобы миллион улучшений, но п... большой текст свёрнут, показать
     
     
  • 9.117, erthink (ok), 15:32, 07/01/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы что-то принципиально не поняли, и пишите уж извините какую-то ерунду Пожал... большой текст свёрнут, показать
     
     
  • 10.123, Lefsha (ok), 15:09, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет Не ерунду Я ответил в другом сообщении про заг файлы Вроде бы естественн... большой текст свёрнут, показать
     
  • 9.118, erthink (ok), 15:56, 07/01/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На всякий - если какие-то h-файлы изнутри ReOpenLDAP попали в install-targets, т... текст свёрнут, показать
     
     
  • 10.119, Lefsha (ok), 14:09, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    9 заголовочных файлов в ReOpenLDAP идентичны по названию и отличаются по содержа... текст свёрнут, показать
     
     
  • 11.120, erthink (ok), 14:25, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Извините, но если вы не понимаете всего что было разжевано и повторено раз 10, т... текст свёрнут, показать
     
  • 11.121, erthink (ok), 14:35, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На всякий, последний раз, ради логики - все заголовочные файлы из ReOpenLDAP д... текст свёрнут, показать
     
     
  • 12.124, Lefsha (ok), 15:16, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вы это объясните авторам программ, которые используют ИДЕНТИЧНЫЕ заголовочные фа... текст свёрнут, показать
     
     
  • 13.125, erthink (ok), 15:29, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Название заголовочных файлов может совпадать Для разрешения конфликтов следует ... текст свёрнут, показать
     
     
  • 14.127, Lefsha (ok), 15:56, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т е после долгих мучений мы таки признали, что не все так чисто Ну хоть так ... текст свёрнут, показать
     
     
  • 15.128, erthink (ok), 16:15, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, не так Вы не верно организовали сборку какого-то клиентского ПО и или ReOp... текст свёрнут, показать
     
     
  • 16.129, Крым Наш (?), 16:19, 08/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Леонид, у вас ангельское терпение в отношении криворуких мудаков ... текст свёрнут, показать
     
  • 16.130, Lefsha (ok), 00:15, 12/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это бессмысленное утверждение, когда Вам были приведены доказательства Я добавл... большой текст свёрнут, показать
     
     
  • 17.131, erthink (ok), 02:15, 12/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не достаточно компетентны, поэтому неверно трактуете положение дел и продолжа... большой текст свёрнут, показать
     
     
  • 18.132, Lefsha (ok), 11:13, 12/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Доказательств моей некомпетенции предоставлено не было Это голословное обвинени... большой текст свёрнут, показать
     
  • 5.109, Вы забыли заполнить поле Name (?), 16:59, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну ты это автору объясни, который включил соответствующую цитату в README. Программирование и политика вещи несовместимые.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру