Должны ли мы поместить все поля, относящиеся к `user`, в таблицу` dim_user` в хранилище данных? - PullRequest
0 голосов
/ 12 апреля 2019

Учитывая, что хранилище данных содержит одну таблицу фактов и три таблицы измерений.

Таблица фактов:

  • fact_orders

Таблицы размеров:

  • dim_user
  • dim_product
  • dim_date

Все данные этих таблиц извлечены из наших бизнес-систем.

В бизнес-системе пользователь имеет много атрибутов, некоторые из которых могут меняться со временем (mobile, avatar_url, nick_name, status), другие не будут меняться после создания записи (id gender register_channel).

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

1 Ответ

0 голосов
/ 12 апреля 2019

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

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

Если вы хотите сохранить историю изменений пользователя, вы можете рассмотреть возможность реализации медленно меняющихся измерений .В противном случае вы можете обновить атрибуты измерения по мере их изменения.Он называется SCD Type I.

...