Назад | Перейти на главную страницу

Защита базы данных от неверных запросов

Я хочу создать кластеризованную и / или реплицированную реляционную базу данных, чтобы все приложения компании могли использовать одни и те же данные, не перемещая их вручную между базами данных.

Однако здесь возникают две проблемы:

Я думаю, что что-то вроде управления версиями на основе транзакций для данных (например, git для источника) может быть полезно, но в целом я мог бы использовать любую идею о том, как смягчить эти проблемы.

Плохой запрос на обновление или удаление может отключить все приложения и службы.

  • С большой властью приходит большая ответственность. Уточните разрешения пользователей базы данных и убедитесь, что только те пользователи, которые понимают это, имеют полномочия.
  • Используйте системы песочницы, не делайте разработки на продакшене.
  • Имейте под рукой способ отката изменений / восстановления базы данных. Попробуй это.

Если все хранилище унифицировано, как мы будем обрабатывать промежуточное хранение?

Как вы говорите, используйте управление версиями. Управление версиями кода приложения [например, svn], и вы также можете попробовать управлять версиями базы данных [и, например, Дженкинс для развертывания].