Лекции.ИНФО


Проектирование хранилищ данных



Хранилища данных (Data Warehouse) предназначены для хранения дан­ных, которые редко меняются, но на основе которых часто требуется вы­полнение сложных запросов. Обычно они ориентированы на выполнение аналитических запросов, которые обеспечивают поддержку принятия реше­ний для руководителей и менеджеров.

Для эффективного проектирования хранилищ данных ERwin использует размерную модель (Dimensional). Dimensional - методология проектирова­ния, специально предназначенная для разработки хранилищ данных. Моде­лирование Dimensional сходно с моделированием связей и сущностей для реляционной модели, но отличается целями. Реляционная модель акценти­руется на целостности и эффективности ввода данных. Размерная модель (Dimensional) ориентирована в первую очередь на выполнение сложных запросов к БД.

В размерном моделировании принят стандарт модели, называемый схе­мой "звезда" (star schema), которая обеспечивает высокую скорость выпол­нения запроса посредством денормализации и разделения данных.

ERwin поддерживает методологию размерного моделирования благодаря использованию специальной нотации для физической модели Dimensional. Наиболее простой способ перейти к нотации Dimensional - при создании новой модели (меню File/New) в диалоге ERwin Template Selection выбрать из списка предлагаемых шаблонов DIMENSION.

В шаблоне DIMENSION сделаны все необходимые для поддержки но­тации размерного моделирования настройки, которые, впрочем, можно установить вручную, преобразовав обычную диаграмму в размерную мо­дель:

Для физического уровня выбрана методология DM (Dimensional Modeling). Эта опция устанавливается в закладке Methodology диалога Preferences (меню Option/Preferences). При этом показываются иконки размерности для таблиц. В списке выбора в левой части панели инструментов физический уровень показывается как Dimensional и изменя­ется вид палитры инструментов на физическом уровне.

Установлена опция отображения связей диагональными линиями (Orthogonal). (Устанавливается в группе Relationship lines закладки General диалога Stored Display Editor, меню Edit/Stored Display.)

Отображаются типы данных для колонок и обозначения внешних ключей.

ERwin автоматически проверяет корректность размерной модели и вы­дает диалог с предупреждающим сообщением в случае следующих наруше­ний синтаксиса:

• таблица факта не является в связи дочерней;

• консольная таблица не является в связи родительской;

• установлена идентифицирующая связь между консольной таблицей и таблицей факта.

Для внесения новой таблицы в модель можно воспользоваться кнопкой в палитре инструментов. В диалоге описания свойств таблицы Table Editor появляется новая закладка Dimensional, в которой задаются специ­фические свойства таблицы в размерной модели:

Роль таблицы в схеме (Dimensional Modeling Role). По умолчанию Erwin автоматически определяет роль таблицы на основании созданных связей (таблица факта, размерности или консольная). Таблица без связей опреде­ляется как таблица размерности, таблица факта не может быть родитель­ской в связи, таблица размерности может быть родительской по отноше­нию к таблице факта, консольная таблица может быть родительской по отношению к таблице размерности. Для задания роли таблицы вручную необходимо выключить опцию Calculate Automatically.

Тип таблицы размерности (Dimension Type). Каждая таблица размерно­сти может содержать неизменяемые либо редко изменяемые данные (slowly changing dimensions). Поскольку хранилище данных имеет ненормализо­ванную структуру, редактирование таблиц размерности может привести к коллизиям. Для того чтобы избежать противоречий при хранении данных, ERwin позволяет задать тип редко изменяемых данных, который отличается способом редактирования данных:

Перезаписывание старых данных новыми. При этом старые данные те­ряются.

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

Запись новых данных в дополнительном поле той же самой записи. В этом случае сохраняется первоначальное и последнее новое значение. Все промежуточные данные теряются.

Правила хранения данных (Data Warehouse Rules). Для каждой таблицы можно задать шесть типов правил манипулирования данными: обновление (Refresh), дополнение (Append), резервное копирование (Backup), восста­новление (Recovery), архивирование (Archiving) и очистка (Purge). Для за­дания правила следует выбрать имя правила из соответствующего списка выбора. Каждое правило должно быть предварительно описано в диалоге Data Warehouse Rule Editor (меню Edit/Data Warehouse Rule).

Список в верхней части диалога показывает все описанные правила. Для каждого правила должно быть задано имя, тип, определение. Например, определение правила дополнения данных может включать частоту и время дополнения (ежедневно, в конце рабочего дня), продолжительность опера­ции и т. д. Связать правила с определенной таблицей можно не только с помощью диалога Table Editor, но и непосредственно из Data Warehouse Rule Editor (закладка Attachment).

