Вставьте в схему "звезда"

Я читал много о схеме "звезда" о fact/deminsion таблицах, выберите операторы для быстрого создания отчетов о данных, однако вопрос ввода данных в схему "звезда" кажется отчужденным мне. Как каждый "теоретически" вводит данные в дб схемы "звезда"? при поддержании таблицы фактов. Серия оператора INSERT INTO в сохраненном proc гиганта с 20 параметрическими усилителями моя единственная опция (и как заполнить таблицу фактов).Большое спасибо.

5
задан Jon Seigel 18 May 2010 в 02:38
поделиться

2 ответа

Начните сначала с размеров - по одному. Используйте подход ECCD (Extract, Clean, Conform, Deliver).

Убедитесь, что каждое измерение имеет BusinessKey, который однозначно идентифицирует "объект", который описывает строка измерения - например, электронная почта для человека.

После загрузки измерений подготовьте конвейер поиска ключей. В общем, для каждой таблицы измерения можно подготовить таблицу поиска ключей (BusinessKey, PrimaryKey). Некоторые разработчики предпочитают искать в таблице измерений напрямую, но часто поиск ключей можно легко кэшировать в памяти, что приводит к ускорению загрузки фактов.

Используйте ECCD и для данных фактов. Часть ECC происходит в области постановки, вы можете выбрать (вспомогательные) таблицы или плоские файлы для каждого этапа ECC, как вам больше нравится.

При доставке таблиц фактов замените каждый BusinessKey в строке факта на соответствующий PrimaryKey, который вы получите из таблицы поиска ключей. Как только все BusinessKeys будут заменены соответствующими PrimaryKeys, вставьте строку в таблицу фактов.

Не теряйте времени, используйте инструмент ETL. Вы можете бесплатно скачать Pentaho Kettle (community edition) - в нем есть все необходимое для этого.

7
ответ дан 13 December 2019 в 22:05
поделиться

Обычно вы не вставляете данные в звездную схему так же, как в обычную форму, то есть с помощью хранимой процедуры, которая вставляет / обновляет все соответствующие таблицы в рамках одной транзакции. Помните, что звездная схема обычно представляет собой денормализованную модель данных только для чтения - она ​​(редко) обрабатывается транзакционно и обычно загружается из данных, которые уже денормализованы плоскими - обычно один плоский файл на звезду.

Как указывает Дамир, обычно вы загружаете все измерения (обрабатываете медленно меняющиеся и т. Д.), Затем загружаете факты, присоединяясь к соответствующим текущим измерениям, чтобы найти идентификаторы измерений (используя бизнес-ключи).

3
ответ дан 13 December 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: