URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 136693
[ Назад ]

Исходное сообщение
"Выпуск встраиваемой СУБД 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


Содержание

Сообщения в этом обсуждении
"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено Аноним , 25-Апр-25 02:21 
Кто разбирается, объясните, в чем преимущества ключ-значение перед табличными бд? Ощущение что отрасль буквально помешалась на к/з базах.

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено мимо проходил , 25-Апр-25 02:48 
"Табличная БД" это тоже ключ-значение, но в значении лежит кортеж полей строки таблицы.

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

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


"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено Аноним , 25-Апр-25 05:27 
Используют и то и другое вместе, нет отказа от реляционных баз. Как пример, в базу ключ- значение выносят из реляционки поля типа блоб, в реляционку записывают только ключ. Тогда реляционка значительно похудеет и станет быстрее.

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено Жироватт , 25-Апр-25 08:08 
Для большинства задач этого функционала ДОСТАТОЧНО.
ПРОСТО положить (сохранить) пару К-З в файл базы не диске. ПРОСТО быстро найти З по К и считать в переменную. Особенно, если и К, и З у нас простые сами по себе (сериализованный объект в бинарном виде тоже может считаться простым, если не предполагается, что на уровне базы нужен доступ к полям).

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено Мне хватает , 25-Апр-25 16:58 
Смотрите локальность данных тогба все поймёте.

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено оракл , 25-Апр-25 17:57 
Дык, табличная СУБД она же и построена на основе табличек ключ-значение. Одна табличка содержит список колонок. Другие - формат колонок, третьи - данные этих колонок, и т.п. Когда вы просите таблицу, она собирается из этих к-з табличек, обычными SELECT-ами.

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено mos87 , 25-Апр-25 07:56 
"Бузина" - аффтырь не разочаровывает.

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено Аноним , 25-Апр-25 12:23 
Аффтыр там реально жжет.

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



"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено n00by , 25-Апр-25 13:33 
github восстановил доступ? Оно было read-only, от чего Гугол выдавал в выдаче ссылки на устаревшею версию, чем насолил пользователям и автору.

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено мимо проходил , 25-Апр-25 20:35 
там же целый абзац есть
https://github.com/erthink/libmdbx?tab=readme-ov-file#github

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено n00by , 29-Апр-25 13:10 
Там сокращённо и без таких подробностей. Ладно бы полностью удалили, тогда бы пользователи нашли зеркало с актуальной версией. А так поисковик подсовывал устаревшую, а поддерживаемый репозиторий был на 10-й странице выдачи, куда мало кто заглядывает.

"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено Аноним , 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�...
Мне все буквы понятны, но не вместе.


"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено Аноним , 28-Апр-25 21:05 
> Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository

Да щас.


"Выпуск встраиваемой СУБД libmdbx 0.13.6"
Отправлено мимо проходил , 28-Апр-25 22:40 
Подозреваю, что это предупреждение, а не просьба ;)