The OpenNET Project / Index page

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



"Выпуск встраиваемой СУБД libmdbx 0.13"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от opennews (??), 08-Сен-24, 23:08 
Опубликован выпуск библиотеки libmdbx 0.13.1 (MDBX) с реализацией высокопроизводительной компактной встраиваемой базы данных класса ключ-значение.  Код libmdbx распространяется под лицензией Apache 2.0. Поддерживаются все актуальные операционные системы и архитектуры, а также российский Эльбрус 2000. Для libmdbx предлагается развитое API для C++, а также поддерживаемые энтузиастами привязки к языкам Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=61830

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск встраиваемой СУБД libmdbx 0.13"  +3 +/
Сообщение от Аноним (1), 08-Сен-24, 23:08 
Скажите, есть ли какой-то смысл использовать подобные db вместо, например, sqlite?
В чём преимущество?
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от мяя (?), 08-Сен-24, 23:12 
Скорость, компактность реализации.
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск встраиваемой СУБД libmdbx 0.13"  +2 +/
Сообщение от Совершенно другой аноним (?), 08-Сен-24, 23:24 
Ну, как-бы, это разные вещи. В SQLite доступ посредством SQL, табличное представление данных, а в тут - доступ спец-функциями и представление данных "ключ-значение".
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

6. "Выпуск встраиваемой СУБД libmdbx 0.13"  –3 +/
Сообщение от Аноним (1), 08-Сен-24, 23:39 
В плане представления данных разница не такая уж большая между SQL и ключ-значение. В SQL базах строки таблиц это тоже по сути поле-ключ и всё остальное (остальные поля).
Но SQL сильно упрощает создание запросов и управление структурой db - удаление/добавление таблиц/индексов, задание связей между таблицами. Для баз ключ-значение больше труда нужно для создания цепочек вызовов функций, а результат тот же.
Явный недостаток SQL - то что движок сложнее.
Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Карлос Сношайтилис (ok), 09-Сен-24, 02:37 
SQL – это диалект.
Его могут поддерживать разные, по типу, бд, например, строчные или колоночные. А у них сильно разные принципы хранения.
Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Анонимemail (46), 10-Сен-24, 19:56 
SQL - это не диалект а язык. Диалекты у его реализаций.
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Самый умный аноним (?), 08-Сен-24, 23:28 
> В чём преимущество?

gitflic.ru

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

31. "Выпуск встраиваемой СУБД libmdbx 0.13"  +1 +/
Сообщение от OpenEcho (?), 09-Сен-24, 13:30 
> gitflic.ru

Это все равно что ткнуть в github.com

Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск встраиваемой СУБД libmdbx 0.13"  +3 +/
Сообщение от Аноним (5), 08-Сен-24, 23:38 
Если вас устраивает условный sqlite, то подобные движки вам не нужны.

Преимущество же в меньших накладных расходах и, соответственно, более высокой производительности и/или меньшем потреблении ресурсов.

Например, Ethereum сейчас сидит на libmdbx, а Monero на LMDB.
Упомянутый sqlite такое не потянет, будет в 1000 раз медленнее и памяти будет жрать раз в 100 больше.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

11. "Выпуск встраиваемой СУБД libmdbx 0.13"  –1 +/
Сообщение от нах. (?), 09-Сен-24, 01:47 
"показатели достигли потолка, с которого первоначально и были взяты"(c)

Подтверждать эту чепуху тестами вы конечно же не будете, джентльменам ведь верят на слово.

Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск встраиваемой СУБД libmdbx 0.13"  +6 +/
Сообщение от Аноним (5), 09-Сен-24, 03:36 
1.
Автор LMDB в 2010-2014 публиковал результаты бенчмарков. В том числе он сделал sqlightning (пересадил sqlite на LMDB), на простых тестах там _местами_ разница более 20 раз.

