|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
Добрый день. Есть приложение, которое получает данные от стороннего источника по api. Данных очень много и устаревают они быстро. Если запустить скрипт на импорт всех данных, то по расчетам работу он закончит через несколько дней. Мне же нужно чтобы обновления выполнялись несколько раз в день. Причем задержка происходит на этапе обращения к веб-сервису, а не при операциях с БД. Т.е. сам процесс постраничного вытягивания данных очень долгий. Веб-сервис имеет много ограничений, например фиксированное количество запросов в единицу времени. П.э. запустить скрипт в несколько потоков не получается. Разбить данные на более важные и менее важные тоже не получается. Как быть в этой ситуации? Может есть стандартные подходы к решению указанной проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 15:16 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatov, Получать только изменения. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 15:30 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
Чтобы узнать изменились ли данные мне нужно выкачать их все. В api нет метода получения последних изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 15:34 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatov, Введите в API функции получения изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:06 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatovКак быть в этой ситуации? Может есть стандартные подходы к решению указанной проблемы? Выкинуть из картины локальную БД и всегда лезть за данными на "сторонний источник". Так будет гарантирована их свежесть. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:08 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
Infernal V. Raven, за api отвечает сторонняя компания. Я не могу влиять на ход разработки ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:17 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatovInfernal V. Raven, за api отвечает сторонняя компания. Я не могу влиять на ход разработки не используйте API, которое не удовлетворяет потребностям. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:20 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovaabatovКак быть в этой ситуации? Может есть стандартные подходы к решению указанной проблемы? Выкинуть из картины локальную БД и всегда лезть за данными на "сторонний источник". Так будет гарантирована их свежесть. +100 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:20 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Если будет большой наплыв посетителей, то веб-сервис меня забанит. Еще по моим данным будет организован поиск, т.е. их нужно будет индексировать поисковым движком. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:23 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatovза api отвечает сторонняя компания. Я не могу влиять на ход разработкиКак здесь уже правильно заметили, не используйте тогда этот API. Либо поделитесь с разработчиками и они: 1. сделают вашу работу; 2. сделают подходящий API. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:23 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatovЕсли будет большой наплыв посетителей, то веб-сервис меня забанит. Так еще и втихаря воруете? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:24 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
Infernal V. Raven, не, все честно. У веб-сервиса ограничение на количество обращений с одного ip в единицу времени. И много ip вряд ли получится получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 16:29 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatovКак быть в этой ситуации? Может есть стандартные подходы к решению указанной проблемы?Какие стандартные методы, если АПИ зафиксирован? Вы можете использовать только этот АПИ, если не получается им забрать данные, значит, не получается, ничего не поделаешь. Это же ограничение стороннего сервиса, вы на него повлиять не сможете. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 19:44 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatovЕсли будет большой наплыв посетителей, то веб-сервис меня забанит. Еще по моим данным будет организован поиск, т.е. их нужно будет индексировать поисковым движком.Разве что можно попытаться использовать такое решение: вы читаете все данные (долго), потом при запросах пользователей обращаетесь напрямую к сервису, одновременно кешируя данные. Это сделает поиск неточным (по устарвешим данным), и сработает, если только пользователи будут обращаться к ограниченному набору данных, что бы эффективно работал кеш. Но по крайней мере этот вариант можно обдумать, других вообще нет (только если договориться о забирании всех данных другими методами) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2013, 22:58 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
alexeyvg, Решили частично использовать ваше решение. И будем вести переговоры с разработчиками сервиса. Всем спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2013, 14:52 |
|
Как организовать обновление большого объема данных?
|
|||
---|---|---|---|
#18+
aabatov, Вариант 1. Если вы неможете обойтись без сторонних сервисов - платите, и вероятно вам дадут доступ к БД для синхронизации. Вариант 2. Сами собирайте нужную информацию (парсеры и пр.) и откажитесь от неудобного сервиса. Вариант 3. Забейте на все и займитесь чем-то другим. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2013, 16:00 |
|
|
start [/forum/topic.php?fid=33&msg=38516015&tid=1547629]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 290ms |
total: | 441ms |
0 / 0 |