2015-12-22 5 views
2

Моя структура базы данных:

enter image description hereAndroid SQLite и сервер базы данных 2 способ синхронизации отсутствует


Я хочу, чтобы синхронизировать его в обоих направлениях между моим андроида сервером SQLite и используя sync adapter.

Приложение для Android может выполнять все операции CRUD, и веб-сайт может делать то же самое.

website будет использовать базу данных server. В настоящее время я использую PostgreSQL, но его можно изменить.

mobile app будет использовать свою собственную базу данных local.

Как их синхронизировать? Большая проблема связана с primary key.

  1. Одна из идей заключается в использовании uuid в качестве первичных ключей, но есть проблемы с производительностью, потому что, как вы можете видеть, что есть некоторые присоединиться к мне нужно выполнить, чтобы получить от пользователя к другим таблицам.

  2. Другая идея - оставить primary keyauto increment integers и использовать колонки uuid только для синхронизации. Но это добавляет новую столбец таблицы для каждого primary и foreign key в каждой таблице.

  3. Последним является использование compound key в качестве основного. Этот будет включать в себя 3 столбца user_id, id (идентификатор исходной базы данных) и device_id (веб-сайт/мобильное приложение и т. Д.). И то же самое для каждого внешнего ключа.

Есть ли лучшие решения? Если ни один из моих решений не должен использоваться?

Как Gmail, Keep, Dropbox или другие приложения выполняют эту задачу?


спасибо.

+0

Вы получили ответ? –

+0

№ :(Счастлив услышать ваш. –

ответ

0

Вы должны использовать CouchBase, так как гораздо проще работать с данными через JSON с уже выполненными библиотеками синхронизации. Это быстрее, чем MongoDB, и это бесплатная альтернатива Firebase.

Смежные вопросы