Лучшие практики для загрузки таблицы фактов в MS SSIS - PullRequest
0 голосов
/ 13 июня 2011

Я новичок в SSIS в хранилище данных.Я использую Microsoft Business Intelligence Studio.

У меня есть 5 измерений, в каждом из которых есть несколько PK.У меня есть таблица фактов, которая содержит все PK измерений, означает, что существуют отношения внешнего ключа (как в схеме «звезда»).

Теперь, как лучше загружать таблицу фактов?

Что я сделал, так это написал запрос перекрестного соединения между 5 измерениями, и результирующий набор выгружен в таблицу фактов.Но я не думаю, что это хорошая практика.

Я совершенно новичок в MS SSIS.так плз опишите предложения подробно.

спасибо

Ответы [ 2 ]

3 голосов
/ 13 июня 2011

Взгляните на Microsoft Project Real примеров. Также получите книгу Кимбалла и справку по загрузке таблиц фактов - эта тема охватывает несколько глав.

1 голос
/ 15 июня 2011

Я бы повторил @ Дамир о Проекте Реале и Кимбалле.Я фанат обоих.

Я думаю, чтобы дать вам больше мыслей, чтобы ответить на ваш вопрос,

  • загрузить ваше измерение даты и другие "статические" измерения как единое целоезагрузить
  • загрузить записи во все ваши измерения, чтобы позаботиться о значениях NULL и UNKNOWN
  • загрузить ваши измерения.Для ваших измерений выберите столбец за столбцом то, что вы хотите, чтобы тип 1 или тип 2 меняли столбцы измерений.Будьте осторожны и выбирайте их в основном как тип 1. Если на то нет веской причины.
  • [отредактировано] загрузите таблицу фактов, соединив данные промежуточной транзакции, которые войдут в таблицу фактов, в новые таблицы измерений, используя бизнес.ключи, таким образом ища внешние ключи измерения, как вы идете.например, транзакции продажи будут иметь номер магазина (бизнес-ключ), который вы хотели бы найти в DimStore (уже загруженном на предыдущем шаге), который даст вам kStore DimStore, затем вы запишете kstore для этой транзакции вFactSalesTransaction.

Другие общие вопросы, которые вы должны рассмотреть (не связанные с вашим вопросом, но если вы хотите об этом сказать, вы должны рассмотреть)

  • Архивация данных.Как долго вы будете хранить данные в сети?/ когда он будет удален?
  • Разделение таблицы.Если у вас очень большие таблицы фактов, вам следует рассмотреть возможность разбиения по дате или предметной области.Дата довольно хороша, поскольку вы можете сделать некоторые интересные вещи в отношении удаления старых разделов, когда данные слишком старые, как часть стандартного процесса загрузки.
  • Использование DWH в виде схемы со снежинками, а затем использование наборамнений, чтобы сплющить снофлейка в звезду.Это особенно полезно при размещении куба OLAP поверх SQL DWH, поскольку это упрощает конструкцию куба.
  • Как вы собираетесь управлять различными средами (Dev / Test / etc / Prod)?Использование одного из стилей конфигурации SQL Server является обязательным.
  • Создайте шаблонный пакет служб SSIS со всеми необходимыми переменными и нужными строками конфигурации / подключения.Это сэкономит массу времени, чтобы сделать это сейчас, вместо того, чтобы переделывать пакеты, когда вы обнаружите новые вещи.Изначально делайте тривиальные прототипы, чтобы доказать свою методологию!
...