При проектировании хранилища данных важно определить источник данных (для каждой колонки), метод, которым исходные данные извлека­ются, преобразуются и фильтруются, прежде чем они импортируются в хранилище данных. Хранилище данных может объединять информацию из текстовых файлов и многих БД, как реляционных, так и нереляционных, в единую систему поддержки принятия решений. Чтобы поддерживать регу­лярные обновления и проверки качества данных, необходимо знать источ­ник для каждой колонки в хранилище данных. Для документирования ин­формации об источниках данных используется редактор Data Warehouse Source Editor.

Внести новый источник можно щелкнув по кнопке [+] в списке источ­ников. Имена таблиц и колонок источников данных могут быть импорти­рованы как из БД, так и из других моделей ERwin (закладка Detail, кнопка Import). Каждому источнику может быть задано имя и определение.

В закладке Data Source редактора Column Editor можно вне­сти информацию об использовании источников данных для каждой колон­ки в таблице. В поле Transform Comment вносится дополнительная инфор­мация о переносе данных из источника в хранилище данных.

Для выбора источника данных следует щелкнуть по кнопке [...] в правой верхней части закладки Data Source. Появляется диалог Data Warehouse Source Selector, в окне Available Sources которого показываются все предварительно описанные источники. Для выбора источника следует выбрать в списке необходимую колонку и щелкнуть по кнопке Select.

Вычисление размера БД

ERwin позволяет рассчитать приблизительный размер БД в целом, а также таблиц, индексов и других объектов через определенный период времени после начала эксплуатации ИС. Для расчета размеров физических объектов служит диалог Volumetrics Editor, который вызывается из меню Edit/Volumetrics...

Редактор Volumetrics Editor имеет три закладки - Settings, Report и Parameters:

Settings. Служит для задания основных параметров, на основе которых вычисляется размер БД:

В группе Table Row Counts для выделенной в левом списке Table табли­цы задается начальное количество строк (Initial), максимальное количество строк (Мах) и прирост количества строк в месяц (Grow By). Если парамет­ры Мах и Grow By используются одновременно, рост размера таблицы пре­кращается по достижении максимального размера.

Те же самые параметры можно задать для каждой таблицы в закладке Volumetrics редактора Table Editor. Сразу после задания параметров Initial, Мах и Grow By в группе Sizing Estimates, расположенной в левом нижнем углу диалога, показывается средний размер строки, начальный размер таб­лицы и индексов.

Таблица Column Properties позволяет задать свойства колонок таблицы. Имена колонок, их тип и размер (allocated) не редактируются. Можно из­менять ширину поля Avg Width (для тех типов данных, для которых это допускается) и параметр Pet NULL (средний ожидаемый процент строк, в которых текущее поле принимает значение NULL). ERwin автоматически определяет в зависимости от выбранной СУБД, какие поля таблицы Column Properties могут изменяться.

Группа Include Indexes позволяет учесть или игнорировать индексы, соз­даваемые на внешних (FK, Foreign Key), первичных (РК, Primary Key), аль­тернативных (АК, Alternate Key) ключах или инверсионных входах (IE, Inverse Entry) при расчете размера БД.

Группа Storage позволяет задать объект физической памяти, в котором будет храниться выбранная таблица. Если объект физической памяти не описан, его можно определить в редакторе Physical Object Editor (вызывается кнопкой [...]).

Report. В ней отображаются результаты расчета размера БД. Группа Options позволяет выбрать тип объектов, по которым проводится расчет, Time - временной диапазон (начальное состояние или определенное время после начала эксплуатации).

Результирующий отчет можно направить в диалог генерации отчетов -Report Browser.

Parameters. Служит для задания дополнительных параметров, исполь­зуемых для расчета размера БД:

TableFactor. Этот фактор показывает накладные расходы на хранение таблицы в БД. Например, значение TableFactor = 2 увеличит размер таблиц вдвое.

IndexFactor показывает накладные расходы на хранение индекса в БД. Например, значение IndexFactor = 1 увеличит размер индекса с 1 М до 1,5 М.

RowOverhead используется для дополнительного пересчета количества байт каждой строки. Например, если значение RowOverhead = 10, размер каждой строки таблицы будет увеличен на 10 байт.

BlobFactor и BlobBlockSize используются для пересчета Blob-колонок, хранящихся физически вне таблицы.

BytesPerChar используется для задания количества байт, необходимых для хранения одного символа строкового типа. Для ASCII - это 1, для других кодировок значение может быть больше 1, например для UNICODE - 2.

LogPercent используется для вычисления размеров log-файлов БД. LogPercent = 100 увеличивает БД вдвое.









Читайте также:

Последнее изменение этой страницы: 2016-05-30; Просмотров: 72;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная