Как организовать постоянные обновления БД с сервера для андроида?
Обычно это делают так:
1) Для каждой таблицы добавляют столбец "UpdateDate" - дата последнего изменения строки.
 1.a) При обновлении или добавлении в UpdateDate этой строки на сервере ставится текущая дата.
2) Пользователь в запросе на синхронизацию отдает максимальную дату из всех своих UpdateDate - из локальных (у пользователья UpdateDate не меняется - она устанавливается только при синхронизации).
3) Сервер отдает только те строки, у которых UpdateDate больше чем переданный пользователем.
Если нужно детальное описание с диаграммами то оно тут
Создайте отдельную таблицу (SYNC):  [TIMESTAMP], [UPDATED_ID]
Каждый раз, когда добавляете или изменяете значение в основной базе данных, добавляйте новую запись в SYNC-таблицу.
UPDATED_ID - это id изменённой/добавленной записи в основной базе.
TIMESTAMP - текущее серверное время.SYNC-базу можно сделать на Redis или аналогичном in-memory хранилище, а не только на SQL.
На клиенте (в приложении) храните время последней синхронизации с сервером (просто long).лучше, чтобы сервер сам формировал timestamp (текущее серверное время) и отдавал клиенту
Когда клиенту потребуется синхронизироваться, отправляете эту временную метку серверу. На сервере из SYNC таблицы вытаскиваете id всех новых и обновлённых записей после полученной от клиента timestamp. Убираете дубли (они могут быть для обновлённых записей). Осталось только по этим id прочитать данные из основной базы и отправить их клиенту.Плюсы по сравнению с тем, что уже предложено
- не трогаете свою базу, не вставляете новые колонки
- в приложении просто храните временную метку последней синхронизации
- в приложении для синхронизации не требуется предварительно вычитать и обработать всю локальную базу
PS. и как уже сказали, вы пишите аналог Firebase realtime database. Она делает ровно тоже самое. Можно попробовать поискать как реализовано там.