Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание зеркала сайта, вопрос синхронизации данных 
:(
    Опции темы
bars80080
Дата 2.8.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



да я такой! сутки прочь, работа стоит. придётся ночь вкалывать.
как будто я имею опыт.    зафлудили...

PM MAIL WWW   Вверх
skyboy
Дата 2.8.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Fortop @  2.8.2008,  14:37 Найти цитируемый пост)
У тебя должно это быть инкапсулировано. 

как ни инкапсулируй, запросы все равно переделывать. о чем ты?
Цитата(Fortop @  2.8.2008,  14:37 Найти цитируемый пост)
Т.е. в случае чего, тебе будет очень сложно отследить откуда на этом конкретном сервере взялась именно эта конкретная запись

в случае чего мне понадобиться что бы то ни было отслеживать? 
Цитата(Mal Hack @  2.8.2008,  15:48 Найти цитируемый пост)
Основной сервер, производя все изменения с БД посылает запрос в БД, и в случае успешного завершения тот же самый вопрос сохраняет в .sql файл. Добавление/редактирование файлов - фиксируется в текстовом файле filelist.xt в качестве полного имени файла.

так как содержмимое некоторых файлов связано с результатом запроса к БД, а в БД пишутся имена файлов, то лучше не разделять данные в БД  и файлы. и писать "лог действий" сразу в виде рнр-скрипта.
Цитата(Mal Hack @  2.8.2008,  15:48 Найти цитируемый пост)
Если надо организовать все это в realtime режиме

навряд ли. необходимости не вижу smile
Цитата(bars80080 @  2.8.2008,  16:14 Найти цитируемый пост)
т.е. зеркало имеет метку времени последней синхронизации и вводит новые записи и обновляет их с флагом, что эти записи существуют только на этом сервере.

при потенциальном расширении до трех серверов(один - девелоперский и два "основных") получается на запись надо уже два флага: "не синхронизировано с одним сервером" и "не синхронизировано с другим сервером". так?
Цитата(Fortop @  2.8.2008,  14:37 Найти цитируемый пост)
Возможна, в случае использования составного ключа с Namespace.

скажем, так: в этом случае отсуствие коллизий зависит не от кода и некой веорятности, а только от человеческого фактора. положим, номер сервера(namespace) хранится в отдельном файле. и при обновлении алгоритмической составляющей неаккуратный программист заменит и этот файл... и все! амба! так что невеорятной коллизия все равно не будет.
Цитата(bars80080 @  2.8.2008,  16:14 Найти цитируемый пост)
а вот в системе синхронизации - мастер и подчинённые.

не понял тебя. как я планирую делать систему, инициировать синхронизацию будет админ. т.е. и так будет происходить по схеме "мастер запросил - слейв ответил"
-----
ладно, достоинства и недостатки вариантов с GUID и с namespace + id обсудили. 
вариант Mal Hackа ещё обдумаю. может, я его неправильно понял?
систему bars80080 тоже не до конца, как мне кажется, понял.
ещё варианты для мозгоштурма будут? smile
PM MAIL   Вверх
Mal Hack
Дата 2.8.2008, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(skyboy @  2.8.2008,  23:33 Найти цитируемый пост)
так как содержмимое некоторых файлов связано с результатом запроса к БД, а в БД пишутся имена файлов, то лучше не разделять данные в БД  и файлы. и писать "лог действий" сразу в виде рнр-скрипта.

А кто говорит о раделении? У тебя есть лог изменений в Базе в виде запросов. Есть лог измененных файлов на севере. Все логи идут строго за сутки, ты берешь в час Х, в 00:30 к примеру делаешь апргрейда за вчера из этих логов. Никакой проблемы несоответствия файлов записям в БД не будет.

Цитата(skyboy @  2.8.2008,  23:33 Найти цитируемый пост)
навряд ли. необходимости не вижу smile

Ну так вообще замечательно =) Упрощает задачу разв 50 =)

PM ICQ   Вверх
Fortop
Дата 2.8.2008, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(skyboy @  2.8.2008,  22:33 Найти цитируемый пост)
в случае чего мне понадобиться что бы то ни было отслеживать? 

В случае развала репликации smile
В бытность свою работы диллером в Привате приходилось ночевать, когда падала репликация между нашим филиалом и Днепром smile

Цитата(skyboy @  2.8.2008,  22:33 Найти цитируемый пост)
омер сервера(namespace) хранится в отдельном файле. и при обновлении алгоритмической составляющей неаккуратный программист заменит и этот файл... и все! амба! 

Да, но совершить одну единственную ошибку,  в одном единственном файле из скажем 100 строк... Мгм
к тому же это может быть не файл а база с автоинкрементным полем smile
Просто при установке сервера, регистрируешь его в ней и она отдает тебе новый ID для сервера (он же namespace). Ты его тут же прописываешь на сервере и все ок.




--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
bars80080
Дата 2.8.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(skyboy @  2.8.2008,  22:33 Найти цитируемый пост)
получается на запись надо уже два флага: "не синхронизировано с одним сервером" и "не синхронизировано с другим сервером". так?
 нет-нет, как раз мастер-слэйв против этого. один флаг - несинхронизировано с мастером. мастер опрашивает все зеркала и получает список изменений, корректирует свою БД, а затем отправляет список изменений каждому слэйву.


Цитата(skyboy @  2.8.2008,  22:33 Найти цитируемый пост)
и так будет происходить по схеме "мастер запросил - слейв ответил"

да, равноправия по-любому не будет, потому и можно это использовать

имхо
PM MAIL WWW   Вверх
Nigel
Дата 3.8.2008, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: 7
Всего: 19



skyboy, для синхронизации файлов существует rsync, а mysql, может это поможет http://code.google.com/p/mysql-master-master/
PM MAIL   Вверх
sTa1kEr
Дата 3.8.2008, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



skyboy, я не совсем понял, все таки это зеркало или два разных сайта с периодическим слиянием данных?

В первом случае всее предельно просто, как сказал bars80080. Настраиваем репликации данных master-slave, при использовании обновления/добавления данных используем master, при единственной выборки один из slave серверов. Все, данные будут гарантированно и прозрачно синхронизованы на всех серверах без каких либо коллизий индексов и без костылей с SQL дампами в PHP.
Единственный недостаток - это изменения на слйвы будут приходить с задержкой в несколько секунд.
Что же касаемо файлов пользователей, то их нет смысла дублировать. Для не них лучше выделить отдельный(ые) файловый(ые) сервер(а) и шустрыми винтами в raid 5, к примеру.

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

Цитата(skyboy @  2.8.2008,  16:30 Найти цитируемый пост)
ибо вероятность того, что в период между репликациями на двух разных серверах будет сгенерировн одинаковый guid существует

Я аж чуть кофем не подавился! Не шутите так больше smile 
PM MAIL   Вверх
skyboy
Дата 3.8.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(sTa1kEr @  3.8.2008,  12:28 Найти цитируемый пост)
Что же касаемо файлов пользователей, то их нет смысла дублировать. Для не них лучше выделить отдельный(ые) файловый(ые) сервер(а) и шустрыми винтами в raid 5, к примеру.

хм. а надежность? свой сервер? не то, чтоб часто хостигн падал, но это в любом случае было неприятно. если бы был сервер, устраивающий как надежностью, так и стоимостью использования, то там был бы и файловый сервер и сервер БД. и никакой синхрнизации не требовалось бы.
Цитата(sTa1kEr @  3.8.2008,  12:28 Найти цитируемый пост)
все таки это зеркало или два разных сайта с периодическим слиянием данных?

возможно, я сам до конца не понял. как я ожидаю, это будет два сервера, один из которых будет доступен всегда. а второй - только в случае падения первого. никакого промежуточного сервера-балансировщика. 
Цитата(sTa1kEr @  3.8.2008,  12:28 Найти цитируемый пост)
при использовании обновления/добавления данных используем master, при единственной выборки один из slave серверов

угу. а если как раз мастер лег? ждать, пока его не поднимут? ведь по схеме мастер-слейв мы не можем обновлять данные на слейвах. точнее, можем, но они сохранятся ровно до синхронизации с мастером. или я неверно понимаю идею?
Цитата(sTa1kEr @  3.8.2008,  12:28 Найти цитируемый пост)
К примеру, синхронизировать существующие данные бессмыслено, т.к. изменения могут быть сделаны одновременно на обоих сайтах.

