The OpenNET Project / Index page

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



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

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

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

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

Оглавление

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

2. Сообщение от Аноним (2), 25-Апр-25, 02:21   +1 +/
Кто разбирается, объясните, в чем преимущества ключ-значение перед табличными бд? Ощущение что отрасль буквально помешалась на к/з базах.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #4, #6, #10, #13

3. Сообщение от мимо проходил (?), 25-Апр-25, 02:48   +10 +/
"Табличная БД" это тоже ключ-значение, но в значении лежит кортеж полей строки таблицы.

Ну и далее по-возрастанию сложности, реляционная БД -- это такая "табличная БД", в которой могут быть определены как дополнительные индекс, так и отношения между полями таблиц... и БД будет автоматически все это проверять/использовать.

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

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

4. Сообщение от Аноним (4), 25-Апр-25, 05:27   –1 +/
Используют и то и другое вместе, нет отказа от реляционных баз. Как пример, в базу ключ- значение выносят из реляционки поля типа блоб, в реляционку записывают только ключ. Тогда реляционка значительно похудеет и станет быстрее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

5. Сообщение от mos87 (ok), 25-Апр-25, 07:56   –2 +/
"Бузина" - аффтырь не разочаровывает.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

6. Сообщение от Жироватт (ok), 25-Апр-25, 08:08   –1 +/
Для большинства задач этого функционала ДОСТАТОЧНО.
ПРОСТО положить (сохранить) пару К-З в файл базы не диске. ПРОСТО быстро найти З по К и считать в переменную. Особенно, если и К, и З у нас простые сами по себе (сериализованный объект в бинарном виде тоже может считаться простым, если не предполагается, что на уровне базы нужен доступ к полям).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

8. Сообщение от Аноним (8), 25-Апр-25, 12:23   –1 +/
Аффтыр там реально жжет.

Потыкал тут палочно


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

9. Сообщение от n00by (ok), 25-Апр-25, 13:33   +1 +/
github восстановил доступ? Оно было read-only, от чего Гугол выдавал в выдаче ссылки на устаревшею версию, чем насолил пользователям и автору.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14

10. Сообщение от Мне хватает (?), 25-Апр-25, 16:58   +/
Смотрите локальность данных тогба все поймёте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

13. Сообщение от оракл (?), 25-Апр-25, 17:57   +/
Дык, табличная СУБД она же и построена на основе табличек ключ-значение. Одна табличка содержит список колонок. Другие - формат колонок, третьи - данные этих колонок, и т.п. Когда вы просите таблицу, она собирается из этих к-з табличек, обычными SELECT-ами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

14. Сообщение от мимо проходил (?), 25-Апр-25, 20:35   +1 +/
там же целый абзац есть
https://github.com/erthink/libmdbx?tab=readme-ov-file#github
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #18

15. Сообщение от Аноним (8), 26-Апр-25, 14:22   +/
Об MDBX во многих местах заявляется что быстрее и т.п. При этом автор пиарится что у него там "самые быстрые реализации" неких алгоритмов, например https://t.me/libmdbx/1/3475, https://t.me/libmdbx/1/5257.

Для branchless bsearch  нашлось подтверждение https://probablydance.com/2023/04/27/beautiful-branchless-bi..., что код автора действительно быстрее (даже при использовании clang с плохой поддержкой cmov).

А что известно про base58 и что там может быть быстрее?
Кто-нибудь пробовал или может прояснить?

https://github.com/erthink/libmdbx/blob/master/src/mdbx.c�...
Мне все буквы понятны, но не вместе.

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

16. Сообщение от Аноним (16), 28-Апр-25, 21:05   +/
> Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository

Да щас.

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

17. Сообщение от мимо проходил (?), 28-Апр-25, 22:40   +/
Подозреваю, что это предупреждение, а не просьба ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

18. Сообщение от n00by (ok), 29-Апр-25, 13:10   +/
Там сокращённо и без таких подробностей. Ладно бы полностью удалили, тогда бы пользователи нашли зеркало с актуальной версией. А так поисковик подсовывал устаревшую, а поддерживаемый репозиторий был на 10-й странице выдачи, куда мало кто заглядывает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14


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

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




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

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