23.09.2011 20:38, Oleg Matveyev пишет:
Процесс надо делать 3-4 раза в день в идеале (минимум 2 раза), причем
гарантированно в этот момент юзвери могут полезть в этот момент с
запросами. А отсутствие индексов просто уложит сервер на выборках. Там
10 млн где-то записей с выборками по двум int полям.
так обычно заливают warehouse для olap.
за сколько лет данные?
10 млн - данные за один день :-) И только за 3 региона, а в планах
поболее. Фармрынок очень быстро меняется :-) Срезка аналитики за один
день это Гиг инфы. Ну а там дальше умножайте :-)
Данные ПОЛНОСТЬЮ уникальны. Это аналитика по прайс-листам.
ну точно. :-)
Чтобы обновить данные в WH и OLAP - необязательно перезаливать всю таблицу.
В OLAP есть механизмы инкрементальных обновлений... хотя, конечно - на
порядок проще все грохнуть и залить заново. :-)
Смысл делать инкремент? Теоретически можно и это сделать, но совершенно
нет смысла, т.к. это значительно увеличит время обновления, а смысла не
будет никакого.
Но если производительности все же нехватает - можно подумать о том,
чтобы не удалять все:
Например, раз в сутки идет полное удаление и загрузка (ночью), а днем -
удаление и заливка только текущего месяца.
А если кто менял данные в прошлом месяце - СЗЗБ, ждет до завтра.
Аналитика ЕЖЕДНЕВНАЯ, в пиковое время работы должна отрабатывать. В этом
то и загвоздка собственно. Если бы было можно ночью делать - тут даже
вопрос бы и не возник. А так - время цейтнот полный
--
Андрей Кручинин
www.med-zakaz.ru
Для особо извращенных - http://мед-заказ.рф :-)