Yaroslav Schekin
> Вы читали моё сообщение вот тут
https://t.me/pgsql/291622?
Да, читал. А Вы уже прочитали
https://t.me/pgsql/291702 ?
> Т.е. в статье паттерн использования явно заточен под b-tree, где преобладает чтение + рандомное обновление. Я в курсе, что это самый распространённый паттерн.
https://xkcd.com/285/ ;)
Т.е. я, например, не в курсе, что это "самый распространённый паттерн". Откуда это утверждение?
> Запись на носители быстрее, когда данные пишутся большими кусками на диск bulk операцией, как в случае LSM.
Хмм... допустим, но в "типичных" реляционных СУБД данные пишутся на диск именно таким образом очень часто,
независимо от используемых структур данных (типов индексов).
> Уверен, что LMDB "проиграет", так как будет точечно записывать на диск каждый раз на вставку и обновление.
И уверены совершенно зря, см. сообщение по ссылке.
> Кстати, у Константина есть дополнительные требования к тому, чтобы LSM "выиграл" у LMDB
И что я (и PostgreSQL hackers, и разработчики других СУБД) про эти требования думаю, я написал в том сообщении.
> Единственное, что доказывает данная статья (это на мой взгляд), что LMDB идеально подходит для небольших устройств, типо смартфонов, по сравнению с другими БД в этой статье.
Т.е. по ссылке внутри статьи (
http://www.lmdb.tech/bench/inmem/large.html ) Вы тоже не сходили?
"We proceeded to test a workload with a 1000M (one billion) record ~120GB database on our server with only 128GB of RAM."
Типичный смартфон, ага.
> Наверное Вы всё-таки забыли написать troll mode on/troll mode off в своём сообщении.
Нет. Наверное, Вы всё-таки не понимаете, какой вопрос во всём этом обсуждении — ключевой.
Telegram
Alexey Stavrov in pgsql – PostgreSQL
> что кому-то "теоретически" кажется
Вообще-то это известно, что b-tree лучше подходит, когда преобладает чтение (и когда обновляется произвольная запись), а lsm - при вставке (и когда обновляется недавно вставленная/обновленная запись). Я ссылками доказывать не буду, но это правда известно.
И ещё не очень понял, зачем Вы обвернули слово "теория" в кавычки. Какой смысл в этом?
> Но я специально не искал, а Вы?
Я искал год/полгода назад, но не видел. Находил только storage с undo log, как в MySQL, и, вроде бы, колоночный storage. Не помню их названия.
> А Вы уже прочитали
https://t.me/pgsql/291702 ?
Нет, но прочитал сейчас. Невчитывался, но вероятно вы про эту ссылку хотите сказать
https://www.mdeditor.tw/pl/2cBBВот по этой ссылке и по ссылке
http://www.lmdb.tech/bench/inmem/large.html вот такие вот фразы:
After the data is loaded a readwhilewriting test is run multiple times in succession. The number of reader threads is set to 1, 2, 4, 8, 16, 32, and 64 threads for each successive run. (There is always only a single writer.) All of the threads operate on randomly selected records in the database. The writer performs updates to existing records;
After the data is loaded a "readwhilewriting" test is run using 16 reader threads and one writer. All of the threads operate on randomly selected records in the database. The writer performs updates to existing records
Я больше не хочу это комментировать, два раза уже писал. Если кратко, то паттерн не тот.
> Откуда это утверждение?
Это моё утверждение, т.е. его сказал/написал я. Подтверждать не буду (т.е. не буду искать в сети статистику). Конечно же существуют такие нагрузки, где подавляющее большинство записей (Big Data), но моё
ЛИЧНОЕ мнение такое, что люди в основном сохраняют данные, чтобы их читать, т.е. если вы сохранили байт и прочитали его <= 1 раза, то это не естественно как-то.
> Типичный смартфон, ага.
Не хорошо вначале давать одну ссылку, а потом комментировать, высмеивая, по другой.
Свой комментарий я давал основывясь на прочитанной прошлой статье и это утверждение я сделал по следующей причине: LMDB даёт хорошую производительность,
стабильный размер данных под нагрузкой и
небольшой load time.
На всякий случай напишу, что я
не имел ввиду:
1. Не имел ввиду, что это самый лучший кандидат для смартфонов. Это лучший из тех, кто там есть. Я бы ещё с sqlite сравнил, если уж говорить про смартфоны.
2. Не имел ввиду, что LMDB не подойдёт куда-то ещё, кроме смартфонов.
Вообще не знаю, зачем я написал фразу про смартфоны. Наверное, чтобы дать понять, для кого та статья могла быть полезна.
> Вы всё-таки не понимаете, какой вопрос во всём этом обсуждении — ключевой.
Хорошо, напишите прямо или ещё раз.
И всё-таки Вы хитрый. Вначале кидаете ссылочку, "поднимаете бурю", а потом когда все укажут на понятный недостаток кидаете другую. Нельзя было сразу миновать этот шаг?