Я только начал свою первую работу по разработке для компании разумного размера, которая должна управлять большим количеством данных. Средняя база данных составляет 6 ГБ (из того, что я видел до сих пор). Одной из работ является отчетность. Как это делается в настоящее время -
Данные реплицируются и переносятся в хранилище данных. Оттуда все данные, необходимые для конкретного отчета, собираются (тысячи строк и множество таблиц) и объединяются в базу данных отчетов на складе. Все это делается с помощью хранимых процедур.
Когда запрашивается отчет, вызывается хранимая процедура, которая копирует данные в базу данных отчетов, из которой PHP читает для отображения данных.
Я вообще не большой поклонник хранимых процедур. Но люди, с которыми я говорил, настаивают на том, что хранимые процедуры - единственный вариант, так как запросы непосредственно к данным через язык программирования невероятно медленны (думаете, 30 минут?). Безопасность также является проблемой.
Итак, мой вопрос - требуются ли хранимые процедуры, когда у вас очень большой набор данных? Действительно ли запросы так долго обрабатываются для такого большого объема данных, или есть проблема с серверами БД или с тем, как данные расположены (и проиндексированы?). У меня такое ощущение, что что-то не так.