2012-03-18 3 views
1

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

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

Существует несколько серверов, так как есть много (позволяет определить, что 1000 000 **) запросов клиентов в секунду. Еще одна причина наличия нескольких серверов заключается в том, что если один сервер выходит из строя, клиент может просто подключиться к другому, чтобы продолжить.

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

Но учитывая, что данные должны быть текущими на каждом разъёме. Как это будет обрабатываться? Когда вызывается вставка или обновление, вам нужно будет отправить вызов на каждый сервер? Будет ли возможно иметь приложение реального времени или мы говорим о секундах или даже минутах задержки для каждой вставки/обновления базы данных для завершения. Также - как бы блокировка даже произошла ?!

Как это делается в реальной жизненной ситуации - если вообще?

** Я никогда не управлял или не создавал базу данных, которая обрабатывала бы большое количество запросов, поэтому я не знаю, смешно ли это.

+0

Это относится к serverfault.se –

+0

Действительно, я спрашиваю о том, как создать дизайн и базу данных/сервер ... конечно, что здесь? – Cheetah

+0

Вы хотите посмотреть на [CAP-теорему] (http://en.wikipedia.org/wiki/CAP_theorem), потому что у вас есть только 2/3. –

ответ

0

При сохранении нескольких баз данных и желая им сохранить синхронизированные попробовать использовать некоторые формы кластеризации или репликаций. Лучшее решение будет определяться рядом факторов, начиная с используемой РСУБД.

+0

Учитывая, что я не начал проект, который использовал бы это, я мог бы использовать любую СУБД. – Cheetah

Смежные вопросы