Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
contedevel
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
1

Синхронизация баз данных через облако

11.01.2015, 02:48. Просмотров 1241. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Имеется несколько баз данных на разных ОС, включая Android, беда в том, что есть локальная и удаленная БД.
И нужен какой-то однозначный способ нумерации строк, чтобы при слиянии в момент синхронизации локальных БД на разных устройствах, возможно, даже ОС, гарантированно не повторялись идентификаторы (ID).
Решил ввести ячейку, в которую при первом создании строки прописывается timestamp, но не знаю, на сколько это удачное решение, я не особо осведомлен, одинаково ли работает отсчет времени на разных машинах?
Кто сталкивался? Какое рациональное решение можно применить для получения уникальных ID на разных машинах?
Заранее благодарю за помочь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2015, 02:48
Ответы с готовыми решениями:

Синхронизация баз данных на клиенте и сервере
Здравствуйте, подскажите как реализовать простенькое клиент-серверное...

"Синхронизация" баз SQLite двух устройств
Добрый вечер, у меня такой вопрос к знатокам: возможно ли реализовать...

Запрос данных по ID из нескольких баз данных
Доброго времени суток. Суть вопроса: есть две готовых таблицы: text и buttons,...

Хостинг для баз данных
Делал простые android приложения и был счастлив. Только сейчас встала...

Возможно ли создание двух баз данных
Возможно ли создание двух баз? А так же как скажеться на производительности...

4
krapotkin
3414 / 3021 / 1047
Регистрация: 14.04.2014
Сообщений: 14,661
Записей в блоге: 15
11.01.2015, 10:17 2
задача репликации и слияния БД.
общее решение состоит в том, чтобы не зависеть от ID в разных БД
перенося данные в другую БД, мы даем им другие ID
задача сводится к контролю ссылок по этим ID
если таблица 2 ссылалась на ID в таблице 1 и ID=M то, при замене его на N, это значение нужно изменить в обеих таблицах

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

еще более удобный способ - делать изначально БД в облаке и обращаться к ней со всех систем
1
Kastaneda
Jesus loves me
Эксперт С++
4938 / 3014 / 346
Регистрация: 12.12.2009
Сообщений: 7,610
Записей в блоге: 2
Завершенные тесты: 1
11.01.2015, 10:23 3
Может сделать разные правила генерации ID? Например локально ID задаются начиная с 5 с шагом 10, в облаке начиная с 10 с шагом 10. Т.е. все локальные ID будут 5, 15, 25 и т.д., а в облаке 10, 20, 30 и т.д., таким образом они гарантировано не пересекутся.
1
krapotkin
3414 / 3021 / 1047
Регистрация: 14.04.2014
Сообщений: 14,661
Записей в блоге: 15
11.01.2015, 10:30 4
тоже вариант
решение конкретно под случай всегда выгоднее решения в общем виде

а что делать если два андроид устройства передают данные?
как их отличать?
0
Kastaneda
Jesus loves me
Эксперт С++
4938 / 3014 / 346
Регистрация: 12.12.2009
Сообщений: 7,610
Записей в блоге: 2
Завершенные тесты: 1
11.01.2015, 10:41 5
Цитата Сообщение от krapotkin Посмотреть сообщение
а что делать если два андроид устройства передают данные?
Ну да, тут не известно как у ТС это все организовано. Два устройства еще можно различить, но может быть и 10000 андроид устройств. Можно еще в качестве primary key UUID использовать (или даже GUID), но это не хорошо для primary key, но зато досточно уникально.
0
11.01.2015, 10:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2015, 10:41

Взаимодействие баз данных на сервере и мобильном устройстве
Здравствуйте, необходимо найти информацию по теме что в шапке написана. Вообще...

Синхронизация данных приложения между устройствами
Здравствуйте! Необходимо осуществить синхронизацию данных приложения на разных...

Синхронизация с базой данных (Android или IOs)
Значит, есть клиентская часть и серверная. Пока в раздумьях на какой ОС писать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru