Синхронизация MySQL
Такой вопрос - есть потребность написать приложение с базой данных, которая обновляется через интернет.
СУБД предпочитаю MySQL. Есть возможность у этой СУБД синхронизировать БД на сервере и на клиенте, что бы не вся БД какждый раз к клиенту переливалась, а только обновления???
Может есть более оптимальные способы???
А как быть с удаленными записями серверной БД???
А как быть с удаленными записями серверной БД???
А пусть удалением занимается клиент, т.е. если на клиенте нет такой записи, то и с сервера ее сносить. Либо вообще ничего не сносить, а ставить признак удаления записи и в выборках отображать согласно этого признака.
Или в мускуле нет такой штуки?
Такой вопрос - есть потребность написать приложение с базой данных, которая обновляется через интернет.
СУБД предпочитаю 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
будут вопросы - задавайте :)
А есть по-русски где-нибудь?? Может даже с примерами реализации???
СУБД MySQL ведь придется на клиентский комп ставить??? А это не очень хорошо. Может есть какие-то другие СУБД, что бы пользователь просто скачал себе клиентскую часть и всё заработало??? Ну и есссно, что бы в этой СУБД можно было синхронизацию настроить.
что касается "клиентского компа" - так вам на каждого клиента нужно ставить СУБД???? какая-то странная архитектура. в этом случае - MySQL не очень подойдет. нужно что-то легковесное, вроде SQLIte и писать "синхронизатор"