В сообществе специалистов, занимающихся проблемами хранилища данных, бытует выражение Kimball Vision, то есть «видение по Кимбаллу». Такое видение предполагает сочетание технологических подходов с когнитивными.

С интервалом примерно в полтора года в Москве побывали два ведущих эксперта по хранилищам данных. Это фигуры такого масштаба, что без упоминания их имен сегодня не обходится ни одна публикация, связанная с этой тематикой. Первым в России побывал Билл Инмон; осенью 2005 года он приезжал на совместную конференцию издательства «Открытые системы» и аналитической компании IDC. А весной нынешнего года для участия в конференции, организованной московским представительством Sybase в мае 2007 года, свой визит в нашу страну нанес его постоянный оппонент Ральф Кимбалл. По окончании конференции Кимбалл согласился дать короткое интервью, благодаря которому удалось «пригласить» его в «гостиную» нашего журнала.

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

Inmon vs Kimball

Инмона и Кимбалла можно назвать двумя полюсами data warehousing. Параллельное существование этих двух ортогональных по своим взглядам на предмет персонажей отличает все, что связано с хранилищами данных от остальных технологий, предназначенных для работы с данными. Нет ни одного другого направления, которое бы было так полярно разделено на два лагеря по принципу веры в своего предводителя, как это. Ни на что не похожий характер интеллектуальному противостоянию Инмона и Кимбалла придает тот факт, что и Билл, и Ральф примерно одного возраста, принадлежат одному кругу, живут в одной местности, имеют схожую профессиональную биографию. К тому же они оба почти одновременно отошли от активного участия в разработке программных систем, создали собственные небольшие консалтинговые и обучающие компании и теперь, заняв позицию непогрешимых гуру, сосредоточились на пропаганде своих воззрений. Оба активно публикуются, Кимбалл преимущественно печатается в журнале Intelligent Enterprise, а Инмон — в DM Review и Business Intelligence Network. Антагонизм на фоне взаимного дополнения Инмона и Кимбалла невольно вызывает в воображении знак Янь и Инь из древнекитайской мифологии, символизирующий согласие противоположностей.

Из-за описанного противостояния тема Inmon vs Kimball («Инмон против Кимбалла») чрезвычайно популярна. Для того чтобы убедиться в этом, стоит сделать поиск в Internet, этому предмету посвящено множество публикаций в прессе и блогах. Следует заметить политкорректность и академичность полемики, и тот и другой предельно этичны в своих высказываниях, к тому же Кимбалл открыто признает, что Инмон первым сформулировал идею хранилища данных. Однако расхождения во взглядах на хранилища данных начинаются с определения. По Кимбаллу, «… хранилище данных представляет собой не более чем объединение всех корпоративных витрин данных». Инмон же на это отвечает, что интеграция витрин не создает хранилище: «Если вы соберете всю мелкую рыбешку океана и спрессуете ее в один стек, вы все равно не получите кита».

Соответственно основой технологического подхода Инмона служит единая корпоративная информационная матрица (Corporate Information Factory, CIF), а Кимбалл «ставит» на шину хранилищ данных (Data Warehouse Bus). С прагматической точки зрения, эти подходы не противоречат друг другу, более того, они имеют много общего. Предприятиям требуется хранить, анализировать и интерпретировать данные для принятия решений. Предприятиям необходимо развивать обратные связи между средствами накопления данных и системами принятия решений. Оба подхода соответствуют этим критериям. Более того, у Инмона и Кимбалла сходные взгляды на витрины данных; они сходятся в том, что наличие разрозненных витрин данных не решает проблему информированности предприятия. Но в вопросах интеграции данных они занимают противоположные позиции. Кимбалл считает возможным объединить с помощью шины отдельные витрины данных в информационную инфраструктуру, имеющую топологию звезды, а Инмон считает необходимым загружать все данные в единое хранилище.

Без использования корпоративного хранилища картина накопления и представления данных выглядит так, как показано на рис. 1.

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

А была ли многомерность?

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

Откуда же взялось слово «многомерное», как оно связано с dimensional data warehousing или dimensional data model, с тем, о чем собственно говорил Кимбалл? Если бы он использовал слово multi-dimensional, то вопросов бы не возникало. Обратимся к словарям. Там мы обнаружим, что dimensional — это «имеющий измерения», «мерный», соответственно dimension — «мера», «параметр» или «габарит». Тогда может быть стоит называть проповедуемый Кимбаллом подход к хранилищам данных «параметрическим» (рис. 2). Несогласие с предложенным переводом возникло при подготовке к интервью с Ральфом Кимбаллом. Еще больше в том, что дело обстоит именно так, убедил анализ сайта Kimball Group (www.kimballgroup.com) и данные им ответы. В качестве контраргумента на утверждение, что и в англоязычной литературе используется термин multi-dimensional, можно привести следующую статистику. Это слово встречается на сайте Kimball Group всего одиннадцать раз, причем исключительно в контексте многомерных баз данных (точнее, упомянутых выше многомерных кубов), а термин dimensional — более 250. Показательно, что термин multi-dimensional используют чаще всего оппоненты Кимбалла, а не он сам, не его ученики и сподвижники. Поэтому в данной статье термин dimensional data переводится как «параметрические данные», а dimensional data model — как «параметрическая модель данных».

