Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Основы хранилищ данных и BI по Ральфу Кимбаллу

15 мая 2007 г. московское представительство компании Sybase провело в конференц-зале московской гостиницы Редиссон-Славянская конференцию «Многомерное моделирование для BI-систем: простой и мощный подход». В качестве основного докладчика на этой конференции Sybase пригласила Ральфа Кимбалла (Ralph Kimball), который наряду с Биллом Инмоном (Bill Inmon) считается родоначальником технологии современных хранилищ данных и ROLAP. На конференции также выступали представители компании Sybase Алена Еникеева и Юрий Белоус, которые рассказывали о возможностях использования продуктов компании при выполнении проектов в области хранилищ данных и BI. Тем не менее, 400 человек, принявших участие в конференции, по-видимому, в основном пришли, чтобы увидеть и услышать Кимбалла. Поэтому в данной статье я расскажу именно о докладах (скорее их следует назвать лекциями) Кимбалла.

Биография Ральфа Кимбалла

Начну с небольшой биографической справки о жизненном пути и карьере Ральфа Кимбалла, руководствуясь материалом, представленным на сайте http://www.kimballgroup.com/. Мне кажется, что эти сведения полезны для общей оценки значимости этого человека.

После получения степени PhD в Стэндфордском университете в 1972 г. по специальности «Электронная инженерия» Ральф Кимбалл поступил на работу в Xerox Palo Alto Research Center (PARC). В PARC Ральф участвовал в создании Xerox Star Workstation, первого коммерческого продукта, ориентированного на использования мыши, пиктограмм и окон.

Затем господин Кимбалл стал вице-президентом по приложениям компании Metaphor Computer Systems, являвшейся одним из лидеров в области производства программного обеспечения для поддержки принятия решений. Под его непосредственным руководством в 1982 г. был разработан метод графического программирования Capsule, обеспечивающий визуальный стиль программирования для непрограммистов. Этот метод использовался в компании Metaphor Computer Systems для построения отчетных и аналитических приложений.

В 1986 г. Ральф основал компанию Red Brick Systems и являлся ее CEO до 1992. Компания Red Brick Systems, принадлежащая теперь IBM, была известна своей быстрой реляционной СУБД, оптимизированной для поддержки хранилищ данных. В 1992 г. была зарегистрирована компания Ralph Kimball Associates, ориентированная на обучение и оказание консультаций в области хранилищ данных.

Ральф Кимбалл (Ralph Kimball) всемирно известен как первопроходец, автор статей и книг, преподаватель, лектор и консультант в области хранилищ данных. В течение многих лет он сохраняет убежденность в том, что при проектировании хранилищ данных нужно стремиться к их понятности и быстроте. Его книги по методам многомерного моделирования и проектирования хранилищ данных являются постоянными бестселлерами.

Лекции на конференции в Москве

На конференции 15 мая Ральф Кимбалл прочитал две лекции: «Многомерное моделирование для BI-систем: простой и мощный подход» и «Построение BI-системы: задачи и решения». Как и следовало ожидать, Ральф показал себя замечательным лектором: четкая дикция, тщательно подобранные формулировки, строгая логичность изложения. Организаторы конференции обеспечили синхронный перевод выступлений господина Кимбалла, и, на мой взгляд, люди, воспользовавшиеся этой услугой, очень прогадали: собственная речь Ральфа была абсолютно понятной и доставляла истинное удовольствие.

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

Многомерная модель – панацея от всех бед

Первую лекцию господин Кимбалл начал с того, что в 2000-е годы основная роль хранилищ данных состоит в обеспечении общей платформы различных аналитических приложений. При поддержке аналитических приложений основными задачами являются максимизация отдачи от накопленных знаний и одновременная минимизация затрат. В соответствии с концепцией Ральфа Кимбалла BI-приложения работают на основе витрин данных, которые производятся на основе общего корпоративного хранилища данных с применением так называемой «шинной матрицы» (bus mutrix; впервые идею использования матрицы для связи витрин данных с хранилищем данных Кимбалл описал в своей колонке в журнале Intelligent Enterprise в декабре 1999 г. в статье «The Matrix»; в декабре 2005 г. соратница Ральфа Марги Росс (Margy Ross) развила эту идею в статье «The Matrix: Revisited»).

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

Решение задач проектирования хранилища данных предлагается основывать на двух эффективных идеях: (1) разделение информационных систем на транзакционные, предназначенные для промежуточного хранения данных (staging), ответственные за представление данных и обеспечивающие окончательные пользовательские интерфейсы и (2) построение среды представления данных на основе многомерных моделей. Витрины данных связываются с хранилищем данных шинной матрицей.

Проблемы построения хранилища данных и их решения

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

Ральф Кимбалл выделяет 14 проблем, с которыми приходится сталкиваться при построении систем публикации, и предлагает их решения.

Первая проблема заключается в том, что в хранилище данных оказываются недоступными данные, необходимые для принятия решений. В связи с этой проблемой Кимбалл отмечает, что нельзя относиться к построению корпоративного хранилища данных как к проекту, у которого имеется начало и конец. В действительности, построение хранилища данных – это процесс, который может закончиться только после отказа от хранилища данных. Если в хранилище данных оказываются недоступными необходимые данные, нужно восполнить эту недостачу путем сбора бизнес-требований от конечных пользователей; изучения того, какая информация необходима бизнес-пользователям в процессе принятия решений; регулярных дискуссий с лицами, принимающими решения, для понимания новых требований; систематического исследования новых источников данных и метрик.

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

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

В связи с этим у меня возник вопрос, не утратят ли специалисты в области IT свою основную квалификацию, проработав год, например, в отделе продаж? На это Ральф Кимбалл ответил, что они не утратят, а только повысят свою квалификацию, поскольку для успешного построения хранилища данных знание бизнеса значит не меньше подготовки в области IT.

Третья проблема состоит в отсутствии явной познавательной и концептуальной модели конечных пользователей. Симптомом этой проблемы является выбор IT-специалистами инструментальных средств на основе бесед с потенциальными продавцами и знакомства с демонстрационными версиями без учета реальных потребностей пользователей. Проблема проявляются в том, что IT-специалисты стремятся к сложным решениям и подразумевают, что конечным пользователям нравятся компьютеры, что, по мнению Кимбалла, является величайшим заблуждением.

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

Четвертая проблема заключается в запаздывании данных, требуемых для принятия решений. Симптомом является потребность в данных в «реальном времени». Здесь под требованиями «реального времени» понимаются любые требования к временым характеристикам данных, которые не могут быть удовлетворены действующей процедурой ETL.

Решение по Кимбаллу заключается в изменении процедуры ETL (Extraction, Transformation, Loading) за счет использования готовых инструментов извлечения данных, например, сообщений EAI (Enterprise Application Integration). Для быстрого удовлетворения потребностей пользователей можно связывать «горячие» разделы таблицы фактов со статическим хранилищем данных, не дожидаясь обновления таблиц измерений.

Пятая проблема состоит в том, что не единообразные факты и измерения препятствуют интеграции корпоративных данных. Топ-менеджерам требуется всестороннее представление данных, а его невозможно получить, потому что в разных подразделениях данные представляются по-разному. В качестве решения предлагается при проектировании витрин данных использовать шинную матрицу для согласования данных. Как подчеркивает Кимбалл, это решение является не столько техническим, сколько организационным.

Шестой проблемой является недостаточная подробность данных, в результате чего получается невыразительная BI-система. Симптомом является недостаточное число атрибутов у данных измерений. Предлагается постоянно стремиться к повышению выразительности данных, а для создания содержательного контекста данных использовать вспомогательные источники данных.

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

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

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

Решением опять-таки является использование многомерных моделей данных, подбор качественных программных средств СУБД с развитыми механизмами индексации, оснащение компьютеров основной памятью большого объема, использование распараллеливания (с очень осторожным отношением к массивному параллелизму), применение компьютеров с быстрыми центральными процессорами.

