Задать вопрос
@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% данных).
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Академия Eduson
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Merion Academy
    Java-разработчик с нуля
    4 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@awesomer
Aerospike.
In-Memory Persistent.
Но - в памяти держит не всю базу, а только индексы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы