Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Концепции хранилищ данных: Kimball vs. Inmon

Эта статья является переводом Data Warehouse Concepts: Kimball vs. Inmon Approach  by Tehreem Naeem с небольшими дополнениями.

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

В этой статье мы обсудим основы концепций хранилищ данных, их характеристики и сравним два популярных подхода - Kimball и Inmon.

Базовая концепция хранилища данных 

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

Характеристики хранилища данных 

Ниже приведены четыре характеристики концепции хранилища данных: 

- Предметная ориентация (Subject-Oriented): хранилище предоставляет информацию о конкретном, более определенном направлении, а не о текущих операциях компании. Другими словами, процесс хранения данных лучше приспособлен для обработки конкретного направления. Примеры направлений или предметов включают продажи, распространение, маркетинг и т.д.

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

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

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

Функции хранилища данных

 

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

Основные функции хранилища:

  • Очистка данных (Data Cleaning)
  • Слияние данных (Data Integration)
  • Сопоставление данных (Data Mapping)
  • Извлечение данных (Data Extraction)
  • Преобразование данных (Data Transformation)
  • Загрузка данных (Data Loading)
  • Обновление (Refreshing)

Нормализация против денормализации 

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

Хранилище данных Vs. База данных

 Основные различия между хранилищем данных и базой данных приведены в таблице ниже:

Database

Data Warehouse

База данных - это совокупность связанных данных

Хранилище данных служит информационной системой, которая содержит исторические и коммутативные данные из одного или нескольких источников

База данных используется для записи данных

Хранилище данных используется для анализа данных

База данных - это набор данных, ориентированный на конкретное использование, например в приложениях

Хранилище данных - это предметно-ориентированный сбор данных

База данных использует онлайн-обработку транзакций (OLTP - Online Transactional Processing)

Хранилище данных использует онлайн-аналитическую обработку (OLAP - Online Analytical Processing)

Таблицы базы данных и объединения нормализованы, поэтому сложнее

Таблицы хранилища данных и объединения денормализованы, поэтому проще

При проектировании используются методы ER-моделирования

При проектировании используются методы моделирования данных

Каковы две концепции хранилищ данных: объяснение Кимбалла и Инмона

В этой статье мы обсудим основы двух подходов к хранилищу: Kimball и Inmon. Мы также рассмотрим факторы, которые различают эти два подхода к DW, и какой подход к моделированию данных подходит для OLTP.

Метод Кимбалла

Ральф Кимбалл известен своими давними убеждениями, что хранилища данных должны быть понятными и быстрыми. Он создал концепцию, где модель данных строится по восходящему подходу к проектированию архитектуры хранилища данных (DW) - подход “снизу вверх” (bottom-up aaproach):

- сначала на основе бизнес-требований формируются витрины данных.

- затем оцениваются первичные источники данных.

- выбирается инструмент извлечения, преобразования и загрузки (ETL) для извлечения различных типов форматов данных из нескольких источников.

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

- и на последнем этапе данные загружаются в размерную модель хранилища данных, денормализованую по своей природе.

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

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

 

 

Но метод Кимбала не исключает и применение схемы "снежинка" (snowflake scheme), где таблицы измерений должны быть хоть в какой-нибудь степени нормализированы, но не выше 3NF.

Создаваемый «эффект снежинки» затрагивает только таблицы измерений, и не применим к таблицам фактов.


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

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

Матрица Кимбалла, которая является частью архитектуры шины, показывает, как строятся схемы “звезда”. В качестве входящих данных используются бизнес-требования. Эти требования также приоритизиуют какие строки матрицы должны быть реализованы в первую очередь.

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

 

 Объяснение базовой архитектуры Kimball Data Warehouse (DW)

Преимущества метода Кимбалла

 - быстрое построение, поскольку не требуется нормализации, а значит начальная фаза процесса проектирования хранилища довольно короткая.

- схема типа «звезда» понятна бизнес-пользователям и проста в использовании из-за ее денормализованной структуры, упрощающей запросы и анализ.

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

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

- согласованная структура измерений, что улучшает и ускоряет контроль качества данных. Подход Кимбалла также называют бизнес-ориентированным подходом (business dimensional lifestyle), потому что он позволяет инструментам бизнес-аналитики объединять несколько схем типа “звезда”, проводить более глубокий анализ и давать надежную информацию.

Подход Кимбалла к жизненному циклу хранилища данных (Источник: Kimball Group)

Недостатки метода Кимбалла

- данные не интегрируются полностью перед составлением отчетов; идея «единого проверенного (истинного) источника» утеряна.

- могут возникать нарушения при обновлении данных (аномалии). Это связано с избыточностью данных.

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

- не получится удовлетворить все требования к отчетности, поскольку модель ориентирована на бизнес-процессы, вместо того, чтобы сосредоточиться на предприятии в целом.

- сложный процесс интеграции больших объемов устаревших данных.

Метод Инмон

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

Билл Инмон, отец хранилищ данных, создал концепцию раработки хранилища данных, которая определяет основные предметные области и сущности, с которыми работает предприятие, такие как клиенты, продукт, поставщик и так далее. Эта концепция наиболее часто применяется при создании корпоративного хранилища, и такой подход часто называется «сверху вниз» (top-down approach).

- сначала создается нормализованная модель хранилища данных.

- затем создаются витрины размерных данных на основе модели хранилища.

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

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

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

 


 Описание базовой архитектуры хранилища данных Inmon

 

Преимущества метода Инмона

Подход Inmon предлагает следующие преимущества:

- хранилище действует как единый истинный источник для всего бизнеса, где все данные интегрированы.

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

- упрощение бизнес-процессов, поскольку логическая модель представляет подробные бизнес-объекты.

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

- возможность обрабатывать разнообразные требования к отчетности в масштабе всего предприятия.

 Недостатки метода Инмона

 

 Возможные недостатки этого подхода следующие:

 - по мере добавления таблиц в модель данных увеличивается сложность.

- требуются специалисты, обладающие навыками моделирования хранилищ .

- предварительная установка и поставка занимают много времени.

- требуется дополнительная операция ETL, поскольку витрины создаются после создания хранилища.

- этот подход требует от экспертов эффективного управления хранилищем.


Подход Кимбалла против Инмона: какую концепцию хранилища данных выбрать?

Теперь, когда мы оценили подход Кимбалла и Инмона и увидели преимущества и недостатки обоих этих методов, возникает вопрос: какая из этих концепций хранилища лучше всего подходит для вашего бизнеса?

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

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

Все еще не уверены в решении дилеммы Кимбалл против Инмона? Мы сузили несколько аспектов, которые могут помочь вам выбрать один из двух подходов.

 

Потребности в отчетности: если вам нужна комплексная отчетность в масштабах всей организации, то подход Inmon более подходит. Но если вам нужна отчетность, посвященная бизнес-процессу или команде, выберите метод Кимбалла.

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

Перспективный план набора: более высокий уровень сложности создания модели данных в Inmon требует большей команды профессионалов для управления хранилищем. Поэтому выбирайте соответственно.

Частые изменения: если ваши потребности в отчетности могут быстро изменяться и вы имеете дело с нестабильными системами-источниками, выберите метод Inmon, поскольку он предлагает большую гибкость. Однако, если потребности в отчетности и системы-источники относительно стабильны, лучше использовать метод Кимбалла.

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

 

Послесловие

И концепция Inmon, и концепция Kimball успешно используется для проектирования моделей данных хранилищ. Часто используется сочетание обоих подходов (так называемая гибридная модель данных).

В гибридной модели данных метод Inmon используется для создания размерной модели хранилища. а метод Кимбалла используется для разработки витрин с использованием схемы “звезда”.

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

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


Дополнение к статье:

ETL vs. ELT


ETL и ELT — два разных способа загрузки данных в хранилище.

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

 

 
В случае ELT (Extract, Load, Transform) данные сразу же загружаются после извлечения из исходных пулов данных. Промежуточная база данных отсутствует, что означает, что данные немедленно загружаются в единый централизованный репозиторий.

Данные преобразуются в системе хранилища данных для использования с инструментами бизнес-аналитики и аналитики.

 

 TL;DR

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

Подход Билла Инмона основывается на том, что хранилище данных является централизованным хранилищем всех корпоративных данных. При таком подходе организация сначала создает нормализованную модель хранилища данных. Затем создаются витрины размерных данных на основе модели хранилища. Это известно как подход "сверху вниз".

 

Отправить комментарий

0 Комментарии

Ad Code

Responsive Advertisement