Меня удивило, насколько уверенно Кимбалл говорил о том, что параллельные СУБД с архитектурой sharing-nothing все равно не справятся с многочисленными соединениями, требуемыми при работе с нормализованными хранилищами и витринами данных. Мне очень хотелось, чтобы с господином Кимбаллом поспорил кто-нибудь из Teradata (напомню, что основной концепцией построения хранилищ данных на основе СУБД Teradata является использование реляционной схемы базы данных с нормализацией не менее чем до третьей нормальной формы), но, к сожалению, этого не случилось.

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

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

Одиннадцатая проблема состоит в преждевременной агрегации данных. Наличие в многомерной модели агрегированных данных без соответствующих атомарных данных не позволяет проводить детализацию данных. Рекомендуемым решением проблемы является поддержка для витрин данных физических структур хранения, содержащих атомарные данные. Детализация данных поддерживается за счет агрегатной навигации (идею агрегатной навигации Ральф Кимбалл впервые описал в статье «The Aggregate Navigator: How to optimize your data warehouse using aggregates without driving your end users crazy», опубликованной в журнале DBMS online в ноябре 1995 г.).

Двенадцатой проблемой Кимбалл считает отвлечение внимания на оценку показателей возврата инвестиций (ROI) хранилища данных. Симптомами этой проблемы является расчет показателей ROI до создания хранилища данных с применением стандартных методов, основанных на периоде окупаемости, чистой приведенной стоимости, внутренней норме прибыли, системе сбалансированных показателей, экономической добавленной стоимости, до создания хранилища данных. По мнению Кимбалла, во всех этих методах упускается основной смысл стоимости и, в конечном счете, ценности хранилища данных.

Хранилище данных поддерживает принятие решений. Рекомендуется после принятия решения отнести часть полученной прибыли на счет хранилища данных, а затем сравнить ее с расходами на хранилище данных. Господин Кимбалл рекомендует считать, что 20% прибыли, полученной в результате принятия решения, получено благодаря использованию хранилища данных. Такой подход соответствует той идее, что единственным осмысленным способом оценки эффективности хранилища данных является оценка его возможности поддерживать принятия решений конечными пользователями.

Тринадцатая проблема состоит в затрате сил и времени на создание корпоративной модели данных. Симптомом является появление тысяч сущностей, которые никогда не наполняются реальными данными. Кимбалл считает, что усилия, затрачиваемые на разработку корпоративной модели данных, только задерживают работу над хранилищем данных. Лучше основывать модель хранилища данных на реальных источниках данных, заранее рассчитывая на то, что при выполнении процедуры ETL будут выявляться ошибки и несоответствие данных (см. десятую проблему).

И, наконец, четырнадцатой проблемой Ральф Кимбалл считает возможное требование использовать все источники данных для наполнения хранилища данных. В соответствии с опытом Кимбалла, если при построении хранилища данных выдвигается требование использования трех или более источников данных, то хранилище данных не заработает и через два года. На первом этапе построения хранилища данных рекомендуется потратить шесть недель на полноценный аудит данных, а затем выбрать один источник данных, который, во-первых, влияет на наиболее важные решения конечных пользователей и, во-вторых, проще всего подключается к процедуре ETL. После заполнения хранилища данных из первого источника следует оценить полученный результат и обдумать следующие шаги.

Замечу, что основной материал второй лекции был опубликован в он-лайновом варианте журнала Intelligent Enterprise в мае 2003 г. под названием «TCO Starts With the End User».

Хорошее начинание, между прочим

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

Комментарии

Беренцев Антон, Вс 01 июл 2007 20:49:55:
В основном все это было в его книгах. А вот идея о перемещении ИТ в службы компании - очень интересна.
ИМХО: 1-2 месяца не повредят, а только помогут.
Сергей, Чт 31 май 2007 11:50:15:
Полностью согласен с заключительным высказыванием господина Кузнецова. Такие просветительные мероприятия необходимы.

Ваш комментарий

Имя:

Текст комментария (HTML-теги не допускаются):

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...