Сервер синхронизации базы данных с локальным - PullRequest
4 голосов
/ 22 августа 2011

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

Это очень неэффективный способ сделать это.У меня вопрос: как запросить только данные, которые отсутствуют?

Должен ли я отправлять последний идентификатор из каждой локальной таблицы, и сервер должен отправлять данные с этого идентификатора и далее?Что произойдет, если существующий идентификатор был изменен?Это будет означать, что все данные должны быть проверены, но отправка всей базы данных для проверки и возврата изменений или дополнений также кажется глупой.

Конфигурация - Local SQLite, Server MySQL.Я мог бы, вероятно, изменить сервер на SQLite, если это рекомендуется.

РЕДАКТИРОВАТЬ: Несколько клиентов отправляют запросы на один и тот же сервер MySQL Database, PHP обрабатывает запрос и отвечает.

Как бы вы справились с этим?Спасибо.

1 Ответ

3 голосов
/ 22 августа 2011

Я бы либо помечал метками строки в базе данных и извлекал данные по дате, либо использовал rsync (или librsync или аналогичный) для синхронизации файлов базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...