OLAP.ru   Rambler's Top100
Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru
  
Поиск по сайту
Новости
Основы OLAP
Продукты
Business Objects/ Crystal Decisions
Каталог
OLAP в жизни
Тенденции
Download
Яndex
 
 
 
TopList
 
 Business Objects/Crystal Decisions  Oracle  Microsoft  IBM 
 Hyperion  Sybase  Informix  Actuate  SAS Institute  Brio 

Как и зачем создавать и использовать хранилища данных


Владимир Габриель (Digital Design), READ.ME #7/1998

В данной статье рассмотрен процесс создания хранилищ данных на предприятиях, описана архитектура продуктов корпорации Microsoft для создания хранилищ данных, а также проанализирован вопрос использования данных и продукт DataSpider, предназначенный для создания клиентских приложений для хранилищ данных.

Тема создания и использования хранилищ данных сегодня становится все более популярной как в публикациях специализированных СМИ и частных беседах специалистов, так и в коммерческих предложениях компаний. Это заставляет задумываться не только об организационных и технических аспектах проблемы, или о вопросе «КАК?», но и требует ответа на вопрос «ЗАЧЕМ?» С другой стороны, когда мы говорим о технологиях, которые рождены какой–то одной компанией, наше видение проблем ограничено возможностями рассматриваемых продуктов. На мой взгляд, ценным является понимание границ возможностей конкретных продуктов и технологий.
В этой статье предпринята попытка ответить на вопросы, ЗАЧЕМ создавать хранилища данных, и КАК это делать в мире продуктов Microsoft. Кроме этого, я попытаюсь очертить границы, в которых имеет смысл использовать эти технологии.

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

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

В силу того, что компьютеризации (или отражению в базе данных) подвергается каждый раз небольшой фрагмент процессов предприятия, и это происходит не всегда согласованно, большинство баз данных плохо согласованы друг с другом. Фраза «плохо согласованы» означает, что в различных базах данных одинаковые объекты реального мира могут быть отражены по–разному (например, Иванов И. И. при начислении заработной платы и Иванов Иван Иванович при получении материальных ценностей в подотчет). Эта проблема может решаться введением централизованных справочников и словарей уровня предприятия, что само по себе является нетривиальным техническим процессом.

Над целевыми базами данных исполняются целевые транзакции (например, занесение в таблицу записи с параметрами выписанного счета, оприходованной фактуры или любого другого факта). Такие системы обычно называют системами оперативной обработки транзакций, или OLTP системами. Целевые транзакции изменяют состояние баз данных и приводят их в соответствие текущему состоянию того фрагмента реального мира, который моделирует база данных. Таким образом, основным назначением целевых баз данных является обработка транзакций.

Другой большой пласт задач над целевыми базами данных связан с созданием отчетов за определенный период существования базы данных. Форма этих отчетов может незначительно меняться и, как правило, определяется внешними правилами (правила ведения бухгалтерского учета) и внутренними правилами (должностные инструкции, приказы и распоряжения), в рамках которых существует предприятие.

Создаваемые в процессе такой автоматизации базы данных, как правило, максимально оптимизированы для быстрого выполнения необходимых транзакций, рассчитаны на производство небольшого количества отчетов и хранят данные за небольшой временной период. Если постепенно (или единовременно) автоматизации подверглись все бизнес–процессы предприятия, то ситуация обычно будет отличаться лишь тем, что уже началось решение проблемы плохого согласования данных, или эта проблема уже решена. В тот момент, когда мы наблюдаем подобную ситуацию, можно задать себе вопрос: «Какие процессы подверглись автоматизации? Работа какого персонала была автоматизирована и облегчена?» Ответ на этот вопрос достаточно очевиден: автоматизирована работа исполнителей, которые выполняют типовые процедуры. Автоматизация почти не затронула управленцев — персонал, ответственный за принятие решений.

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

Для процесса принятия решений создаются средства из трех больших групп:

  • средства генерации отчетов (Reporting tools)
  • средства оперативного анализа (OLAP tools)
  • средства поиска данных (Data Mining tools)

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

Средства оперативного анализа нацелены на проверку гипотез, они позволяют найти данные, которые подтверждают или опровергают сформулированные управленческие гипотезы. Гипотезы могут формулироваться как очень определенно (падение прибыли произошло из–за повышения себестоимости), так и более нечетко (есть параметры деятельности, которые наиболее сильно отличают подразделение, принесшее наибольшую прибыль), в результате положительного ответа на такой вопрос можно также узнать, какое это подразделение, и какие параметры его деятельности наиболее сильно отличаются. Эта информация позволяет управленцам изменять процессы предприятия для достижения определенных целей.

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

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

Пространственная (или многомерная) модель данных позволяет хранить значения измеряемых параметров или мер (например, сумма на счете, оборот, сумма продажи, количество товара, объем выполненной услуги и другие) в едином объекте данных с определяющими параметрами или аргументами; далее эти объекты мы будем называть измерениями (например, номер счета, дата проводки, номер накладной, кто плательщик, наименование и тип товара, наименование услуги и пр.). Стоит отметить, что данные для хранилищ получаются из целевых оперативных баз данных. Учитывая, что хранилища данных содержат в едином объекте информацию о различных сторонах процессов, которые могли отражаться в различных целевых базах данных, необходим процесс объединения данных из различных источников, или процесс консолидации.

