Я разрабатываю свое второе приложение для iPhone и ищу архитектурные рекомендации по работе с БД.
Идея такая: 1. База данных информации хранится на сервере (стек LAMP), и информация доставляется на устройство через JSON. Эта часть реализована.
Пользователь может добавить в избранное элемент в базе данных, которая хранит его в SQLite на своем локальном устройстве.
Пользователь также может отправлять на удаленный сервер новые элементы, которые еще не существуют, делая их доступными для добавления в избранное другими пользователями.
Пользователь может искать элементы в обеих базах данных через единый интерфейс поиска.
Я пытаюсь определить структуру данных для этого и как работать с результирующими объектами из базы данных. Думаю, у меня есть два варианта объектов:
Удаленная БД и локальная БД имеют один и тот же тип объекта, а локальная БД хранит идентификатор удаленного элемента для связи двух
Отдельные объекты для удаленного элемента и локального элемента
Приветствуются любые идеи, мысли и т. д.!





Если вы хотите иметь синхронизированные объекты в базах данных, вы можете использовать комбинацию сравнения отметок времени модификации и столбца хэша, чтобы определить, какие записи устарели и нуждаются в обновлении.
Предоставляется ли SQLite API для синхронизации?
Вам нужно будет написать свой собственный механизм синхронизации. Я опубликовал длинный набор заметок о синхронизирующем механизме рекордного уровня, управляемом историей, который я написал из приложения Wine Journal, которое вы можете найти здесь ...
Если вам нужен существующий API, у фреймворка QuickConnectFamily есть тот, который работает в UIWebView с использованием JavaScript как для браузера, так и для установленных баз данных SQLite. Я также близок к созданию чистой реализации Objective-C для тех, кто не пишет гибридные приложения.
Версия javascript также работает для Android.