Рис. 2. Параметрическое хранилище данных
Нынешний визит Кимбалла в Москву можно рассматривать как подготовку к более масштабному семинару, занимающему несколько дней. К сожалению, общение со специалистами, профессионально занимающимися обучением и консалтингом, отягощено тем обстоятельством, что эти люди весьма неохотно делятся своими знаниями, стараясь обходиться общими словами. Удивляться нечему: бесплатные выступления и интервью для них своего рода маркетинг по отношению к тем акциям, которые являются прибыльными. Отмеченное наблюдение в равной степени относится к обоим «основоположникам хранилищ данных». В результате у интервьюера остается ощущение, описанное Пушкиным («по усам текло…»). Так или иначе, оглядываясь на беседу с Кимбаллом, можно сказать, что свое дело он сделал — заинтриговал, и теперь непременно хочется попасть на его семинар и получить все сведения по полному счету. А пока — вот те несколько вопросов, которые были заданы Ральфу Кимбаллу, и полученные ответы.

Пожалуйста, уточните, что же такое параметрическое хранилище данных?

Параметрический подход к хранилищам данных основан на идее измерения, я хотел бы, чтобы вы представили компьютер как своего рода измерительный инструмент для бизнеса, например, любые выполняемые транзакции можно интерпретировать как измерения. Основываясь на этом подходе, мы превращаем эти измерения в основные составляющие баз данных, создаем то, что я называю «таблицами фактов» (fact tables). Согласитесь, в конечном итоге, хранилища данных создаются не с какой-то абстрактной целью сбора данных, коллекционирование данных не самоцель, желаемый результат состоит в представлении имеющихся данных. Поэтому главной задачей я считаю отображение данных, причем в таком виде, чтобы их было легко понять, к тому же это отображение должно осуществляться с высокой производительностью. Решение поставленной так задачи на основе подходов, связанных с оперативной обработкой транзакций (OnLine Transaction Processing, OLTP), оказывается сложным и вот почему. Да, эти подходы дают очень многое, например, исключают дублирование данных, они быстро работают, с их помощью удается установить взаимозависимость между фрагментами данных, но их органическая слабость в том, что они создают очень сложные информационные инфраструктуры. Так, использование Oracle Financials приводит, в среднем, к созданию 2 тыс. таблиц, средняя инсталляция ERP-системы компании SAP порождает более 10 тыс. таблиц. По сравнению с ними параметрический подход очень прост, в его основе лежат измерения и организация результатов измерения. Соответствующие технические приемы описаны в моих книгах.

Насколько общепринят параметрический подход?

Если мы рассмотрим компании, входящие в список Fortune 2000, то я с уверенностью могу сказать, что любая из них, точнее ее ИТ-подразделение, уже имеет свою стратегию по построению хранилищ данных. Их задача в конечном итоге сводится к тому, что нужно объединить разрозненные данные, я полагаю, что все они так или иначе основывают свои решения на параметрическом подходе.

В свое время вы сформулировали 20 критериев для оценки качества параметрического хранилища данных, ваше мнение о них применительно к современным условиям?

Формулируя свои критерии, я шел по пути Эда Кодда, который предложил 12 критериев применительно к системам OLTP. Эти критерии точны с научной точки зрения, поскольку приложены к математически строгим реляционным системам. Мой подход к бизнес-системам не так строг, предложенные мною критерии стоит рассматривать как определенные руководящие правила, которым нужно следовать, чтобы построить параметрическое хранилище, я не предполагаю, что конкретная система будет соответствовать всем 20 критериям. Помимо упомянутых критериев, сегодня я могу выделить 14 основных проблем, с которыми приходится сталкиваться при создании хранилищ данных*.

В чем вы видите основное различие между CIF и шиной хранилищ данных?

В своей профессиональной деятельности я всегда придерживался определенных правил, меня больше интересует познавательная деятельность людей, то, что они могут получить от компьютера. Условно говоря, я всегда шел от экрана к технологиям. CIF — явление обратное (рис. 3). Здесь стартовой точкой являются сами данные, алгоритмы работы с ними, а не удобство пользования. Меня же гораздо меньше интересовала математическая сторона, мне важнее когнитивные возможности пользователя и то, что он может извлечь из данных. Должен заметить, что с годами контраст между двумя подходами заметно уменьшился; мне кажется, что CIF эволюционирует под влиянием моих работ.

Рис. 3. Сценарий формирования CIF
В своей лекции вы уделили большое внимание проблемам публикации данных. Не могли бы вы остановиться на этом вопросе?

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

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

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


* Детальный разбор этих проблем представлен в статье Сергея Кузнецова «Основы хранилищ данных и BI по Ральфу Кимбаллу» (citcity.ru/16022). — Прим. автора.