Большинство измерений (параметров, от которых зависят меры) неоднородно. Например, если мы говорим о наименовании товара, то также можно говорить и о некоторой товарной группе, типе товара. Таким образом, измерение «товар» может иметь иерархию наименования, например тип товара —> товарная группа —> наименование товара. Причем при анализе данных и принятии решения часто необходимо работать не с числовыми величинами, специфичными для конкретного товара; бывает достаточно детализации уровня товарной группы или даже типа товара. Для обеспечения быстрого доступа к этой просуммированной информации хранилища данных, как правило, содержат эту информацию уже вычисленной. Процесс вычисления подобных сумм называется агрегация, а сами величины — агрегатами.
Для создания хранилищ данных очень часто используются обычные реляционные базы данных. В этом случае схему базы данных организуют как звезду (Star Flake) или снежинку (Snow Flake).

При организации схемы базы данных в виде звезды в центре находится таблица фактов или таблица, описывающая меры, а с ней связаны таблицы параметров или измерений.

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

Мир Microsoft

Корпорация Microsoft как основной продукт для создания решений в области хранилищ данных предлагает современный сервер баз данных Microsoft SQL Server 7.0 (http://www.microsoft.com/sql) с двумя дополнительными подсистемами —

  • Microsoft Data Transformation services (DTS)
  • Microsoft Decision Support services (DSS)

Этот набор серверных продуктов в сочетании с средой обработки распределенных транзакций в Microsoft Transaction Server позволяет создать мощную серверную среду для создания распределенных приложений по накоплению, обработке, трансформации и анализу данных. Для создания клиентских приложений компания Digital Design предлагает использование технологии DataSpider как компонентного средства создания приложений в области Business Intelligence.

Все продукты поддерживают удаленное администрирование и богатый интерфейс для организации взаимодействия в архитектуре клиент/сервер.

Microsoft SQL Server 7.0

Сервер баз данных Microsoft SQL Server 7.0 является не только основной платформой для создания транзакционных OLTP приложений, но и позволяет организовать хранилища и витрины данных с архитектурой star flake либо snow flake. При создании хранилищ данных существенны следующие особенности Microsoft SQL Server 7.0:

  • работа с базами данных сверхбольшого размера;
  • работа с распределенными базами данных;
  • работа с данными из гетерогенных источников в рамках одного запроса (доступ практически ко всем стандартизованным форматам данных по технологии OLE DB (http://www.microsoft.com/data/oledb), включая индексированные тексты, графику, геоданные).

Microsoft SQL Server предоставляет богатые интерфейсы для доступа к данным как уровня вызовов, так и объектного уровня (OLE DB, ADO, ODBC — более подробно о механизмах доступа к данным можно узнать на сервере http://www.microsoft.com/data).
С версии 7.0 поддерживается хранение метаданных в репозитарии Microsoft Repository.

Microsoft Data Transformation Services

Microsoft Data Transformation services — часть Microsoft SQL Server 7.0. Этот продукт предназначен для создания пакетов трансформации данных из различных источников. Продукт позволяет, описав правила трансформации данных, обеспечить их регулярную загрузку в хранилище данных. При загрузке имеется возможность исполнения процедур контроля целостности данных, агрегации и консолидации. Доступ может быть обеспечен к любым источникам через механизм OLE DB, и загрузка данных может осуществляться в любые OLE DB источники данных. Microsoft Data Transformation services имеет визуальный интерфейс для описания процесса трансформации данных.
Метаданные процесса трансформации данных могут храниться в репозитарии Microsoft Repository.

Microsoft Decision Support Services 1.0

Этот продукт позволяет организовать доступ к хранилищу данных на языке MDX (MultiDimension eXpressions, расширение SQL для работы с многомерными данными) и осуществлять работу с хранилищем данных в терминах пространственной многомерной модели данных. Microsoft Decision Support Services содержит набор функций и сервисов для осуществления OLAP операций и организации доступа к многомерным данным. Microsoft Decision Support Services поддерживает 3 режима работы:

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

Описание многомерных данных может сохраняться в репозитарии Microsoft Repository.

DataSpider 2.0

DataSpider — продукт петербургской компании Digital Design для создания клиентских приложений в области OLAP анализа и доступа к хранилищам данных. Продукт является набором клиентских компонент для отображения данных и формирования последовательных взглядов на многомерные данные. DataSpider рассчитан как для создания новых приложений, так и для добавления OLAP функциональности в существующие приложения на Visual Basic, Delphi, Visual C++. Более подробно о продукте можно узнать по адресу: http://products.digdes.com/dataspider/.

О границах мира

Безусловно, мир продуктов Microsoft не является единственным для создания решений в области хранилищ данных, многие компании уже достаточно давно представляли решения в этой области. Однако приход корпорации Microsoft в число поставщиков решений для хранилищ данных позволяет нам надеяться на следующие изменения:

  • качество продуктов возрастет;
  • продукты станут более ориентированы на пользователя;
  • продукты станут более интегрированными;
  • стоимость продуктов и решений снизится.

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

 Обсудить на форуме   Написать автору   Написать вебмастеру 

© 2001 Interface Ltd