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

База данных онлайн + оффлайн - Android

Восстановить пароль Регистрация
 
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 104
11.10.2016, 13:41     База данных онлайн + оффлайн #1
Всем добрый день.

Столкнулся с таким техническим вопросом:

Делаю программу, которая подтягивает данные из социальной сети, например, имя и местонахождение. Затем надо часть пользователей удалять по определённому местоположению, а часть добавлять. Теги местоположений меняются часто. На текущий момент, идей как сделать оптимально нет. Думаю скачивать всех пользователей из сети, хранить их в базе данных в телефоне, находить ненужных и удалять их из базы данных на сервере. Также находить в сети новых, сверять с базой данных на телефоне и потом добавлять их на сервер. Решение получается кривое, думал работать напрямую с базой данных на сервере, но если пользователей много, допустим 10 млн, то ошибок почти не избежать, а также тормозов. Плюс база данных на сервере постоянно обновляется, так как я не всегда знаю какие пользователи одобрили запрос на добавление, а какие нет. Как оптимально работать с такого рода задачами?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2016, 13:41     База данных онлайн + оффлайн
Посмотрите здесь:

Андроид и база данных Android
Android база данных
Не создается база данных Android
База данных! Android
База данных! Android
База данных Android
Android База данных sqlite
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
11.10.2016, 14:22     База данных онлайн + оффлайн #2

Не по теме:

Delphian, всегда хотел хотя бы посидеть рядом с человеком в базе приложения которого 10 млн пользователей...



Добавлено через 1 минуту
Delphian, почему просто не запрашивать базу указывая в выборке нужные вам места?
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 104
11.10.2016, 15:33  [ТС]     База данных онлайн + оффлайн #3
vxg, дело в том, что здесь я описал немного упрощённо, чтобы сильно не запутывать в деталях. Кроме всего прочего есть задача, при которой мне нужно скачивать пользователей которые на меня подписаны и на которых я подписан, затем сравнивать и удалять тех, кто на меня не подписался (а я на них подписан), поэтому каждый раз мне нужна полная база.
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
11.10.2016, 16:00     База данных онлайн + оффлайн #4
Delphian, привет!
Думайте в сторону сервера. Зачем всё делать на устройствах?

Добавлено через 1 минуту
Кроме того, возникает юридический вопрос. Каким образом ваша программа может получить разрешение на обработку персональных данных?
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
11.10.2016, 16:21     База данных онлайн + оффлайн #5
Delphian, так и не ясно что мешает послать на сервер запрос что бы он вернул пользователей из некого места подписанных на вас на которых подписаны вы + еще 1001 критерий...

Добавлено через 1 минуту
CoolMind, если человек имеет доступ к базе значит он наверное может с ней работать) то что это делается небезопасным для содержимого путем (выкачиванием всего нужного и не нужного на тело и последующей выборки) - это уже вопрос архитектуры...
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 104
11.10.2016, 17:02  [ТС]     База данных онлайн + оффлайн #6
CoolMind, Запросы к серверу ограничены, информация там также ограничена - имя, id, фото и прочие мелочи. И тут проблема когда я делаю запрос, например, кто на меня подписан, то я получаю JSON где сразу все пользователи, я даже частями не могу их получить. Аналогично, я получаю всех пользователей на которых я подписан. Чтобы не быть голословным вот список запросов https://www.instagram.com/developer/...relationships/.

vxg, доступ имею, но ограничен в возможности делать запросы, точнее получать необходимую информацию
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
11.10.2016, 17:05     База данных онлайн + оффлайн #7
Цитата Сообщение от vxg Посмотреть сообщение
если человек имеет доступ к базе значит он наверное может с ней работать
Не факт. Смотря какое соглашение об использовании. Допустим, если я откуда-то скачал базу email-адресов, а тем более, реальных адресов, ещё вопрос, могу ли я что-то с ней делать.
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 104
11.10.2016, 17:06  [ТС]     База данных онлайн + оффлайн #8
Как итог есть два списка 1 - Мои подписчики, 2 - Те на кого я подписан и чтобы просто элементарно удалить часть тех, на кого я подписан, но кто не подписан на меня, мне нужно скачать как минимум всю базу номер 2 (те на кого я подписан) и потом делать отдельный запрос по каждому юзеру, проверяя есть ли у него на меня подписка и если нет - удалять.
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
11.10.2016, 17:23     База данных онлайн + оффлайн #9
Delphian, ну видимо реально придется качать множества и производить над ними операции
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 104
11.10.2016, 17:37  [ТС]     База данных онлайн + оффлайн #10
vxg, да видимо так, потому что не вижу иных вариантов, хотя это крайне кривой метод
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2016, 17:44     База данных онлайн + оффлайн
Еще ссылки по теме:

Android База данных SQLite
ListView, База данных и SimpleCursorAdapter - onItemClick срабатывает только после добавления данных Android
База данных, изображения Android
Не создается база данных Android
Android База данных

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

Или воспользуйтесь поиском по форуму:
vxg
Модератор
 Аватар для vxg
2726 / 1737 / 173
Регистрация: 13.01.2012
Сообщений: 6,505
11.10.2016, 17:44     База данных онлайн + оффлайн #11
Delphian, в вашей задаче это единственный метод. Что бы облегчить все это можно только снизить частоту синхронизации баз
Yandex
Объявления
11.10.2016, 17:44     База данных онлайн + оффлайн
Ответ Создать тему
Опции темы

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