The OpenNET Project / Index page

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



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

Оглавление

Выпуск компактной встраиваемой СУБД libmdbx 0.9.1, opennews (ok), 30-Сен-20, (0) [смотреть все]

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


18. "Выпуск компактной встраиваемой СУБД libmdbx 0.9.1"  –1 +/
Сообщение от Аноним (18), 01-Окт-20, 01:18 
Там разница идёт на порядки в зависимости от объёма данных, собственно, потому они и существуют. Некорректно так сравнивать -- они не универсальны.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

19. "Выпуск компактной встраиваемой СУБД libmdbx 0.9.1"  +1 +/
Сообщение от erthink (ok), 01-Окт-20, 01:43 
> Там разница идёт на порядки в зависимости от объёма данных, собственно, потому
> они и существуют. Некорректно так сравнивать -- они не универсальны.

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

1) Разницы "на порядки в зависимости от объёма данных" не будет, поскольку и libmdbx и sqlite основываются на B-Tree (в обоих случаях зависимость логарифмическая). Но разница будет в тех сценариях, где будет "играть" наличие WAL в sqlite и отсутствие WAL в libmdbx.

2) Сравнивать libmdbx (встраиваемый key-value) и sqlite (встраиваемый sql) конечно некорректно, но всё-таки (если сильно хочется) можно сравнить некоторое подмножество сценариев (эмулировать key-value средствами sql). Что и было сделано.

3) Конечно, корректнее было-бы сравнивать sqlite с https://github.com/PositiveTechnologies/libfpta (где есть "таблички" и вторичные индексы реализованные поверх libmdbx), но готовых инструментов для этого сейчас нет, а зная внутреннее устройство, я могу поспорить что соотношений производительности сохранится.

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

22. "Выпуск компактной встраиваемой СУБД libmdbx 0.9.1"  +/
Сообщение от Аноним (18), 01-Окт-20, 02:46 
В контексте данного бенчмарка в наличии key size и value size, и, если я правильно предполагаю их назначение, они будут влиять на результат и WAL тут ни при чём. Это не универсальные дб, все они разрабатываются с оптимизацией под определённые кейсы.
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск компактной встраиваемой СУБД libmdbx 0.9.1"  +/
Сообщение от erthink (ok), 01-Окт-20, 03:17 
1) Пока размеры будут "в пределах разумного", существенно разницы не будет.

2) При длинных значениях sqlite будет проигрывать сильнее из-за больших накладных расходах. А libmdbx будет "огурцом" и при гигабайтных размерах, лишь-бы памяти хватило.

3) С длинными ключами несколько сложнее.

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

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


Таким образом, libmdbx будет быстрее (думаю, в обозначенных пропорциях или лучше) пока размеры ключей и данных будут в поддерживаемых пределах.
А если эти пределы будут превышены, то сравнивать sqlite по скорости уже будет как-бы не с чем.

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

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

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




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

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