Найти - Пользователи
Полная версия: Распределенный сервер отчетов
Начало » Python для экспертов » Распределенный сервер отчетов
1
svas
Задача стоит следующая: раз в день (неделю, месяц) нужно генерировать много отчетов, порядка 10-20к.
Думал для этой задачи использовать несколько процессов celery, на разных компьютерах. Появились 2 вопроса:
1) База данных одна, и если распределить создание отчетов по нескольким компьютерам, думаю все равно всё упрется в базу данных и получение данных для отчетов (может я не прав)
2) Если все таки сделать с несколькими компьютерами, как потом собирать все эти отчеты на один компьютер?
Может ссылки есть какие на данную тему?
Lexander
svas
1) База данных одна, и если распределить создание отчетов по нескольким компьютерам, думаю все равно всё упрется в базу данных и получение данных для отчетов (может я не прав)
Так посчитайте, если не можете тесты сделать.
Генерируете запросы в количестве 10-20к с нужной интенсивностью и будете знать, будет ли база тормозом на вашем железе.
Если в базе хранятся только данные, не хранятся шаблоны, BLOB, база не DBF, то база тормозить не должна.
svas
2) Если все таки сделать с несколькими компьютерами, как потом собирать все эти отчеты на один компьютер?
1 скрипт пишет в очередь задания, 1 забирает оттуда результат.
Воркеры обращаются к очереди за заданиями, делают отчет, возвращают в очередь результат работы.
В чем сложность?
Lexander
На PyCon Russia 2013 Роман Иманкулов делал доклад “Celery для внутреннего API в инфраструктуре SaaS”.
http://www.youtube.com/watch?v=LGhMQ8YoEiY#t=114
и слайды к видео
http://www.slideshare.net/it-people/celery-for-internal-api-in-soa-infrastructure-pycon-2013
svas
Спасибо, посмотрю.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB