@nioterzor

Деградация производительно mongodb?

Есть несколько таблиц в mysql, суммарно порядка миллиарда записей.
Вследствие недостаточной эффективности хранения (фактический объем 200 ГБ, на диске занимает 500 ГБ (условно)) было принято решение переносить их в другую базу.
Начал с mongodb. Навскидку занимает в два раза меньше места на диске.

Специфика: много вставок и выборов, очень мало удалений.

Написал маленький бенчмарк, который проверяет скорость вставки. Оказалось, что на первых десятках тысяч записей монга очень шустро обрабатывает insert (100-200/секунду, железо - ноутбук с I5 и 6GB RAM), но после определенного порога вставки начинают сильно тормозить (5 записей в секунду, где mysql на том же железе дает сотню).

Формат данных: каждая строка представляет несколько integer полей, три timestampа (created_at, updated_at, deleted_at) и пару varchar (в форматах mysql).

Приложение, использущее базу, написано на Laravel, так что переезд выйдет "дешевым" (API взаимодействия с базой не меняется).

С монгой опыта мало. Пробовал только отключать journal, это дало прирост процентов на 5, не больше.

Что я не так делаю? Может не умею готовить монгу?

P.S. Как вариант, посоветуйте базу, подходящую для таких данных (не inmemory, т.к. в каждый момент времени требуется от силы 1% данных).
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 1
@awesomer
Aerospike.
In-Memory Persistent.
Но - в памяти держит не всю базу, а только индексы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы