powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Величина транзации при парсинге
4 сообщений из 4, страница 1 из 1
Величина транзации при парсинге
    #39794073
Фотография forumvisitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток всем.

Делаю на python парсер данных сайта. В результате парсинга будет создана таблица с количеством столбцов около 20 и строк около 2000. На сайте это примерно 200 html страниц по 10 элементов (каждый из которых будет преобразован в одну строку в таблице). Планируется сделать возможность создания этой таблицы в разных форматах, пока скорее всего это будут sqlite или файл html.

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

С одной стороны вроде бы правильно все данные записывать за одну транзакцию.

С другой стороны чтобы не забивать оперативную память и для того, чтобы легче искать причины возможных "падений" парсера - транзакции можно сделать равными одной странице сайта (что равно 10 строкам таблицы). Может быть это пригодится в будущем, если придется использовать данный парсер для значительно бОльшего количества данных -десятки, сотни и более тысяч строк.

Как считаете какой вариант лучше и по каким причинам? Или есть еще какие-то варианты?
...
Рейтинг: 0 / 0
Величина транзации при парсинге
    #39794074
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Транзакция БД не должна быть меньше бизнес-транзакции. И больше её делать тоже не стоит.
Так что читай ТЗ на предмет "всё или ничего" для твоего процесса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Величина транзации при парсинге
    #39794078
Фотография forumvisitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТак что читай ТЗ на предмет "всё или ничего" для твоего процесса.

Все ТЗ в моей голове, так как парсер делается для себя. И кратко изложено в начале топика. К нему можно еще добавить что после скачивания каждой html страницы делается пауза рандомной величины от 1 до 8 секунд (чтобы не создавать чрезмерной нагрузки на сайт не раздражать его админов).

То есть, видимо в данном случае надо закрывать транзакцию после скачивания каждой страницы?
...
Рейтинг: 0 / 0
Величина транзации при парсинге
    #39794180
Фотография forumvisitor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил делать постраничные транзакции.

Так можно будет в случае аварийных завершений или редко встречающихся ошибок парсинга в при следующих запусках скачивать только не скачавшуюся корректно часть страниц а не начинать каждый раз заново.

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

Отслеживание по заголовку будет применяться для точного поиска последнего корректно скачанного элемента после примерного определения необходимой страницы.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Величина транзации при парсинге
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]