База даних звітності
Зовнішній вигляд
Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на сторінці обговорення.
|
База даних звітності — патерн проєктування, який використовується для спрощення роботи із даними аналітики.
База даних надає різноманітні операції для маніпулювання з даними. При цьому ці дані часто використовуються для генерації звітів та аналізу. Проблема полягає в тому, що вимоги до операції над даними відрізняються для аплікації та звітності. Виникають проблеми при знаходженні загального підходу до побудови структури даних та роботи із нею.
Одним зі способів розв'язувати цю проблему — це додати ще одну базу даних звітності з іншою схемою.
- база даних звітності використовується тільки для читання даних
- для зменшення навантаження на основну базу даних рекомендується синхронізувати бази в період неактивності системи (наприклад раз в ночі). При цьому якщо важлива достовірність даних, можна оновлювати їх за допомогою подій
- хоч підхід із view розв'язує цю проблему, він є менш гнучким (зміни відбуваються на декількох рівнях, важкість тестування тощо)
- якщо звіти надаються не на вимогу і немає додаткової фільтрації даних, можна уникнути використання додаткової бази даних. У цьому випадку можна одразу генерувати файли звітів та надавати посилання на них
- структура бази даних звітності спроєктований таким чином, щоб можна було легше генерувати звіти
- дані денормалізовані для простішої роботи з ними
- запити звітностей не навантажують основну базу даних
- використання додаткової бази даних
- необхідно вносити зміни в механізм синхронізації при зміні структури основної бази даних
- синхронізація даних викликає навантаження на основну базу даних
- ReportingDatabase [Архівовано 6 серпня 2020 у Wayback Machine.]