а как это решается в случае использования системы контроля версий? предложить выбор человеку: мол, "есть такой объект с таким содержимым и такой. какой пишем?" но всю грязную работу(эскпорт, импорт, определение дубликатов) возложить на программу, а не на человека.
Nigel, спасибо. посмотрю. впрочем, там синхронизация только содержимого БД....
Цитата(Fortop @  2.8.2008,  22:10 Найти цитируемый пост)
к тому же это может быть не файл а база с автоинкрементным полем 

чур меня, чур. ещё одно звено с неединичной надежностью. на котором ещё и работа системы завязана. брррр..
Цитата(Fortop @  2.8.2008,  22:10 Найти цитируемый пост)
Да, но совершить одну единственную ошибку,  в одном единственном файле из скажем 100 строк... 

нееее.... я имел в виду: выливая по FTP обновленные скрипты затереть и маааленький "файл из, скажем, 100 строк" smile
впочем, это уже прдирки. я отлично понимаю, что на 100% универсального и надежного решения не может быть...
Цитата(sTa1kEr @  3.8.2008,  12:28 Найти цитируемый пост)
Я аж чуть кофем не подавился! Не шутите так больше 

а ты кофе не пей за компьютером  smile А что тебя смутило? не могу ж я не отметить хотя бы и  потенциальную возможность коллизий. 
PM MAIL   Вверх
skyboy
Дата 3.8.2008, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



частичное обобщение дискуссии:
в случае необходимости создания зеркала с отдельно хранящимися БД и файлами(к примеру, фотки и прочие контент, генерируемый пользователями) возможны два подхода: репликация слиянием(как первое зеркало, так и второе имеют БД/файлы,которые могут модифицироваьтся вне зависимости от состояния второго зеркала; и наоборот - второе может модифицироваться вне зависимости от первого) и репликация транзакциями(когда модифицироваться может содержимое только первого зеркала, а второе и остальные зеркала подстраивают свое содержимое под содержимое первого).
достоинства второго подхода - относительная простота реализации и отсутствие коллизий(под коллизией понимается ситуация, когда произошла модификация какого-то объекта на обоих зеркалах независимо и тогда односторонняя синхронизация затрет изменения на синхронизируемом сервере)
достоинства первого подхода - равноправие контента на серверах(создание контента пользователями невозможно контролировать; и возможность добавить комментарий пользователя в момент, когда первое зеркало не работает и его подменяет второе - действительно важно).
----
для реализации первого сценария(слияния) надо задуматься над тем, чтоб исключить(или хотя бы снизить) возможность коллизии. Когда каждый объект идентифицируется только автоинкрементным ключом, то коллизий нет только в пределах одной таблицы на одном из зеркал. В масштабе несколькиз зеркал коллизии неизбежны. 
для уникальной идетификации объектов можно:
- дополнить автоинкрементным id неким полем вроде namespace, в котором будут данные, уникальные для каждого отдельного сервера(зеркала). тогда, даже после слияния списков, коллизии отсутствуют вовсе; одни и те же объекты отлично обнаруживаются даже после редактирования. недостаток: требуется  доработка кода(порою - значительная; приходится переделывать все запросы, в которых есть связывание таблиц) или предварительное проектирование(чтоб запросы сразу получались такими, как нужно)
- иденитфицировать объект неким псевдослучайным ключом, значительно снижающим вероятность коллизий(5 полей типа int, заполненные результатом вызова random() или результат вызова функции UUID()). достоинство в том, что это дополнительное поле можно заполнять только при экспорте данных, при импорте данных(если идентификатор не найден в БД и это новый, добавляемый объект) происходит генерирование "обычного" автоинкрементного(уникального в пределах БД) илдетификтора. что некритично повышает производительность(в сравнении с ключом из 2 полей) и, что главное, позволяет пользоваться теми же запросами, что и в БД без возможности слияния  - то есть код дорабатывается только в отношении механизмов экспорта и импорта. недостаток: вероятность коллизии существует и не зависит от кода/корректности настроек.
------
механизм репликации тоже зависит от того, будем ли мы делать объединение данных с зеркал, или просто перекроем содержимое одного зеркала(slave) содерджимым другого сервера(master). 
в случае, если нам требуется только подстроить состояние slave-сервера под состояние master-сервера(как мне кажется, именно об этом говорят sTa1kErbars80080 и Mal Hack),то и правда  - лучше вести лог действий в виде отельных файлов  - дамп запросов изменения БД и дамп манипуляции над файлам(можно в хитром формате лога, можно в виде PHP-скрипта).
в случае, если нам требуется слияние(то есть сложная логика по коррекции имеющихся объектов и определния расходений в данных), то возможно либо писать данные в виде XML(причем, использование всяких библиотек, строящих DOM дерево в памяти, неприменимо из-за потенциально большого размера результата - придется писать напрямую в файл), либо создавать "инструкцию по синхронизации" в виде готового к запуску PHP-скрипта: перенесели на нужный сервер. указали в настройках параметры доступа к БД и настройки путей  - и скрипт сам все сделал. естественно, вариант с XML гибче.
-------
сиим выделял достоинства, красным - недостатки.

