Как мне спроектировать несколько одинаковых приложений, обновить одну базу данных - PullRequest
0 голосов
/ 26 апреля 2019

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

Мой вопрос заключается в том, как избежать конфликтов или «грязных» данных, когда два приложения одновременно выполняют обновления / вставки в базу данных.

Например: update t_sale set total='${num}' where category='cs', еслиесть два процесса, выполняющие вышеуказанный sql одновременно, что приведет к потере данных.

1 Ответ

0 голосов
/ 26 апреля 2019

Если под «базой данных» речь идет о хорошо спроектированной схеме, работающей в СУБД, такой как Oracle, DB2 или SQL Server, то сама база данных предотвратит то, что вы называете «конфликтами», заблокировав части базы данных.во время каждой транзакции обновления.

Вы можете предотвратить попадание «грязных данных» в базу данных, добавив такие функции, как пункты проверки и структуры первичного внешнего ключа, в самой базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...