2.
У Erigon был блог, где Alex Sharp описывал приключения по выбору движка БД, включая многие эксперименты.
В результате они остановились сначала на LMDB, а когда начались проблемы перешли на MDBX.

3.
Команда Paradigm (разработчики Reth) после "заимствования" кода у Akula, несколько раз пытались соскочить с libmdbx по идейно-политическим соображениям. Но так и не смогли из-за "catastrophic performance degradation", несмотря на лимоны зелени в бюджете.

--

Короче, в подходящих сценариях и при правильном использовании, libmdbx точно может быть до 20-25 раз быстрее sqlite. А на масштабах Ethereum выигрыш может быть намного больше, просто из-за большого кол-ва данных (и работе unified page cache).

Другое дело, что не все сценарии подходящие и большинство пользователей/разработчиков никогда не заметят разницы между 0.001 и 0.00001 секунд. Ну и использование SQL гораздо комфортнее чем возня с key-value.

Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от llolik (ok), 09-Сен-24, 07:13 
> Ну и использование SQL гораздо комфортнее чем возня с key-value

От того же автора есть libfpta, которая построена на libmdbx, и по-сути реализует классические таблицы над key-value libmdbx.

https://gitflic.ru/project/erthink/libfpta

Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск встраиваемой СУБД libmdbx 0.13"  –2 +/
Сообщение от Gemorroj (ok), 09-Сен-24, 09:47 
это же пох.  с ним говорить вообще бесполезно. он конченный
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

27. "Выпуск встраиваемой СУБД libmdbx 0.13"  +2 +/
Сообщение от Аноним (27), 09-Сен-24, 11:09 
почему? польза есть, вон сколько фактов интересных написали в ответ
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от _ (??), 09-Сен-24, 16:46 
> почему?

Потому что пЫонеров чмырит "с особым цЫнизмом"(С) :-)
Вон слёзки как капают у некоторых...

А по профессии он не чаще других загонялся и гнал пургу :) Но это мы все могЁм, включая меня :)

Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск встраиваемой СУБД libmdbx 0.13"  +1 +/
Сообщение от OpenEcho (?), 09-Сен-24, 13:04 
Помоему в данном, конкретном случае его коммент на фразу: "будет в 1000 раз медленнее и памяти будет жрать раз в 100 больше." очень даже уместен. Это же цифры правда с потолка, в отличии от follow up на пох пост
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

28. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (28), 09-Сен-24, 12:55 
Делать бенчмарки, сравнивающие key-value хранилище c sql-бд - вот что полностью характеризует человека и все его поделки.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

32. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (32), 09-Сен-24, 14:49 
Ну, на подобном сравнивании теплого с мягким вырос целый Фороникс.
Не смотря на присущий скептицизм при анализе результатов проводимых им тестов,
он все же сделал много и полезного (те же тесты от фороникса).
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (42), 09-Сен-24, 21:04 
> Делать бенчмарки, сравнивающие key-value хранилище c sql-бд - вот что полностью характеризует человека и все его поделки.

Так вы даже не поняли написанного.

Там сравнивались НЕ key-value с sql, а оригинальный sqlite (с собственным b-tree) и sqlightning (sqlite, в котором исходный b-tree "грязно и тупо" заменен на LMDB).

Иначе говоря, сравнивалось НЕ "теплое с мягким", а LMDB и собственный внутренний движок хранения sqlite.
Причем при одинаковом sql-фронтенде и исполнительной машине байт-кода "скомпилированного sql".

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

43. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (43), 09-Сен-24, 23:04 
Спасибо, конечно, за любопытные сведения, но прирост в 20 раз на *некоторых* простых тестах это далеко не
>Упомянутый sqlite такое не потянет, будет в 1000 раз медленнее и памяти будет жрать раз в 100 больше.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

44. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (42), 09-Сен-24, 23:22 
Если смотреть на Ethereum, точнее говоря на  Erigon (который самый быстрый из "frontiers", готовых к продуктовому использованию), то объем БД там 2-6 терабайт (в зависимости от типа узла и подвида блокчейна), а объем транзакций (суммарный размер вставляемых и/или обновляемых данных) порядка 10-100 гигабайт.

Так вот, если верить написанному по ссылке ниже, то производительность sqlite деградирует нелинейно с увеличением размера БД и объема транзакций. Поэтому весьма и весьма вероятно, что sqlite впендюренный (уж извините) в Erigon будет работать действительно на 2-3 порядка медленнее libmdbx.

Причем это не считая операций чтения, которые (судя по бенчмаркам и исходному коду) в sqlite примерно в 20-25 раз медленнее чем в libmdbx. И тут важно понимать, что никаких чудес нет -- libmdbx просто почти ничего не делает, только минимум операций (предельно близко к теоретическому пределу) и подкачка данных с диске (причем тут существенный overhead из-за hard page faults, ибо  memory mapped).

https://softwareengineering.stackexchange.com/questions/3320...

Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (41), 09-Сен-24, 18:06 
Зависит от задачи.
Если sqlite - это РСУБД, которая сама реализует стратегии объединения, сортировки, группировки и т.д., и выбирает их, построив план запроса (который может оказаться удачным, а может и не очень - это всегда в определенной мере эвристика), то подобные библиотеки представляют низкоуровневые API, с помощью которых это всё делается самостоятельно из небольших кирпичиков, что требует заметно больших усилий, но и позволяет максимально оптимизировать под конкретные задачи.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

8. "Выпуск встраиваемой СУБД libmdbx 0.13"  +1 +/
Сообщение от Амомин (?), 09-Сен-24, 00:24 
Кроме Эфира есть еще какие-то на слуху проекты использующие сабж?
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (5), 09-Сен-24, 00:30 
ptsecurity.ru
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Амомин (?), 09-Сен-24, 08:10 
Ого, а зачем рекламному сайту лендингу быстрая встраиваемая БД?
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от я (?), 09-Сен-24, 08:25 
> Ого, а зачем рекламному сайту лендингу быстрая встраиваемая БД?

Не лендингу, а используется в продуктах компании. Собственно для этого и делается.

Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск встраиваемой СУБД libmdbx 0.13"  –2 +/
Сообщение от Амомин (?), 09-Сен-24, 17:09 
Окей так и запишем - нигде кроме эфира и каких-то проприетарных продуктов какой-то компании которые большинство местных в глаза не видело и врядли увидит не используется.
Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (42), 09-Сен-24, 23:25 
Есть подозрение, что глобусу и сове на нём как-то всё равно что вы там куда-то записали ;)
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от я (?), 09-Сен-24, 00:43 
Аффтар где-то писал, что на libmdbx переходят все у кого были проблемы с LMDB, и это вроде-бы как 10% от проектов использующих LMDB.

Ну м в эфире два разных проекта (erigon на Go и reth на Rust).

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

16. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от ананим.orig (?), 09-Сен-24, 04:22 
Не знаю как сабж, а вот lmdb database backend в самбе можно использовать
https://wiki.samba.org/index.php/Using_the_lmdb_database_bac...
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск встраиваемой СУБД libmdbx 0.13"  +3 +/
Сообщение от dab1818 (?), 09-Сен-24, 07:56 
как они все оттуда и выросли же:
lmdb в составе openldap - одних авторов,
libmdbx как форк lmdb в составе reOpenLdap форка openldap - товарищем Леонидом Юрьевым.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Аноним (34), 09-Сен-24, 16:11 
А он не децентрализованный чтоли? Что еще за БД в блокчейне?
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

40. "Выпуск встраиваемой СУБД libmdbx 0.13"  +/
Сообщение от Амомин (?), 09-Сен-24, 17:10 
Ну а сам чейн этих самых блоков как-то надо хранить локально, не?
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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