Добавлено через 1 минуту и 5 секунд
Цитата(skyboy @  3.8.2008,  22:42 Найти цитируемый пост)
в случае, если нам требуется слияние

забыл отметить, что этот вариант исполнения мы обсуждаем с Fortop.
PM MAIL   Вверх
sTa1kEr
Дата 4.8.2008, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(skyboy @  3.8.2008,  20:54 Найти цитируемый пост)
хм. а надежность? свой сервер?

Да, конечно, я имел ввиду выделенный сервер. Собственно, я видимо не внимательно прочитал, т.к. решил что речь идет именно о них. Хотя можно тоже самое и на VDS реализовать, но все же лучше арендовать не дорогой выделенный сервер, я думаю это выйдет даже дешевле.

Цитата(skyboy @  3.8.2008,  20:54 Найти цитируемый пост)
это будет два сервера, один из которых будет доступен всегда. а второй - только в случае падения первого.

Ага. Тогда еще проще - работаем только с мастером, все данные реплицируются на слейвы. Если мастер падает, то вместо него мастером делаем один из слейвов и продолжаем работать.

Цитата(skyboy @  3.8.2008,  20:54 Найти цитируемый пост)
угу. а если как раз мастер лег?

Если мастер лег, то на его замену мастером может стать любой из слейвов.

Цитата(skyboy @  3.8.2008,  20:54 Найти цитируемый пост)
А что тебя смутило? не могу ж я не отметить хотя бы и  потенциальную возможность коллизий.  

В пределах одного коннекта к одному серверу в одну единицу времени - в принципе можешь, хотя с тем же успехом ты можешь утверждать, что тебе не хватит размерности BIGINT для первичных ключей тех же самых данных. А так как речь идет про разные сервера, то guid здесь даже более надежный уникальный идентификатор, чем namespace + bigint + все остальные предложенные здесь, вместе взятые идентификаторы. 

Хотя использовать guid я бы все-таки не стал просто за не надобностью и из-за достаточно значительного увеличения размера индексов.
PM MAIL   Вверх
skyboy
Дата 4.8.2008, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(sTa1kEr @  3.8.2008,  23:22 Найти цитируемый пост)
и из-за достаточно значительного увеличения размера индексов

моя идея, кстати, в том, что guid-like индекс используется только при импорте/экспорте. а в "обычных" запросах как использовался автоинкрементный int, так и используется. только один и тот же объект на разных серверах потенциально может иметь разный этот самый autoincrement int - он при импорте создается. и со всеми связями синхронизируется.
Цитата(sTa1kEr @  3.8.2008,  23:22 Найти цитируемый пост)
Если мастер падает, то вместо него мастером делаем один из слейвов и продолжаем работать.

репликация происходит непостоянно. приведу на примере комментариев. 
0. живы оба сервера. основным(master) выступает первый. некто добавляет комментарий.
1. после чего сервер ложится и основным(master) выступает второй сервер. некто добавляет комментарий.
2. кого теперь ни сделаешь master'ом, при односторонней синхронизации один из комментариев будет удален.
или все же я уже второй день вас не понимаю, и вы тоже о слиянии данных говорите?
PM MAIL   Вверх
sTa1kEr
Дата 4.8.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(skyboy @  4.8.2008,  10:17 Найти цитируемый пост)
моя идея, кстати, в том, что guid-like индекс используется только при импорте/экспорте.

А после импорта/экспорта полностью перестраивать ВСЕ autoincrement индексы в БД? Или как?

