Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Синхронизация MySQL

377
07 апреля 2009 года
nosferatu
86 / / 17.12.2002
Всем привет.
Такой вопрос - есть потребность написать приложение с базой данных, которая обновляется через интернет.

СУБД предпочитаю MySQL. Есть возможность у этой СУБД синхронизировать БД на сервере и на клиенте, что бы не вся БД какждый раз к клиенту переливалась, а только обновления???

Может есть более оптимальные способы???
11
07 апреля 2009 года
oxotnik333
2.9K / / 03.08.2007
в каждой таблице делаешь поле типа дата обновления, куда вписываешь текущую дату/время и на клиенте и на сервере. при соединении клиента с серверов синхронизируешь локальное клиентское время относительно сервера и выбираешь и там и сям данные по полю дата/время обновления в соответствии с последним сеансом синхронизации.
377
08 апреля 2009 года
nosferatu
86 / / 17.12.2002
Спасибо! Примерно понял...
А как быть с удаленными записями серверной БД???
11
08 апреля 2009 года
oxotnik333
2.9K / / 03.08.2007
Цитата: nosferatu
Спасибо! Примерно понял...
А как быть с удаленными записями серверной БД???


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

6
08 апреля 2009 года
George
4.1K / / 05.01.2007
эта... репликация имхо рулит. у нас вон 6 сервов по казахстану с репликацией и ниче - работает. правда субд -MS SQL Server 2000 :-/
Или в мускуле нет такой штуки?
2
08 апреля 2009 года
squirL
5.6K / / 13.08.2003
Цитата: nosferatu
Всем привет.
Такой вопрос - есть потребность написать приложение с базой данных, которая обновляется через интернет.

СУБД предпочитаю MySQL. Есть возможность у этой СУБД синхронизировать БД на сервере и на клиенте, что бы не вся БД какждый раз к клиенту переливалась, а только обновления???

Может есть более оптимальные способы???


настройте репликацию. до 5.1 - репликация работает - записью в бинлог запросов (insert, update,delete) и передачей их на второй сервер с выполнением там. таким образом - данные синхронны. с 5.1.4 - репликация более продвинута - row-based, когда в бинлог пишуться реальные изменения в строке.

учтите, что репликация в MySQL - master-slave. т.е. - один сервер ведущий, другой ведомый. писать можно только на ведущий (master). теоретически можно сделать и master-master, но есть ньюансы и нет гарантии бесперебойной работы.

читать тут:
http://dev.mysql.com/doc/refman/5.1/en/replication.html

будут вопросы - задавайте :)

377
11 апреля 2009 года
nosferatu
86 / / 17.12.2002
Задаю :-)

А есть по-русски где-нибудь?? Может даже с примерами реализации???

СУБД MySQL ведь придется на клиентский комп ставить??? А это не очень хорошо. Может есть какие-то другие СУБД, что бы пользователь просто скачал себе клиентскую часть и всё заработало??? Ну и есссно, что бы в этой СУБД можно было синхронизацию настроить.
2
11 апреля 2009 года
squirL
5.6K / / 13.08.2003
по русски есть, даже на этом сайте. но вся документация на русском - как правило не очень актуальна.

что касается "клиентского компа" - так вам на каждого клиента нужно ставить СУБД???? какая-то странная архитектура. в этом случае - MySQL не очень подойдет. нужно что-то легковесное, вроде SQLIte и писать "синхронизатор"
377
11 апреля 2009 года
nosferatu
86 / / 17.12.2002
Как раз и хочется уйти от того, что не ставить на каждый клиентский комп СУБД. СУБД должна поддерживаться хостингом. Притом должна быть возможность клиентского компа работать локально с базой без подключения к инету
6
11 апреля 2009 года
George
4.1K / / 05.01.2007
ты определись, где бд находится. если прога работает в локальной сети, то субд надо поднять на одном из компов, если по уму то на сервере. если клиентские приложения работают удаленно, то используй субд хостера, но тут без подключения к инету никак.
377
11 апреля 2009 года
nosferatu
86 / / 17.12.2002
Эталонная Бд находится у хостера. Клиенты просто синхронизируют свои локальные бд через инет
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог