Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Архитектура Deductor Warehouse – многомерное хранилище данных
Многомерное представление данных
Deductor Warehouse - многомерное хранилище данных, аккумулирующее всю необходимую для анализа предметной области информацию. Вся информация в хранилище хранится в структурах типа «звезда», где в центре расположены таблицы фактов, а «лучами» являются измерения. 4-ая версия поддерживает схему хранения «звезда», а 5-ая значительно более мощную – «снежинка». В схеме «звезда» измерение может ссылаться только на таблицу фактов, а в «снежинке» измерение может ссылаться на другие измерения, которые в свою очередь ссылаются на таблицу фактов. Можно говорить, что «звезда» - это частный случай схемы «снежинка».
Такая архитектура хранилища наиболее адекватна задачам анализа данных. Каждая «звезда» называется процессом и описывает определенное действие, например, продажи товара, отгрузки, поступления денежных средств и прочее. В Deductor Warehouse может одновременно храниться множество процессов, имеющие общие измерения, например, «Товар», фигурирующий в «Поступлении» и в «Отгрузке».
Измерения могут быть как простыми списками, например, дата, так и содержать дополнительные столбцы, называемые свойствами (атрибутами измерений). Например, измерение «Товар» может состоять из следующих полей: «Наименование товара» - собственно измерение (первичный ключ), «Вес», «Объем» и прочее - свойства данного измерения (атрибуты данного измерения).
Процессы тоже могут иметь атрибуты, - атрибуты процесса. Атрибут процесса в отличие от измерения не определяет координату в многомерном пространстве. Это справочное значение, относяцееся к процессу, например, № накладной, валюта и т.д.
Часто сложно определиться, что делать атрибутом процесса, а что измерением. Универсальных рецептов на все случаи не существует. Но можно дать общие рекомендации:
· совокупность измерений процесса должна однозначно определять единственную запись в таблице процесса («точку» в многомерном пространстве);
· если существуют иерархии, то выбор должен быть в пользу измерения;
· если по объекту хранилища данных предполагается в будущем делать частые «срезы», то снова лучше отдать предпочтение измерению;
· наличие возможных пропусков (необязательное поле) говорит о том, что объект лучше сделать атрибутом процесса.
Что представляет собой хранилище Deductor Warehouse?
Физически – это реляционная база данных, содержащая таблицы для хранения информации и таблицы связей, обеспечивающие целостное хранение сведений. Поверх реляционной базы данных реализован специальный слой, который преобразует реляционное представление к многомерному.
Многомерное представление используется потому, что оно намного лучше реляционного соответствует идеологии анализа данных. Благодаря этому слою, пользователь оперирует многомерными понятиями, такими как измерение, факт, а система автоматически производит все необходимые манипуляции, необходимые для работы с реляционной СУБД. Deductor Warehouse реализует универсальное многомерное хранение, т.е. может содержать множество процессов с различным количеством измерений и фактов. Настройка процессов, задание измерений, свойств и фактов может осуществляться с помощью Редактора метаданных Deductor Studio, либо при загрузке в хранилище данных. Вся работа с хранилищем осуществляется средствами Deductor Studio.
Новое хранилище данных не содержит в себе пока никакой информации. В нем пока еще нет данных и не определены процессы, измерения, факты. Структура хранилища создается с помощью Редактора хранилища или при первой загрузке в него данных.
Создание структуры хранилища с помощью Редактора метаданных
Перед тем, как приступить к загрузке данных во вновь созданное хранилище, необходимо задать его структуру, т.е. определить, какие процессы, измерения, факты и свойства будут в нем содержаться. Для этого предназначен Редактор метаданных. Хотя создание процессов и измерений возможно и во время самого процесса загрузки данных, зачастую бывает удобней заранее спроектировать схему хранилища данных, и производить загрузку в созданные ранее объекты хранилища.
Редактор метаданных может быть вызван с помощью всплывающего меню или из окна настройки параметров хранилища на панели «Источники данных». В левой части окна Редактора метаданных показано дерево объектов хранилища (процессы, измерения, свойства и факты).
В правой части окна отображаются параметры выделенного объекта:
Загрузка данных в хранилище
Для загрузки данных в хранилище нужно воспользоваться Deductor Studio. Для этого необходимо выполнить следующие действия:
Измерения
Загружать измерение имеет смысл, если у него есть свойства. Например, у измерения «Товар» могут быть свойства «Вес», «Цвет», «Размер». При загрузке процесса свойства измерения не загружаются; для того, чтобы добавить их в хранилище, измерение следует загрузить отдельно. В качестве другого примера, измерение «Дата» никаких свойств не имеет, поэтому может загружаться как самостоятельно, так и вместе с процессом.
Пример
Пусть во внешнем источнике хранится информация об отгрузках, представленная следующей таблицей.
Импорт данных из хранилища
Импорт данных из хранилища производится с помощью мастера импорта, в котором необходимо выбрать в качестве типа источника данных процесс или измерение Deductor Warehouse.
Импорт процесса
Для начала нужно выбрать хранилище данных, из которого требуется выполнить импорт. В колонке «Хранилище данных» указывается имя хранилища, под которым оно зарегистрировано в системе, а в списке «Описание» (это необязательный параметр) – краткая характеристика содержимого хранилища, которая вводилась при его создании.
Затем следует выбрать процесс, из которого нужно импортировать данные. Информация, относящаяся к какому-либо объекту или бизнес-процессу, представлена в хранилище в виде «звезды», где в центре расположены таблицы фактов, а «лучами» являются измерения. Каждая такая структура называется процессом. В общем случае, таких процессов в хранилище содержится несколько. Поэтому каждый раз при обращении к хранилищу необходимо выбрать процесс, из которого должны импортироваться данные. В списке «Процесс» представлены наименования процессов, содержащихся в данном хранилище, а в списке «Описание» - краткая характеристика процесса (это необязательный параметр). И название, и описание вводятся пользователем при создании процесса.
Далее нужно определить, какие измерения, свойства и факты из выбранного на предыдущем шаге процесса должны быть импортированы. Это необходимо потому, что процесс может содержать много измерений и фактов, а пользователю будут нужны только некоторые из них. Поэтому выбор только тех измерений и фактов, которые нужны в данном случае, позволит сэкономить время на загрузке данных и избежать появления ненужных данных в выборке.
Далее требуется определить срез – то есть выбрать значения измерений, выбранных на предыдущем шаге, которые будут импортированы. Этот шаг желателен потому, что количество значений измерения может быть очень большим, а загрузка всех значений нецелесообразна.