Все зависит от того, как работает ваша игра.
NoSQL
Farmville на Facebook использует NoSQL. Farmville действует как 1 огромный сервер, на котором все находятся. Допустим, Farmville использует 3 компьютера в своем кластере баз данных. Компьютер 1 в Сан-Диего. Компьютер 2 в Нью-Йорке. Компьютер 3 в Москве. Я вхожу в Facebook из Сан-Диего, поэтому я
подключитесь к базе данных здесь. Я поднимаюсь и выхожу. В конце концов Компьютер 1 расскажет компьютерам 2 и 3 о том, как я выровнялся, но может пройти около часа, прежде чем кто-то в России увидит эти изменения в моей учетной записи.
Масштабирование NoSQL так же просто, как добавление другого компьютера в кластер и указание веб-сайту в этом регионе использовать этот компьютер.
SQL
Есть несколько способов заставить SQL работать, но я объясню способ сделать его похожим на NoSQL
В каждом дата-центре будет 10 игровых серверов, каждый со своей базой данных SQL + 1 база данных субмастера. База данных субмастера поделилась информацией между всеми 10 серверами, поэтому если вы войдете на сервер 1 и создадите персонажа Джона Доу, а затем выйдете из системы, сервер 10 получит вашего персонажа, если вы войдете на этот сервер следующим.
Sub Master затем делится своей информацией с Master Server в вашем главном офисе. Мастер-сервер затем поделится Джоном До с каждым другим субмастером во всех других дата-центрах, и эти субмастера обновят свои игровые серверы. Эта конфигурация позволит вам войти на сервер Weed в Сан-Франциско, сыграть вашего персонажа, выйти из системы, войти на сервер Vodka в Москве и по-прежнему видеть вашего персонажа.
Такие игры, как World of Warcraft, используют SQL, но доступны только некоторые части базы данных. Это позволяет уменьшить размер базы данных на каждом компьютере, а также снизить требования к оборудованию.
В реальной жизни каждый субмастер имеет резервный субмастер, а ваш мастер-сервер будет иметь несколько резервных серверов на тот случай, если один сервер выйдет из строя во всей вашей сети, и он не заблокируется.