powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / как лучше построить таблицу фактов?
17 сообщений из 17, страница 1 из 1
как лучше построить таблицу фактов?
    #33294346
Mike Sikalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

в системе для каждого счета на каждый день исходя из разных критериев может быть расчитано некоторое количество (скажем, порядка 7) "разных" балансов, что-то вроде

Balance_A,
Balance_B,
Balance_C,
Balance_AB,
Balance_BC,
Balance_AC,
Balance_ABC

На практике некоторые балансы могут не использоваться, но меньше 1 и больше 7 никак не будет. Вопрос, как лучше построить таблицу фактов для такого случая:

1) Тупо

account_id
date_id
Balance_A
Balance_B
Balance_C
Balance_AB
Balance_BC
Balance_AC
Balance_ABC

2) Не тупо

account_id
date_id
balance_type_id
balance_amount

(соответственно, добавляется еще одно измерение balance_type)

Был бы очень признателен за совет и аргументацию за/против

Mike
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33294553
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выбираете между производительностью и объёмом хранимых данных? или хотите и рыбку съесть и ... всё остальное?
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33295110
Mike Sikalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukovвыбираете между производительностью и объёмом хранимых данных? или хотите и рыбку съесть и ... всё остальное?

мне не очевидно, что в первом случае объемы данных существенно больше.. Количество строк гарантировано меньше, и, если в неиспользуемых полях хранить NULL - ...

А есть какие-то стандартные, описанные в литературе подходы?
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33295211
Eldar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mike SikaloДобрый день,

в системе для каждого счета на каждый день исходя из разных критериев может быть расчитано некоторое количество (скажем, порядка 7) "разных" балансов, что-то вроде

Balance_A,
Balance_B,
Balance_C,
Balance_AB,
Balance_BC,
Balance_AC,
Balance_ABC

На практике некоторые балансы могут не использоваться, но меньше 1 и больше 7 никак не будет. Вопрос, как лучше построить таблицу фактов для такого случая:

1) Тупо

account_id
date_id
Balance_A
Balance_B
Balance_C
Balance_AB
Balance_BC
Balance_AC
Balance_ABC

2) Не тупо

account_id
date_id
balance_type_id
balance_amount

(соответственно, добавляется еще одно измерение balance_type)

Был бы очень признателен за совет и аргументацию за/против

Mike


Mike Sikaloaccount_id
date_id
balance_type_id
balance_amount

лучше так,
но как я понимаю с этими показателями будут какие-то операции?
тут надо смотреть на то чем будут пользоваться
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33295545
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой объем данных будет?
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33295954
Mike Sikalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eldar

Mike Sikalo
account_id
date_id
balance_type_id
balance_amount

лучше так,



Так а чем конкретно лучше, кроме того, что это выглядит более "нормализовано"?

Eldar
но как я понимаю с этими показателями будут какие-то операции?
тут надо смотреть на то чем будут пользоваться

Будут кубы строиться.. Ну там, макс./мин., средний за период по компаниям в разрезе банков и т.п. Стандартный набор, как по мне. Или какие операции вы имеете ввиду?
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33295962
Mike Sikalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BirkhoffА какой объем данных будет?

миллионы строк. Балансы за каждый день для нескольких тысяч счетов в течение нескольких лет.
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296110
Eldar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mike SikaloБудут кубы строиться.. Ну там, макс./мин., средний за период по компаниям в разрезе банков и т.п. Стандартный набор, как по мне. Или какие операции вы имеете ввиду?


а что несет понятие "разные балансы"?
плановые данные или что?
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296149
Eldar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mike Sikaloмиллионы строк. Балансы за каждый день для нескольких тысяч счетов в течение нескольких лет.

а есть ли смысл от миллионов,
будут ли они востребованы?


н-р, у меня есть кубик в котором из ежемесячного прироста (800-900тыс записей) аггрегируются и хранятся всего 20 тыс.
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296198
Mike Sikalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eldar Mike SikaloБудут кубы строиться.. Ну там, макс./мин., средний за период по компаниям в разрезе банков и т.п. Стандартный набор, как по мне. Или какие операции вы имеете ввиду?


а что несет понятие "разные балансы"?
плановые данные или что?

прогнозы исходя из различных предположений
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296204
Mike Sikalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eldar Mike Sikaloмиллионы строк. Балансы за каждый день для нескольких тысяч счетов в течение нескольких лет.

а есть ли смысл от миллионов,
будут ли они востребованы?


н-р, у меня есть кубик в котором из ежемесячного прироста (800-900тыс записей) аггрегируются и хранятся всего 20 тыс.

конкретные заказчики смогут конфигурировать, что конкретно им нужно, но исходя из сегодняшней картины - будут "миллионы"
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296246
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы выбрал вариант 2. С точки зрения структуры это более логично. На варианте 1 вы сэкономите немного места если действительно все балансы используются, но проиграете на стройности решения, и как следствие удорожание разработки и сопровождения.
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296820
Mike Sikalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireЯ бы выбрал вариант 2. С точки зрения структуры это более логично. На варианте 1 вы сэкономите немного места если действительно все балансы используются, но проиграете на стройности решения, и как следствие удорожание разработки и сопровождения.

хм.. а что насчет производительности обоих вариантов?
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296884
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я бы первый тупой вариант выбрал.
Если вам нужно например среднее посчитать между балансами за день
или просто вычислить что то между ними, как вы это во втором варианте сделаете?
Или вопрос в том как лучше сделать таблицу, которую в OLAP кубик грузить?
А все вычисления над кубом?
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33296986
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Birkhoff:

А я бы первый тупой вариант выбрал.
Если вам нужно например среднее посчитать между балансами за день


А я бы выбрал второй вариант, он выглядит изящнее. А при проектировании OLAP-куба делал бы источник данных в виде виртуальной вьюшки, превращая узкую таблицу в широкую виртуальную вьюшку.
Однако, многое зависит от того, какой OLAP-сервер используется - не везде есть поддержка виртуальных вьюшек. То есть если используется MS AS - то удобнее использовать первый вариант (так как количество полей не увеличивается со временем, первый вариант тоже прокатит).
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33297077
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы даже сказал, что виртуальные вьюшки существуют только в одном продукте. Но зато в самом лучшем. :)
...
Рейтинг: 0 / 0
как лучше построить таблицу фактов?
    #33297863
rsoudakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первый вариант даст выигрыш, если Вам нужно строить отчеты по сравнению различных балансов и если количество балансов обычно будет больше одного-двух. Если же таких - сравнительных отчетов нет или мало и количество балансов будет как правило 1-2, то второй вариант предпочтительнее и гибче.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / как лучше построить таблицу фактов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]