Настройка
У меня есть собственное приложение для iOS и Android, которое синхронизирует данные с моим веб-сервером. Требование приложений заключается в том, что они работают в автономном режиме, поэтому данные хранятся в приложениях в базах данных sqlite.
Приложения связываются с сервером с помощью серии вызовов REST, которые отправляют JSON с сервера для приложений для хранения в своих базах данных.
Моя проблема
Масштаб этих данных очень велик, в некоторых таблицах может быть миллион записей, а конечный размер телефонных баз данных может приближаться к 100 МБ.
Конечные точки REST должны ограничивать свои данные и должны вызываться много раз с разными смещениями для достижения всей синхронизации.
Так что я ищу способы повысить эффективность этого процесса.
Моя идея
У меня была идея создать скрипт, который запускался бы на сервере, который создавал бы файл sqlite из базы данных серверов, сжимал его и помещал куда-нибудь для загрузки приложений. Эффективно создавая моментальные снимки серверов текущих данных.
Приложения загружают этот снимок, но все равно должны вызывать свои методы REST в случае, если что-то изменилось с момента создания снимка.
Вопрос
Это добавит еще один уровень сложности моему веб-приложению, и мне интересно, правильный ли это подход. Существуют ли другие методы, которые люди используют при синхронизации больших объемов данных?