Цитата(skyboy @  4.8.2008,  10:17 Найти цитируемый пост)
или все же я уже второй день вас не понимаю, и вы тоже о слиянии данных говорите? 

Вы правильно меня понимаете. Только не учитываете, что:
1. Время между репликациями короткое, много комментариев за несколько секунд запостить не успеют.
2. На мастере ведется бинарный лог, т.ч. восстановить данные, которые не успели реплицироватся - минутное дело.
3. Как ни крути, но всякими PHP скриптами более надежная схема не получится. Можно использовать вариант Nigel с полной синхронизацией серверов, но в ущерб производительности.



Это сообщение отредактировал(а) sTa1kEr - 4.8.2008, 10:43
PM MAIL   Вверх
skyboy
Дата 4.8.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(sTa1kEr @  4.8.2008,  09:42 Найти цитируемый пост)
А после импорта/экспорта полностью перестраивать ВСЕ autoincrement индексы в БД? Или как?

есть таблица objects. с полем guid и int auto_increment. 
есть таблица objects_links, где есть четыре поля: 
object_id_1 int,
object_guid_1 guid,
object_id_2 int,
object_guid_2 guid
когда импортируем, то в первую таблицу значение поля id не выставляем и оно генерируется автоматически.
во вторую таблицу вставляем значения только в поля типа guid. int'овские поля пока пусты.
после чего определяем из первой таблицы, с какими id были вставлены объекты и вставляем в нужные записи второй таблицы. вуа-ля. все старые запросы вполне работают без учета поля типа guid.
Цитата(sTa1kEr @  4.8.2008,  09:42 Найти цитируемый пост)
Время между репликациями короткое, много комментариев за несколько секунд запостить не успеют.

не. я не думал делать автоматическую репликацию каждые N секунд. в моем понимании это должно было происходить намного реже, по требованию: после сбоя основного сервера, когда некоторое время основным являлся вторичный. 
впрочем, если будут очень часто реплицироваться данные, то необходимость именно слияния и правда отпадает - ведь за пару секунд в самом деле - 
Цитата(sTa1kEr @  4.8.2008,  09:42 Найти цитируемый пост)
много комментариев за несколько секунд запостить не успеют


PM MAIL   Вверх
sTa1kEr
Дата 4.8.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(skyboy @  4.8.2008,  12:45 Найти цитируемый пост)
когда импортируем, то в первую таблицу значение поля id не выставляем и оно генерируется автоматически.

А как же ссылочная целостность? Какой вообще смысл в первичных ключах, если они будут по новой генерироваться каждый раз заново, причем для каждой таблицы отдельно? Если уж использовать guid, то только в качестве "нормальных" первичных ключей, и не надо никаких плясок с бубном тогда.

Цитата(skyboy @  4.8.2008,  12:45 Найти цитируемый пост)
в моем понимании это должно было происходить намного реже, по требованию

Тогда смысл репликаций вообще теряется.
PM MAIL   Вверх
skyboy
Дата 4.8.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(sTa1kEr @  4.8.2008,  11:09 Найти цитируемый пост)
Какой вообще смысл в первичных ключах, если они будут по новой генерироваться каждый раз заново, причем для каждой таблицы отдельно?

не для таблицы, а для объекта. т.е. только автоинкрементные поля. внешние ключи не генерируются, а синхронизируются с первичным ключом.
Цитата(sTa1kEr @  4.8.2008,  11:09 Найти цитируемый пост)
А как же ссылочная целостность?

при экспорте роль внешнего ключа играет guid, после импорта используется уже поле типа int. выиграваем в скорости и размере ключа.
Цитата(sTa1kEr @  4.8.2008,  11:09 Найти цитируемый пост)
и не надо никаких плясок с бубном тогда

почему же "пляски с бубном"? почему тогда номер загранпаспорта не используется в качестве идентификатора внутри страны?  smile 
Цитата(sTa1kEr @  4.8.2008,  11:09 Найти цитируемый пост)
Тогда смысл репликаций вообще теряется. 

теряется? просто репликацию при схеме "основной сервер - резервный сервер" нет смысла проводить, когда одновременно они не работают(никакого дополнительного балансировщика ведь нет). репликация должна происходить только после того, как основной некоторое время был в ауте и работал только резервный. разве репликация - только тогда репликация, когда происходит очень часто? smile
PM MAIL   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1231 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.