@Utarzan123
backend

Целесообразно ли логирование выносить в отдельную базу?

Сейчас мы начали отслеживать изменение любых моделей и логировать это в базу данных. Например, отслеживать все действия пользователя. База пухнет и для бэкэнд разработчика выкачивать дамп базы для локальной разработки становится проблемой. Да и основную базу подвергать лишней нагрузке тоже нежелательно.

Целесообразно ли вести логирование в отдельной базе данных?
В данной ситуации у нас используется Laravel
  • Вопрос задан
  • 412 просмотров
Пригласить эксперта
Ответы на вопрос 5
gscraft
@gscraft
Программист, философ
А в чем загвоздка? Проблем с этим нет, если журналы грузят базу, то используйте отдельную. И даже не классическую базу, а MongoDB, например, или иные инструменты.

PS Ну а снятие копий, почему не исключить таблицы при выборке? Плюс, есть другие решения для разработчика, например, наборы тестовых данных (у Laravel есть соответствующий инструмент).
Ответ написан
@dimuska139
Backend developer
Можете создать слейв-реплику - и дамп снимать с неё. Тогда нагрузки на прод не будет. Другое дело, что вообще не ясно, почему для локальной разработки разработчикам разрешается снимать дамп прода. У разработчиков туда вообще по-хорошему доступа быть не должно (только у ответственных лиц). Для локальной разработки должен быть специально подготовлен дамп, причём желательно чтобы в нём были ненастоящие данные или обезличенные (например, имейлы пользователей заменены на фейковые).
Ответ написан
Roosso
@Roosso
Нетипичный программист
Наверное в целом вести логи в SQL БД не очень задумка.

Порекомендую Вам MongoDB. Это no-SQL решение, в целом ориентированное как раз на регистрацию событий. Меньше нагрузки на сервер, меньше проблем с деплоем обновлений на прод.
Ответ написан
@Kirill-Gorelov
С ума с IT
ЧТо-то никто не предлагает крутой вариант с иластиком....
Буду первым.
Ответ написан
@Vitsliputsli
Для разработки база должна разворачиваться из миграций, т.е. не должно быть никакой зависимости от прода. Если не используете их, то пора начать. Чтобы не писать их все с нуля, создайте дамп структуры и разворачивайте его, а новые изменения уже в миграциях. Необходимые для разработки и тестирования данные заполняйте фикстурами.
Что касается логов в базе, то нужно понимать, как вы их используете, и уже исходя из этого выбирать решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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