Обретение большего МОГущества
Центральная философия МОГучего моделирования данных состоит в том, чтобы поместить в хранилище данных данные организации как можно быстрее. Вторичные по отношению к этой цели очистка и интеграция данных должны осуществляться разумным образом.
Для практического воплощения этих идей мы предлагаем трехуровневый подход. При загрузке необработанных таблиц фактов или журналов следует использовать переходную (Staging) схему. Данными в этой схеме разрешается манипулировать только инженерам и некоторым аналитикам. В производственной схеме хранилища данных (Production Data Warehouse) сохраняются агрегаты, служащие большинству пользователей. К этой схеме предоставляется доступ подготовленным пользователям, комфортно чувствующим себя в крупномасштабной среде SQL. Поддерживается отдельная отчетная (Reporting) схема, содержащая специализированные статические агрегаты, используемые средствами генерации отчетов и случайными пользователями. Эта схема должна быть настроена таким образом, чтобы обеспечивать быстрый доступ к умеренным объемам данных.
Эти три уровня физически не разделяются. Пользователи с должными полномочиями могут соединять данные из разных уровней и схем. В модели FAN в переходной схеме сохраняются необработанные журналы рекламных акций. Аналитикам предоставляется доступ к этим журналам в исследовательских целях и для применения лабораторного подхода к анализу данных. Вопросы, начинающиеся на уровне журнала событий, часто становятся более масштабными, требующими специальной агрегации. При общении исследователей с администраторами базы данных выявляются распространенные вопросы, и это часто приводит к тому, что агрегаты, исходно предназначавшиеся для какого-то одного аналитика, переносятся в производственную схему.
Производственная схема обеспечивает быстрые ответы на распространенные вопросы, которые пока еще не настолько распространены, чтобы по ним требовались отчеты. Многие из этих вопросов предвосхищаются во время исталляции, а многие – нет. Долгое ожидание данных может привести к "маниакальному обжорству" ("feeding frenzies"), когда по отношению к этим данным начинает задаться один вопрос за другим.
На этой стадии, когда бизнес-аналитики начинают проникать в новую среду, очень важна гибкость. Им нужна ежедневная или ежемесячная информация. Вопросы относительно ежедневных характеристик превращаются в информационные панели (dashboard).
Аналитикам следует предоставить внутри хранилиза данных еще и четвертый класс схем, который мы называем "песочницей" ("sandbox"). Схема-песочница находится под полным контролем аналитиков и может использоваться для управления их экспериментальными процессами. Аналитики являются ухищренными в данных разработчиками, и им часто требуется отслеживать свою работу и ее результаты и сохранять соответствующие данные в базе данных. Например, как мы увидем в разд. 5, для структуризации задачи кодирования при разработке сложных конструкций на языке SQL принято использовать SQL-представления в качестве "подпрограмм". В течение разработки, вероятно, эти представления будут определяться и часто редактироваться. Аналогично, аналитикам может понадобиться материализовать результаты запросов, выполненных при выполнении их исследований, и позже повторно их использовать; эта материализация может также помочь процессу разработки программного обеспечения и повысить эффективность в условиях итеративной разработки аналитического потока работ. Кроме того, аналитикам для собственного удобства часто хочется отложить про запас свои любимые наборы данных, чтобы использовать их при разработке новых методов над известными данными.
Возможность перескакивать от очень специального к очень общему способствует иследованиям и творчеству. По мере использования, преобразования, обсуждения и усвоения данных организации обучаются и изменяют свою деятельность. Скорость прогресса зависит от скорости и глубины исследований. МОГучее проектирование направлено на увеличение этой скорости.
1Не следует это путать с созданием изолированной среды программных процессов (sandboxing) с целью обеспечения компьютерной безопасности. Здесь мы понимаем слово "песочница" как место для игр.