1.2, B (?), 18:20, 07/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
>> стала проще.
>> лучше держит
>> теперь можно не следить
>> давно была
>> Раньше ... необходимо было
funny
| |
|
|
3.21, bOOster (ok), 07:20, 08/09/2021 [^] [^^] [^^^] [ответить]
| –6 +/– |
> Можно ли считать этот вопрос корректным, если LMDB - это либа, а
> тарантул - это полноценный сервер?
Решаемые задачи лежат в одной плоскости, а выбор ЛИБЫ или полноценной СУБД - удел выбора в области применения..
Дурачек тот кто в embedded систему, с малым количеством памяти пихает СУБД вместо библиотеки.
| |
|
4.22, Аноним (22), 09:13, 08/09/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
"in-memory database" - "в embedded систему, с малым количеством памяти"???
| |
|
5.24, bOOster (ok), 10:22, 08/09/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
> "in-memory database" - "в embedded систему, с малым количеством памяти"???
256-512MB это малое количество памяти? Для Библиотеки вполне, да и inmemory DB вполне, а вот тащить на нее СУБД это глупость.
И по нашим временам памяти МАЛО.
| |
5.26, bOOster (ok), 10:26, 08/09/2021 [^] [^^] [^^^] [ответить]
| –5 +/– |
> "in-memory database" - "в embedded систему, с малым количеством памяти"???
Да и для знатоков хочу напомнить, большинство таких систем вообще с накопителем ReadOnly работают, то есть в памяти. Стоит туда тащить СУБД?
А вообще я конечно понимал что знатоки, ставящие минусы, на диване с 8 гигами памяти сидят. Но не знал что у них не хватит мозгов подумать о роутерах и т.п.
| |
|
4.33, YetAnotherOnanym (ok), 18:28, 08/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
> в embedded систему, с малым количеством памяти
Хммм... Не знал, что у в хозяйстве старика Винера используются embedded системы с малым количеством памяти.
| |
4.36, 4erryKot (?), 09:24, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ну, т.е., как и говорил предыдущий оратор, области применения не пересекаются, т.е. сравнение в лоб бессмысленно?
| |
|
|
|
1.16, funny.falcon (?), 23:10, 07/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В реальности, один из самых (если не самый) продвинутых open-source in-memory движков, и точно самый продвинутый из написанных не на Java.
| |
1.17, Аноним (17), 23:18, 07/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
А в чем соль этого in_memory?
Можно же ram-disk запилить и туда БД закинуть(и прокакать её при сбое по питанию).
Типа оно само а так - ручками?
| |
|
2.19, funny.falcon (?), 02:51, 08/09/2021 [^] [^^] [^^^] [ответить]
| +7 +/– |
Тарантул при сбое питания не прокакивается, а вполне себе потом восстанавливается. А с появлением RAFT репликации ещё и отказоустойчивость появилась.
Более эффективно используются ресурсы, т.к. движок по большей части однопоточный. Да, пиковая производительность одного процесса ограничена (в случае Тарантула, обычно сотнями тысяч коротких транзакций). Но если пошардировать, можно на одном сервере запустить несколько инстансев.
Ограничение тоже есть: Tarantool не для OLAP. Хорошо работает только с OLTP нагрузкой.
Дисковый движок в нем, кстати, тоже есть. Кастомный дизайн LSM. Не RocksDB потому, что нужно дружить с однопоточным исполнителем транзакций, а RocksDB хорошо интегрируется только в многопоточных приложения. Ну и, у дизайна есть свои плюсы даже в сравнении с RocksDB. (Из минусов - FaceBook не помогает :-)
Долгое время дисковый был отдельно от in-memory в том смысле, что их транзакции не знали друг о друге и практически не могли быть смешаны. Но вроде сейчас их объединяют.
| |
|
3.20, лютый жабби__ (?), 07:16, 08/09/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
>а RocksDB хорошо интегрируется только в многопоточных приложения
RocksDB не панацея. как раз закончил мучить арангоДБ... столько пафоса, по факту намного хуже по скорости и монги и нео4ж.
тарантул чем-то похож, описание пафосное... по факту, чем оно лучше hazelcast? эмбеднутый hazelcast будет в сотни раз быстрее...
| |
|
4.27, funny.falcon (?), 10:56, 08/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Не могу сравнить с hazelcast. Но зная о нём и об Apache Ignite, я и писал "один из самых продвинутых, и точно самый продвинутый из написанных не на Java".
Эмбеднутый hazelcast - это по сути тоже самое + встроенный кэш из коробки. Конечно, удобно иметь кэш, о котором не нужно думать, это круто. Но не всегда нужно и правильно.
Кроме того, не всегда приложение на Java, а с эмбеддингом куда-то ещё придётся помучаться (целую JavaVM, по сути, встраивать).
Но для pure-Java инфраструктуры наверное Hazelcast/Apache Ignite всё же будут предпочтительнее.
| |
|
5.32, isopov (?), 16:21, 08/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Эмбеддинг распределенного кеша внутрь приложения вообще имеет кучу минусов, кроме некоторых плюсов - для раскатки новой версии приложения или просто рестарта тебе надо внимательно следить, чтобы это было достаточно постепенно и новые инстансы успевали втянуть в себя достаточно состояния с соседних нод. Если у тебя выросла нагрузка на какие-то чисто логические части в приложении и тебе надо поднять дополнительных инстансов, то ты автоматически поднимешь еще и встроенных шардов/реплик этого хранилища, которые могут в твоем случае быть лишними и просто простаивать.
Ну и hazelcast/ignite не то, чтобы панацея - есть и негативные отзывы на них.
| |
|
|
3.35, Аноним (17), 01:49, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
А как он "лёжа в ОЗУ" не прокакивается? ОЗУ же энергозависимая память.
Люто-бешено сношает диск при каждой транзакции разве что.
Я верно понимаю что по сути это "мы засунули всю БД в ОЗУ что-бы быстрее читать из неё" и оно скорее для раздачи данных которые не изменяются особо?
| |
|
4.39, funny.falcon (?), 21:46, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Легко: данные сохраняются на диск в виде снапшота и логов. Когда процесс стартует, он вычитывает последний снапшот данных и логи начиная синего. При ответе клиенту с диска чтения не происходит.
| |
4.40, funny.falcon (?), 21:53, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Как раз-таки Тарантул очень подходит для интенсивного OLTP. Но, конечно, если данные (после шардирования (если таковое возможно)) все-таки влезают в память.
На удивление, однопоточный сервер настолько эффективнее на ядро, что один процесс (тарантула) может выдержать нагрузку, которую обычно на восемь ядер шлют. И я имею в виду именно короткие транзакции с записью, а не только чтение.
Конечно, всё упирается в возможность шардирования в вашей предметной области. Если порезать на независимые куски не получается, и единый многотредовый/многопроцессный (привет Постгресс) не избежен, то рано или поздно он обгонит однопоточный тарантул.
| |
|
5.41, funny.falcon (?), 22:00, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ну ок, на самом деле есть один хак, который делает сравнение не 100 честным: у тарантула по умолчанию транзакция не дожидается fsync, и fsync делается 10 раз в секунду. Т.е. есть вероятность потерять 100мс последних транзакций.
Можно повернуть ручку, и дожидаться каждый раз. Тогда каждой транзакции добавится латенси. Но общая производительность тарантула (т.е. пиковый tps) при этом просядет не сильно.
Доя сравнения:
- MongoDB делает fsync по умолчанию таким же образом.
- Redis делает fsync ещё реже.
- Cassandra, емнип, ещё реже редиса.
И только true SQL (MySQL, PostgreSQL) по умолчанию всегда дожидаются fsync, прежде чем ответить ok на COMMIT.
| |
|
|
|
2.25, prokoudine (ok), 10:25, 08/09/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А в чем соль этого in_memory?
В том, что когда у тебя кэш набирается под 100 гигов, вместо постоянной инвалидации кэша дешевле и проще держать всё в памяти.
| |
|
|
2.28, Брат Анон (ok), 11:38, 08/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Вот поэтому с использованием LSN я выбираю встраиваемую БД goLevelDB (ну, понятно по префиксу, что для го). Вжух штука, индексы, горячий кеш, батчинг, сжатие значений в памяти -- всё как мы любим. И кстати, в новости указан формат MessagePack -- я бы выбрал FlatBuffer. Может не так экономично, зато потери процессорного времени на сериализацию/десеарилезацию -- практически близки к нулю.
| |
|
3.38, Аноним (38), 20:31, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Разрабы из Facebook говорят, что leveldb не годится для серверного использования и именно поэтому они создали rocksdb. Только вот биндингов окромя официально поддерживаемого Java там нет.
| |
|
4.42, Брат Анон (ok), 23:25, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Разрабы из Facebook говорят, что leveldb не годится для серверного использования и
> именно поэтому они создали rocksdb. Только вот биндингов окромя официально поддерживаемого
> Java там нет.
Сложно мне судить, почему разрабы из книгоморды такое говорят, если учитывать тот маленький факт, что LevelDB специально гугловцами разрабатывался для использования на своих серверах)) Не просто для использования, а для очень энергичного использования. Если ещё вспомнить про тарантул (который тоже LSN) -- у меня сомнения закрадываются...
| |
|
|
|
1.29, Аноним (29), 11:44, 08/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Костя свою поделку бросил и из Мейлру ушёл, Мейлру изо всех сил старается это всё монетизировать. И как результат?
| |
|
2.34, Аноним (34), 01:06, 09/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Есть конторки с торгующие на рынке BigData с этим тарантулом
Вполне себе зарабатывают на хлеб с икоркой выше средне рыночной
в 1.5 - 2 раза зарплатой
| |
|
|