Большая таблица транзакций - проблема? - PullRequest
1 голос
/ 06 сентября 2011

Система генерирует записи транзакций и помещает их в таблицу RMDB, даже если это случаи сбоя.Эта таблица будет запрашиваться в режиме реального времени, а также для создания отчетов в конце дня.

Эта таблица, без сомнения, быстро вырастет.Это проблема?Будут ли запросы в реальном времени выполняться очень медленно, если таблица велика?Каковы решения?

1 Ответ

2 голосов
/ 06 сентября 2011

Как правило, не рекомендуется использовать вашу производственную базу данных в качестве базы данных отчетов.На это есть несколько причин.Одна из них заключается в том, что зачастую ваша схема БД отчета не имеет смысла совпадать с вашей производственной БД.Обычно ваша база данных отчетов будет несколько более денормализована, чем ваша рабочая база данных, из соображений производительности.

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

Кроме того, обычно нет необходимости хранить столько данных в рабочей БД, сколько в вашей отчетной БД.В нашей компании мы храним достаточно данных в нашей производственной базе данных, чтобы удовлетворить производственные потребности.Обычно это 12 месяцев.В нашей отчетной БД у нас есть данные, возвращающиеся намного дальше.Кроме того, важно постараться, чтобы рабочая база данных была как можно меньше для целей аварийного восстановления.Чем больше ваша БД, тем больше времени требуется на восстановление и тем дольше вы находитесь в автономном режиме.

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