Вставить в звездную схему

Я много читал о звездных схемах, о таблицах фактов / разграничения, операторах select для быстрого сообщения данных, однако вопрос ввода данных в звездную схему кажется мне в стороне. Как «теоретически» ввести данные в базу данных звездообразной схемы? при сохранении таблицы фактов. Это серия операторов INSERT INTO в гигантской хранимой процедуре с 20 параметрами, мой единственный вариант (и как заполнить таблицу фактов). Большое спасибо.


person shaun    schedule 22.03.2010    source источник


Ответы (2)


Сначала начните с размеров - один за другим. Используйте подход ECCD (извлечение, очистка, согласование, доставка).

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

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

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

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

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

person Damir Sudarevic    schedule 23.03.2010

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

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

person Cade Roux    schedule 30.03.2010