Как создать псевдо-документную модель?

0

В настоящее время я использую Rails с Mysql в качестве бэкэнд. К сожалению, мое приложение масштабировалось в данных, которые не ожидались или не были предвидены при его запуске. Теперь я столкнулся с множеством проблем с производительностью, увеличивая количество записей в базе данных, и ActiveRecord получает удар из-за многочисленных запросов, которые увольняются из-за использования реляционной логики.

Я подошел к тому моменту, когда мне хотелось заплатить штраф за то, что он пользуется преимуществами соответствующей реляционной модели. Поскольку скорость попала под молот, мне пришлось провести исследование на документах-ориентированных моделях, таких как Mongo DB, и обнаружили, что они предлагают скорость, компенсирующую реляционные функции.

Мой вопрос здесь в том, как медленно мигрировать из реляционной модели в модель документа. Возможно, я сохраню свои временные схемы или возвращаемые таблицы и выгружаю их как объемный документ "на лету" вместо того, чтобы создать надлежащую документально-ориентированную БД (по крайней мере, на начальном этапе). Пространство для меня не проблема. Все, что мне сейчас волнует, - время. Но тогда я не могу сделать это за один раз. Я хотел бы знать, как подойти к этой проблеме, любые ссылки/ссылки, в которых эта проблема была решена, были бы очень оценены.

Теги:
database
migration
scalability

1 ответ

0
Лучший ответ

Я бы настоятельно рекомендовал не переходить на документ db, если ваши данные больше не подходят для такой базы данных.

Миграция по причинам скорости, как правило, была бы плохой идеей, и вам следует искать медленные запросы в вашей существующей AR-системе и оптимизировать их.

  • 0
    Я не собираюсь полностью переходить на базу данных Document, а вместо этого попытаюсь использовать этот дизайн по частям.
  • 0
    Если бы ваши данные не послужили веской причиной для перехода на документ БД, я бы этого не сделал. Сайты могут очень хорошо масштабироваться на MySQL и Rails с должным вниманием.
Сообщество Overcoder
Наверх
Меню