Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как бы вы это спроектировали? Отчет с разными значениями  [new]
Nimua
Member

Откуда: Ростов-на-Дону
Сообщений: 344
Привет!

Не очень уверена что вопрос в правильную ветку, но все же.

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

Что в отчете: часть данных это числовые значения. Например такое простое соответствие
Всего клиентов: 10
Всего запросов: 20
Всего обращений к сайту: 5
ну и так далее.

И тут мне кажется я делаю справочник с тем какие бизнес значения у меня есть
и таблицу значений с датой сбора. И счастье. Но есть еще другие запросы.
Например

Топ 20 компаний по кол-ву пользователей
Ид Компании Название компании Кол-во юзеров

Потом кол-во юзеров по серверам, кол-во запросо по серверам и еще пара метрик - общее кол-во на сервер.

В теории сейчас я вижу 3 типа:
1. итог - одно значение
2. итог по серверу - сервер значение
3. топ клиентов - по сути итог разбитый не по серверу а по внешнему значению, для которого нужно еще подтянуть название из справочника.

Для расчета этого всего счастья будет JOB, вопрос в том как уже рассчитанные значения хранить. Вот варианты которые я вижу
Важный момент - что текущая версия будет пополняться разными другими итогами. И не только.

1. Засунуть все в XML и тогда не важна структура
Плюс:
+ гибкость
Минус:
- сложность поддержки (исходя из моего опыта никто не хочет лезть в что-то с динамическим sql и в что-то где есть xml)
- нет возможности по нему без преобразования делать выборки

2. Сделать таблицу справочник что у нас есть в отчете и 2 таблицы - одна для простых значений, другая для много строчных

Плюс:
+ просто поддерживать
+ можно делать выборки в SQL по значениям

Минус
- разнородность стуктуры - в одну таблицу за одним ходи, в другую за другим
- не понятно как "красиво" сделать таблицу для многострочных данных - по сути мне кажется норм будет в однострочную добавлять ключ - и потом в многострочной делать данные связанные с этим ключом. Вопрос в другом - как быть с компаниями - хранить ид и значение а за называнием лазить в справочник? как то тоже не очень красиво.
- не будет работать если в много строчной будет больше чем 2 колонки, ну или будет если сделать сразу 5, но как только появиться что-то шире - надо будет добавлять
- нет возможности делать разные типы (хотя сейчас есть только BIGINT)


3. Таблица справочник + таблица значений, значения всегда в одной таблице, таблица с например 5ю полями на вырост

В общем плюсы и минусы те же что в предыдущем, за исключением того что все в одной таблице - и сложное и простое.
23 сен 17, 14:25    [20817986]     Ответить | Цитировать Сообщить модератору
 Re: Как бы вы это спроектировали? Отчет с разными значениями  [new]
bideveloper
Member

Откуда:
Сообщений: 503
Nimua,

чем не нравится стандартный подход - хранилище данных (таблицы фактов и таблицы аналитик) + OLAP для расчета итогов?
24 сен 17, 00:47    [20818613]     Ответить | Цитировать Сообщить модератору
 Re: Как бы вы это спроектировали? Отчет с разными значениями  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
из того, что вы написали не очень понятно, что именно вы хотите автоматизировать...
- хранить исходные данные и автоматизировать получение ваших метрик
- хранить метрики на дату и автоматизировать сборку основного отчёта
?
24 сен 17, 02:16    [20818629]     Ответить | Цитировать Сообщить модератору
 Re: Как бы вы это спроектировали? Отчет с разными значениями  [new]
aleks222
Guest
Дедушка
из того, что вы написали не очень понятно, что именно вы хотите автоматизировать...
- хранить исходные данные и автоматизировать получение ваших метрик
- хранить метрики на дату и автоматизировать сборку основного отчёта
?


Дедуля, не стоит напрягаться - тредстартер персонаж с нечетким мышлением и манией секционирования.

Обожди, оно фсе в инмемори сложит...
25 сен 17, 05:44    [20819596]     Ответить | Цитировать Сообщить модератору
 Re: Как бы вы это спроектировали? Отчет с разными значениями  [new]
Nimua
Member

Откуда: Ростов-на-Дону
Сообщений: 344
Дедушка,

пока я хочу сделать структуру, которая будет достаточно резиновая, чтобы вмещать новые хотелки бизнеса без изменения структуры хранения таблицы.
Новые метрики при этом будут добавляться вручную.
26 сен 17, 11:56    [20823287]     Ответить | Цитировать Сообщить модератору
 Re: Как бы вы это спроектировали? Отчет с разными значениями  [new]
Nimua
Member

Откуда: Ростов-на-Дону
Сообщений: 344
bideveloper,

сейчас в БД есть только таблицы фактов, все отчеты делаются по ним.
В том что мне надо посчитать в основном нужны либо итоги по всей таблице, либо группировка но тоже по всей таблицы.
Никаких предаггрегированных данных за период нет и пока не предвидется.
26 сен 17, 12:00    [20823304]     Ответить | Цитировать Сообщить модератору
 Re: Как бы вы это спроектировали? Отчет с разными значениями  [new]
bideveloper
Member

Откуда:
Сообщений: 503
Nimua,
я бы настроил OLAP с нужными группировками
сводный отчет можно запилить в SSRS и в него брать данные из OLAP
это классика, надежно и производительно )
Если есть желание поиграться с новыми технологиями, то можно попробовать PowerBI
27 сен 17, 01:13    [20825536]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить