Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: master-master && master-slave
 
 автор: ubique   (14.05.2009 в 15:05)   письмо автору
 
 

Добрый день.

Существует примерно такая схема:
     
                 _ _ _ _ _ _ _                     _ _ _ _ _ _ _ _
                 |           |                     |            |
                 |    master |  -----------------> | slave1     |
                 |           |                     |            |
                 |_ _ _ _ _ _|                     |_ _ _ _ _ __| 
                 /       \
                /         \
               /           \
              /             \
_ _ _ _ _ _ _ _              _ _ _ _ _ _ _                            
|            |               |            |                               
|    slave2  |               |    slave3  |                            
|            |               |            |                            
|_ _ _ _ _ _ |               |_ _ _ _ _ _ |                            



На всех серверах mysql 4 ветки. Между master & slave1 репликация master-slave. Причем slave1 реплицирует все, за исключением одной таблички(сильно тяжелая). На slave1 идут исключительно select запросы, никаких insert'ов нет.
Slave2 & slave3 реплицируют всего несколько табличек, в отличии от slave1. Но, в slave2 & slave3 идут insert'ы.
В master приходит основной поток insert'ов.
В резуьтате того, что в slave2&slave3 приходят некоторые insert'ы, ломаются master-slave репликация между master и slave2&slave3.
(В результате того, что slave2 и slave3 имеют на некоторых таблицах различные autoicrement_value, и при реплицированиии с master, может возникнуть ситуация duplicate entry).

Что хочется получить:
1. Идеальный вариант: наличие master-master репликация нескольких табличек между slave2&slave3 - master
2. Достаточный вариант: работа master-slave репликации между slave2&slave3 - master

Насколько я понимаю, достаточный вариант можно получить, проапргрейдив все сервера до 5 версии и выставив определленые значения autoincrement_increment и autoincrement_offset на slave2, slave3 и master.

Существуют ли какие-либо другие способы решения? Может быть стоит перейти к какой-то другой схеме репликации?
Так же, не будет ли возникать проблемы, в случае master-master репликации между slave2&slave3 - master, поскольку на slave2&slave3 находится только несколько табличек, а в master их гораздо больше(если указывать replicate-do-table - то не будет ли slave1 реплицировать только эти таблички. В конфиге my.cnf slave1 прописано какие таблицы игнорировать).
Чтобы не быть голословным - slave1 и slave2 - базы хранилище для dns-системы. slave1 - реплика, которая создана для уменьшения нагрузки master и используется только для большого количества select запросов. Убрать из схемы slave2 и slave3 - нельзя.

  Ответить  
 
 автор: ubique   (14.05.2009 в 19:34)   письмо автору
 
   для: ubique   (14.05.2009 в 15:05)
 

Проблему решили, путем использования составного ключа в таблице.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования