Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598
#1

Синхронизация баз данных через облако - Программирование Android

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

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

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

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

Запрос данных по ID из нескольких баз данных - Программирование Android
Доброго времени суток. Суть вопроса: есть две готовых таблицы: text и buttons, подключенные к проекту. В таблице text поля(тип):...

Возможно ли создание двух баз данных - Программирование Android
Возможно ли создание двух баз? А так же как скажеться на производительности такое решение. Одна база данных заполнена, а другую...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
krapotkin
2565 / 2443 / 617
Регистрация: 14.04.2014
Сообщений: 11,803
Записей в блоге: 6
11.01.2015, 10:17 #2
задача репликации и слияния БД.
общее решение состоит в том, чтобы не зависеть от ID в разных БД
перенося данные в другую БД, мы даем им другие ID
задача сводится к контролю ссылок по этим ID
если таблица 2 ссылалась на ID в таблице 1 и ID=M то, при замене его на N, это значение нужно изменить в обеих таблицах

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

еще более удобный способ - делать изначально БД в облаке и обращаться к ней со всех систем
1
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
11.01.2015, 10:23 #3
Может сделать разные правила генерации ID? Например локально ID задаются начиная с 5 с шагом 10, в облаке начиная с 10 с шагом 10. Т.е. все локальные ID будут 5, 15, 25 и т.д., а в облаке 10, 20, 30 и т.д., таким образом они гарантировано не пересекутся.
1
krapotkin
2565 / 2443 / 617
Регистрация: 14.04.2014
Сообщений: 11,803
Записей в блоге: 6
11.01.2015, 10:30 #4
тоже вариант
решение конкретно под случай всегда выгоднее решения в общем виде

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

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

Правильное проектирование баз данных при очень частом обращении - Программирование Android
Пишу мессенджер и в истории переписок в адаптере очень часто вызывается последнее сообщение для каждого чата и база данных садится, какие...

Android + БД + Облако - Программирование Android
Нужно написать приложение, которое будет взаимодействовать с БД в облаке через интернет. Посоветуйте, как лучше организовать данную...

Как хранить данные в интернете (хостинг, облако)? - Программирование Android
Здравствуйте , уважаемые программисты! Не могли бы вы мне помочь? Как хранить данные андроид приложений в интернете? Что лучше...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.01.2015, 10:41
Ответ Создать тему
Опции темы

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