Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос о синхронизации баз данных
Форумы портала PHP.SU » » Вопросы новичков » Вопрос о синхронизации баз данных

Страниц (1): [1]
 

1. pioneer - 01 Апреля, 2016 - 00:23:33 - перейти к сообщению
Доброго времени суток, уважаемые форумчане!

Есть две идентичные таблицы (назовем их А и В) в двух совершенно разных БД MySQL, сервера которых расположены в разных странах (достаточно далеко друг от друга). В перспективе обе БД будут работать с высоко нагруженными сайтами. В таблицу В в течение дня добавляются многочисленные данные, которые нужно в определенное время (например, в 20:00) синхронизировать с таблицей А (данные, которых еще нет - добавить, существующие - обновить, удаленные - также удалить). Какие в этом подходе особенности: работа с выборками больших объемов данных, необходимость создания дополнительных полей-статусов у строк, информирующих об их синхронизации (при этом при удалении в таблице В сами строки удаляться не должны, а им лишь необходимо приписывать статус "удален"), и, возможно, еще некоторые другие не очень приятные особенности. По идее существует еще один вариант: разработать API на том сайте, где находится таблица А, и при добавлении/редактировании/удален ии данных пользователем (через некий подразумеваемый личный кабинет) на втором сайте (с таблицей В) слать запросы к сайту А (мол, вот такую-то запись добавь к себе, а вот эту - удали, и т.д.)

Как Вы считаете, какой из предложенных способов (или предложите свой вариант) проявит себя в работе лучше? Какой будет более эффективным? Что еще следует учесть? Конечно, самый главный критерий в этой задаче - это 100%-ая гарантия в синхронности данных, а негативные факторы - возможность "перегруза" одного из (или даже обоих) серверов, дальность расстояния между ними (и как следствие - прямо пропорциональное немалое время ожидания), другие форс-мажоры и мое незнание этой темы Хм , поскольку с такой задачей сталкиваюсь в первый раз.

За любую помощь, дельные советы и активное обсуждение заранее спасибо! Улыбка
2. T1grOK - 01 Апреля, 2016 - 12:34:44 - перейти к сообщению
Репликация
3. Contr - 01 Апреля, 2016 - 15:14:28 - перейти к сообщению
Делать дамп одной таблицы, сливать данные во вторую раз в день
4. armancho7777777 - 01 Апреля, 2016 - 16:45:55 - перейти к сообщению
pioneer
Найдите книжку "MySQL. Оптимизация производительности, 2-е издание".
Глава 8: Репликация (стр. 427)

 

Powered by ExBB FM 1.0 RC1