Добрый день!
У меня появилась идея создания программы, которая в процесе работы будет брать данные с базы данных, работать с ними и обновлять. При этом база должна быть общей для всех копий программы, которые где-либо запустятся.
Обдумав все, я дошел до вывода, что теоретически возможно выгрузить БД MySQL на хостинг и в программе прописать данные для доступа к ней (т. е. при каждом запуске каждой программы будет автоматически подключение к БД).
Возможно лии это осуществить? Есть ли какие-либо подводные камни, о которых я не подумал?
Спасибо!
VasylHoshovsky
24 уровень
Теперь вижу, что моя теория подходит только для тех случаев, когда все юзеры работают со своими частями БД, пересекаясь по-минимуму. Как же быть, когда все меняют одно значение? Конфликт выйдет…
Вы правильно мыслите =) но СУБД обычно не дураки пишут.
MySQL поддерживает ACID dev.mysql.com/doc/refman/5.6/en/mysql-acid.html
или ru.wikipedia.org/wiki/ACID
Так как каждый раз создавать новое соединение не выгодно.
Для множества соединений существует настраивамый connection pool идея в том чтобы
изначально выделить кэш под соединения и потом их повторно использовать также как правило есть доп. настраиваимые опции но у всего есть лимиты
когда вы их исчерпаете нужно будет думать о маштабировании я знаю про два вида вертикальное
и горизонтальное первое значит что вы наращиваете мощность текущего сервака (апгрейд железа) второе добавляете новые серваки.
Также можешь почитать про Observer Pattern или Akka может решишь изобрести свой велосипед.