Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Что создавать - куб или обычную БД и какой структуры?

$
0
0
Дано:
Таблицы Excel с бюджетами нескольких типов по нескольким объектам.
Число строк бюджета зависит от конкретного объекта и типа бюджета, и колеблется от нескольких десятков до пары сотен.
Число уровней строк бюджета - 4 уровня, уровни неравномерные (то есть для какой-то статьи бюджета есть подстатьи третьего уровня вложенности, а для какой-то статьи подстатей нет вообще).
Число СТОЛБЦОВ - более 250 (1 столбец - один месяц, бюджет расписан на 20 с лишним лет, плюс куча столбцов для уже посчитанных значений по кварталам и годам).
Число объектов - не менее пяти.

Поставили задачу - затащить это всё на SQL Server в обычную БД или в OLAP-куб, по моему выбору.

А теперь вопрос - как это всё хранить? И главное - обрабатывать?
Вариант с простым переносом в SQL Server - не пройдёт (см. один столбец - один месяц). "И что, каждый месяц добавлять новый столбец"?
Вариант с созданием таблицы а-ля "ID статьи, ID проекта, ID типа бюджета, дата, значение" - даёт несколько десятков тысяч строк только для одного бюджета, а их несколько видов, и умножить на число объектов, (а потом сюда обязательно ещё добавится несколько видов смет, бррр...).
При необходимости обратной выгрузки в Excel получаем геморрой с обратным развёртыванием данных этой таблицы в две с лишним сотни столбцов по числу месяцев.

С OLAP-кубом - ситуация выглядит проще только на первый взгляд, так как куб получается нестандартным (с необходимостью использовать измерение родитель-дитя, + к этому это измерение неоднородное), плюс летит в бездну текущая раскладка столбцов (в Бездне Хаоса я её видеть хотел, да, но это другой вопрос).
И это всё дерьмо ещё как-то надо сравнивать друг с другом.

Вот и вопрос - что и как можно сделать для оптимизации загрузки, хранения, обработки и выгрузки?

Viewing all articles
Browse latest Browse all 7251

Trending Articles