Вопрос о масштабируемости - базы данных master / slave - PullRequest
0 голосов
/ 20 мая 2010

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

Как обычно операции записи и чтения организованы в приложениях, в которых доступна как ведомая, так и основная база данных?

Как большие парни справляются?

Ответы [ 2 ]

4 голосов
/ 20 мая 2010

Правило 1: Не надо.

Правило 2: не делайте этого, пока вы не измерили и не доказали, что база данных действительно является вашим узким местом. Большинство узких мест в веб-приложениях - это время, необходимое для обслуживания статического контента и устаревшего контента. Ничего общего с транзакциями базы данных.

Правило 3: даже тогда смотрите на другие способы разделения ваших данных, а не дублируйте свою базу данных. Получить историю от текущих данных в хранилище. Разделение данных по клиентским или тематическим областям или веб-приложению на несколько одноранговых баз данных с ограниченным доступом или без совместного использования.

Правило 4: Когда вы можете доказать, что альтернативы нет , посмотрите на базы данных master-slave.

Вот как много людей решают эту проблему.

3 голосов
/ 20 мая 2010

Для одного главного, мульти-подчиненного устройства это часто так же просто, как отправка всех запросов на изменение данных на мастер и все выборки на подчиненное устройство. Обычно ваш уровень абстракции базы данных может легко справиться с этим для вас. В этой статье есть некоторые подробности об этом конкретном виде установки.

...