Mastering Data Warehouse Aggregates
Chris Adamson
Первая книга, освещающая в деталях вопросы агрегатных таблиц в схеме звезда.
От издательства:
Эксперт по хранилищам данных Chris Adamson показывает как хорошо спланированный набор агрегатов может кардинально повлиять на общую пропускную способность вашего хранилища данных. Независимо от вашей текущей роли или опыта разработки схем звезда, лучшие практики, описанные в этой книге, помогут вам достичь потрясающего роста производительности, избежав при этом распространённых ошибок.
Начиная от основ схемы звезда до продвинутых методов агрегирования, эта книга освещает вопрос влияния агрегированных таблиц на весь жизненный цикл хранилища данных. После небольшого введения в основы, включая подход к проектированию хранилищ данных на основе схемы звезда, главы книги посвящены главным фазам жизненного цикла хранилища данных. Обсуждаемые темы включают:
- Фундаментальные принципы проектирования агрегированных схем
- Как использовать агрегаты в промышленной среде, с или без агрегатного навигатора
- Интеграция обработки агрегатов в процесс ETL
- Стандартные задачи и результаты их выполнения для включения агрегатов в проекты по разработке хранилищ данных
- Как организовать и выполнить проект, который добавляет возможности агрегатов к существующей схеме звезда
- Влияние на агрегацию продвинутых методов разработки схемы звезда, таких как промежуточные таблицы (bridge tables), гетерогенные звёзды (heterogeneous stars), или модели снимков (snapshot models)
- Специальные вопросы при внедрении многомерных агрегатов с помощью материализованных представлений Oracle или материализованных таблиц запросов IBM
- Как агрегаты могут привнести ценность в других областях, включая безопасность баз данных и стратегию архивирования
Для удобства отслеживания новых публикаций рекомендуем подписаться на рассылку или на канал RSS.
May 15th, 2008 at 1:14 am
Мне кажется, издательство не зря хвалит автора. На мой взгляд, он написал очень грамотную книгу по многомерному моделированию, о чём, кстати, упоминает Ральф Кимбалл в предисловии.
Нужно сразу заметить, что автор пишет на очень понятном английском языке, поэтому книга будет доступна для понимания широкому кругу читателей.
Я пока прочитал первую главу. В ней через базовые понятия многомерного моделирования автор подводит читателя к тому, что такое агрегаты, и зачем они нужны.
По ходу чтения буду комментировать дальше…
May 15th, 2008 at 9:31 pm
Вторая глава называется Choosing Aggregates, и пасвящена она тем вещам, которые нужно принимать во внимание при выборе агрегатов для внедрения.
Среди них:
- как искать потенциальные агрегаты в материалах пользователей, в существующих отчётах, в матрице шины хранилища данных
- как оценить выгоду от потенциальных агрегатов на основе различных показателей
- как кардинальность измерений, разреженность и перекосы в таблицах фактов могут повлиять на будущие агрегаты и их эффективность
May 21st, 2008 at 10:03 am
Третья глава называется Designing Aggregates, и посвящена она принципам проектирования агрегатной схемы.
В начале главы делается экскурс в основы преоктирования базовой схемы хранилища данных. Среди прочих рассматриваются вопросы определения уровня детализации, проектирования согласованных измерений, медленно изменяющиеся измерения, измерение аудита.
Затем рассказывается о принципах построения агрегатной схемы. Здесь рассматривается вариант “универсальной” таблицы фактов, хранящей и детальные и агрегированные данные, показываются его недостатки (об этом также здесь - http://www.infology.ru/2008/04/20/138/).
Далее повествование и дёт о том, как правильно именовать таблицы агрегатов (чего-то большого здесь ожидать не стоит - рекомендации довольно просты и общи).
Далее описываются, собственно, принципы проектирования агрегированных таблиц и змерений и агрегированных таблиц фактов.
Заканчивается эта глава рекомендациями о том, как нужно документировать агрегатную схему.
May 22nd, 2008 at 11:38 pm
Четвёртая глава называется Using Aggregates, и посвящена она целиком такому компоненту хранилища данных, как агрегатный навигатор (aggregate navigator). Начинается она с описания критериев выбора агрегированных таблиц для ответов на запросы пользователей, что в результате приводит к списку требований к агрегатному навигатору аж из восьми пунктов, каждый из которых раскрывается подробно.
Далее рассказывается о том, какие бывают агрегатные навигаторы, и в чём достоинства и недостатки каждого из их видов. В частности, рассматриваются агрегатные навигаторы, встроенные в инструменты BI, встроенные в СУБД, а также многомерные СУБД (хотя, они и не являются агрегатными навигаторами в терминах этой книги). Отдельное внимание уделяется технологии materialized views от Oracle и materialized query tables от IBM. Другие СБУД не удостоились чести (хотя, хотя агрегатный навигатор точно есть в Терадате - через механизм JOIN INDEX, и у Microsoft, вроде бы, есть что-то похожее).
Далее рассматривается вариант, когда агрегатный навигатор отсутствует, и даются рекомендации о том, что при этом делать.
May 25th, 2008 at 1:36 pm
Глава 5 называется ETL Part I: Incorporating Aggregates. Она описывает процесс загрузки базовой схемы и моменты, которые следует учитывать при разработке этого процесса.
В начале главы рассказывается о важности процесса загрузки, описываются на очень выскоком уровне инструменты, которые используются для загрузки, и приводится высокоуровневая диаграмма процесса загрузки.
Затем описывается процесс загрузки базовой схемы. В частности, описывается, как загружать таблицы измерений:
- классификация их атрибутов
- извлечение и подготовка записей
- обработка новых записей
- обработка существующих записей (SCD1, SCD2).
Далее речь идёт о таблицах фактов. В частности, описываются:
- тебования к процессу загрузки и его высокоуровневый алгоритм
- процесс извлечения данных и подстановки суррогатных ключей.
После этого обобщается весь процесс загрузки базовой схемы. Уделяется внимание следующим вопросам:
- раздельная загрузка агрегатов
- время валидности агрегатов
- агрегаты в виде Materialized View и Materialized Query Table
- полный пересчёт против инкрементальной загрузки
В самом конце главы рассматриваются вопросы работы с агрегатами в случае, когда загрузка данных в хранилище происходит в реальном времени.
May 28th, 2008 at 11:02 pm
Глава 6 называется ETL Part 2: Loading Aggregates, и речь в ней идёт, как вы уже, наверное, догадались, о том, как правильно загружать данные в агрегированные таблицы. Начинается она с обсуждения источников данных для агрегированных таблиц. В частности, показываются преимущества загрузки данных из базовых таблиц хранилища данных, а не из оперативных источников. Также рассматривается и случай, когда загрузка агрегированных данных должна производиться параллельно с загрузкой базовых таблиц из одних и тех же источников. Приводятся высокоуровневые алгоритмы для обоих вариантов.
Далее подробно рассматривается процесс загрузки агрегированных таблиц измерений. В частности, уделяется внимание следующим вопросам:
- требования к процессу загрузки и его алгоритм
- извлечение и подготовка записей
- обнаружение и обработка новых записей
- обнаружение и обработка изменений типа 1 (SCD1). Здесь детально обсуждается случай, когда существуют атрибуты измерения, которые функционально не зависят от других атрибутов
- обработка изменений типа 2 (SCD2)
- сопоставление (мэппинг) ключей.
После этого подробно рассматривается процесс загрузки агрегированных таблиц фактов. В частности:
- требования к загрузке
- извлечение данных и сбор фактов
- идентификация суррогатных ключей
- агрегация фактов по времени.
Далее описывается процесс обновления агрегатов в случае, если агрегаты пересчитываются полностью, а не инкрементально.
После этого рассматриваются вопросы загрузки агрегатов типа pre-joined aggregate, в частности - обе стратегии обновления (полное и инкрементальное). Глава заканчивается коротким рассмотрением случаев, когда в качестве агрегатов используются механизмы Materialized View в Oracle и Materialized Query Table в IBM DB2.
June 5th, 2008 at 1:25 am
Глава 7 называется Aggregates and Your Project. Посвящена она описанию задач, которые необходимо выполнить, чтобы успешно построить и ввести в эксплуатацию агрегированную схему. Адресована глава, в первую очередь, руководителям проектов, но и остальным членам проектной группы по построению хранилища данных она будет полезна. В начале главы делается краткий экскурс в теорию планирования и внедрения многомерных хранилищ данных. Также рассказывается о том, когда можно приступать к (под)проекту создания агрегированной схемы.
Далее следует описание стадий проекта по построению агрегатов, для каждой стадии приводится список задач, которые необходимо выполнить в рамках каждой из них. В частности, речь идёт о следующих стадиях:
- стратегия
- проектирование
- разработка
- внедрение.
Далее на высоком уровне рассматриваются вопросы поддержки и развития агрегатов. В частности, описываются роли и зоны ответственности, обсуждается процесс внесения именений.
June 5th, 2008 at 1:40 am
Глава 8 называется Advanced Aggregate Design, и посвящена она особенностям построения агрегированной схемы на фоне использования продвинутых методов проектирования в базовой схеме. Начинается глава с рассмотрения вопросов, связанных с агрегированием таблиц фактов. Здесь обсуждаются следующие вопросы:
- периодические снимки, в частности, их полуаддитивность
- накопительные снимки
- бесфактовые таблицы фактов, в частности, таблицы покрытия
Далее рассматривается агрегирование таблиц измерений. В частности, рассматриваются:
- транзакционные измерения
- вспомогательные таблицы (bridge table)
- основная и подчинённые звёзды (core star, custom star)
После этого рассматривается построение агрегированной схемы для базовых схем, отличных от схемы звезда:
- схема снежинка
- третья нормальная форма
July 15th, 2008 at 2:02 am
Глава 9 называется Related Topics, и посвящена она четырём вещам. А именно:
- архивированию
- безопасности
- производным схемам (derived schema)
- агрегатам, внедряемым до внедрения базовой схемы
Разумеется, все эти четыре темы обсуждаются в контексте работы с агрегатами.
Начинается глава с рассмотрения возможных стратегий архивирования агрегированных таблиц, в частности, архивирование агрегированной схемы вместе с базовой или простое удаление агрегатов на фоне архивирования базовой схемы. Также рассматривается вариант когда базовая схема архивируется, а агрегированная оставляется для обеспечения возможности анализа истории.
После этого рассматриваются вопросы обеспечения безопасности и разграничения доступав присутствии агрегированных данных. Вводится понятие dimensionally driven security. Обсуждаются последствия отсутствия разграничения доступа к агрегированым данным.
Далее автор переходит к рассмотрению различных видов производных таблиц и возможнсотей их агрегирования. Рассматриваются:
- объединённые таблицы фактов (merged fact table)
- развёрнутые таблицы фактов (pivoted fact table)
- нарезанные таблицы фактов (sliced fact table)
Напоследок рассматривается ситуация, когда агрегированные таблицы по каким-либо причинам внедряются раньше базовых. В основном, обсуждаетсявопрос о том, что делать с процедурами их загрузки после того, как появляются детальные таблицы - оставлять или разрабатывать их заново. Обсуждаются достоинства и недостатки обоих подходов.