Хранилище данных

Термин «создание Хранилищ Данных» (data warehousing) описывает процесс сбора, очистки и просеивания данных из различных рабочих систем, а также предоставление широкой аудитории бизнес-пользователей непосредственного доступа к полученной информации. Хранилище Данных (ХД) выполняет функции предварительной подготовки и хранения данных для лиц, принимающих решения (ЛПР) на основе информации из базы данных предприятия, а также информации из сторонних источников, которые в достаточном количестве стали доступны на рынке информации. Концепция ХД предполагает не просто единый логический взгляд на данные организации, а действительную реализацию единого многоаспектного информационного ресурса. В ХД поддерживается хронология: наравне с текущими хранятся исторические данные с указанием времени, к которому они относятся. В результате необходимые доступные данные об объекте управления собираются в одном месте, приводятся к единому формату, согласовываются, агрегируются до минимально требуемого уровня обобщения.

ХД использует схемы данных, получившие названия «звезда», «созвездие» и «снежинка». Суть технологии этих схем в выделении из общего объема информации собственно анализируемых данных (или фактов) и вспомогательных данных (называемых измерениями). Однако это приводит к дублированию данных в Хранилище, снижению гибкости структуры и увеличению времени загрузки. В процессе подготовки того или иного решения пользователь анализирует срез фактов по одному или нескольким измерениям.

Идея схемы звезды (star schema) в том, что имеются таблицы для каждого измерения, а все факты помещаются в одну таблицу, индексируемую множественным ключом, составленным из ключей отдельных измерений. Каждый луч схемы звезды задает (в терминологии Кодда) направление консолидации данных по соответствующему измерению (например, Магазин – Город/район – Регион). Рекомендуется создавать таблицы фактов не для всех возможных сочетаний измерений, а только для наиболее полных (тех, значения ячеек которых не могут быть получены с помощью последующей агрегации ячеек других таблиц фактов базы данных).

В сложных задачах с многоуровневыми измерениями используется схема созвездия (fact constellation schema) и схема снежинки (snowflake schema). В этих случаях отдельные таблицы фактов создаются для возможных сочетаний уровней обобщения различных измерений. Это позволяет добиться наилучшей производительности, но часто приводит к избыточности данных.

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

Метаданные о структуре данных Хранилища; структурах данных, импортируемых из различных источников; о самих источниках, методах загрузки и агрегирования данных, сведения о средствах доступа, а также бизнес-правилах оценки и структуре бизнес-понятий хранятся в репозитарии. Так, клиенты могут подразделяться на кредитоспособных и некредитоспособных, на имеющих или не имеющих льготы; они могут быть сгруппированы по возрастному признаку, по местам проживания и т.п. Как следствие, появляются новые бизнес-понятия: постоянный клиент, перспективный клиент и т.п. Некоторые бизнес-понятия (соответствующие измерениям в ХД) образуют иерархии. Например, товар может включать продукты питания и лекарственные препараты, которые подразделяются на группы продуктов и лекарств, т.е. по сути дела в системе реализуется тезаурус, который входит в состав комплекса метаданных.

При описании технологии заполнения ХД будем различать три взаимосвязанные задачи: Сбор Данных (Data Acquisition), Очистка Данных (Data Cleaning) и Агрегирование Данных (Data Consolidation). Сбор Данных — это процесс, состоящий в организации передачи данных из внешних источников в Хранилище. Как правило, здесь имеется несколько возможностей. Во-первых, поддерживаются интерфейсы всех крупных производителей серверов баз данных (Oracle, Informix, ADABAS и т.д.); во-вторых, практически всегда имеется ODBC -интерфейс; в-третьих, можно извлекать данные из текстовых файлов в формате CSV (comma separated values).

Второй аспект процесса сбора данных (автоматизирован в некоторых продуктах) — это организация процесса пополнения Хранилища. Обычно имеется возможность строить расписание пополнения Хранилища данными либо на временной основе, либо с использованием механизма событий. При заполнении Хранилища агрегированными данными следует обеспечить выборку данных из транзакционной базы данных и других источников в соответствии с метаданными, поскольку агрегирование происходит в терминах бизнес-понятий. Так, агрегированная величина «объем продаж продукта X в регионе Y за последний квартал» содержит понятия «продукт» и «регион» — бизнес-понятия данного предприятия. Задача выборки необходимых данных не может быть решена полностью автоматически: возможны коллизии (отсутствие необходимых данных, ошибки в данных и т.п.), когда вмешательство человека окажется необходимым. Далее, предполагая, что объектом анализа являются числовые показатели, связанные с бизнес-понятиями, такие как объем продаж или прибыль, необходимо определить правила вычисления этих показателей для составных бизнес-понятий, исходя из их значений для более простых бизнес-понятий. Это и есть правила агрегирования.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: