Обновление локальной базы данных sqlite, которая используется для локальных метаданных и кэширования из службы? - PullRequest
2 голосов
/ 26 апреля 2010

Я искал по сайту и не нашел вопрос / ответ, который вполне отвечал бы на мой вопрос, самый близкий, который я нашел, был: Синхронизация объектов между двумя разнородными системами лучший подход .

Во всяком случае, чтобы начать, потому что нет доступных RSS-каналов, я просматриваю веб-страницу по экрану, поэтому он делает выборку, затем проходит через веб-страницу, чтобы удалить всю интересующую меня информацию, и сбрасывает ее информацию в базу данных sqlite, чтобы я мог запросить информацию на досуге, не повторяя выборку с веб-сайта.

Однако я также храню различные метаданные на самих данных, которые хранятся в базе данных sqlite, например: посмотрел ли я на данные, являются ли они новыми / старыми, закладкой для части данных (подумайте об этом) как набор несвязанных данных, а закладка является просто указателем на то, где я нахожусь в обработке / чтении упомянутых данных).

Так что сейчас моя текущая проблема состоит в том, чтобы выяснить, как обновить локальную базу данных sqlite новыми данными и / или измененными данными с веб-сайта таким образом, который является эффективным и простым.

Вот моя текущая идея:

  1. Скачать саму страницу
  2. Создать временную таблицу для разбираемых данных, чтобы перейти в
  3. Сделать сравнение между официальной и временной таблицей и скопировать обновления и / или новую информацию в официальную таблицу

Этот процесс кажется довольно сложным, потому что мне нужно было бы выяснить, как определить, являются ли данные во временной таблице новыми, обновленными или неизменными. Поэтому мне интересно, если нет лучшего подхода или у кого-нибудь есть какие-либо предложения по архитектуре / структуре такой системы?

Редактировать 1: Я не уверен, где разместить дополнительную информацию, в комментарии или в редактировании, поэтому я собираюсь добавить ее здесь.

Это немного расширяет метаданные в отношении закладки, в основном источник данных может создавать новые данные / дополнения к текущим данным, поэтому одна из причин, по которой я думал о создании идеи временной таблицы, заключалась в том, чтобы я мог чтобы определить, есть ли у источника данных, который был «добавлен в закладки», какие-либо новые данные или нет.

1 Ответ

0 голосов
/ 26 апреля 2010

Действительно ли важно определить, являются ли данные во временной таблице новыми, обновленными или неизменными? Вам действительно нужно вести историю изменений?

НЕТ: не используйте временную таблицу, а просто пометьте как старые (отметку времени) свои старые записи, не обновляйте и просто вставьте новые данные.

ДА: ваша идея мне кажется правильной, но все зависит от того, сколько данных вам нужно обрабатывать каждый раз; я не думаю, что это возможно с большим количеством данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...