Размерное моделирование
В этой статье цитируются источники, но диапазон ссылок на страницы слишком широк или неверен . ( июнь 2018 г. ) |
Многомерное моделирование ( DM ) является частью методологии Business Dimensional Lifecycle, разработанной Ральфом Кимбаллом , которая включает в себя набор методов, приемов и концепций для использования при проектировании хранилищ данных . [1] : 1258–1260 [2] Этот подход фокусируется на выявлении ключевых бизнес-процессов внутри бизнеса, их моделировании и реализации в первую очередь, прежде чем добавлять дополнительные бизнес-процессы, как подход «снизу вверх» . [1] : 1258–1260 Альтернативный подход от Inmon предполагает разработку модели всех корпоративных данных сверху вниз с использованием таких инструментов, как моделирование сущностей и связей (ER). [1] : 1258–1260
Описание
[ редактировать ]Многомерное моделирование всегда использует концепции фактов (мер) и измерений (контекста). Факты обычно (но не всегда) представляют собой числовые значения, которые можно агрегировать, а измерения — это группы иерархий и дескрипторов, которые определяют факты. Например, объем продаж является фактом; отметка времени, продукт, номер регистра, номер магазина и т. д. являются элементами измерений. Многомерные модели строятся по областям бизнес-процессов, например, продажи в магазинах, запасы, претензии и т. д. Поскольку разные области бизнес-процессов имеют общие некоторые, но не все измерения, эффективность проектирования, эксплуатации и согласованность достигаются с использованием согласованных измерений , т. е. с использованием одного копия общего измерения по предметным областям. [ нужна ссылка ]
Многомерное моделирование не обязательно предполагает использование реляционной базы данных. Тот же подход моделирования на логическом уровне можно использовать для любой физической формы, например многомерной базы данных или даже плоских файлов. Он ориентирован на понятность и производительность. [ нужна ссылка ]
Метод проектирования
[ редактировать ]Проектирование модели
[ редактировать ]Многомерная модель построена на основе звездообразной схемы или схемы снежинки с измерениями, окружающими таблицу фактов. [3] [4] Для построения схемы используется следующая модель проектирования:
- Выберите бизнес-процесс
- Объявить зерно
- Определите размеры
- Определите факт
- Выберите бизнес-процесс
Процесс многомерного моделирования основан на четырехэтапном методе проектирования, который помогает обеспечить удобство использования многомерной модели и использования хранилища данных . Основы проектирования основаны на реальных бизнес-процессах, которые должно охватывать хранилище данных . Поэтому первым шагом в модели является описание бизнес-процесса, на котором строится модель. Например, это может быть ситуация с продажами в розничном магазине. Чтобы описать бизнес-процесс, можно сделать это в виде обычного текста или использовать базовую модель и нотацию бизнес-процессов (BPMN) или другие руководства по проектированию, такие как унифицированный язык моделирования |UML).
- Объявить зерно
После описания бизнес-процесса следующим шагом в проектировании является объявление структуры модели. Зерно модели — это точное описание того, на чем должна быть сосредоточена многомерная модель. Например, это может быть «Отдельная позиция в чеке покупателя из розничного магазина». Чтобы прояснить, что означает зерно, следует выбрать центральный процесс и описать его одним предложением. Более того, зерно (предложение) — это то, на основе чего вы собираетесь построить свои измерения и таблицу фактов. Возможно, вам придется вернуться к этому шагу, чтобы изменить зернистость, поскольку получена новая информация о том, что ваша модель должна обеспечить.
- Определите размеры
Третий шаг в процессе проектирования — определение размеров модели. Размеры должны быть определены внутри зерна на втором этапе 4-этапного процесса. Измерения являются основой таблицы фактов и местом сбора данных для таблицы фактов. Обычно измерениями являются существительные, такие как дата, магазин, инвентарь и т. д. В этих измерениях хранятся все данные. Например, измерение даты может содержать такие данные, как год, месяц и день недели.
- Определите факты
После определения измерений следующим шагом процесса является создание ключей для таблицы фактов. Этот шаг заключается в определении числовых фактов, которые будут заполнять каждую строку таблицы фактов. Этот шаг тесно связан с бизнес-пользователями системы, поскольку именно здесь они получают доступ к данным, хранящимся в хранилище данных . Таким образом, большинство строк таблицы фактов являются числовыми, аддитивными цифрами, такими как количество или стоимость за единицу и т. д.
Нормализация размеров
[ редактировать ]Нормализация размеров или «снежинка» удаляет избыточные атрибуты, которые известны в обычном сглаживании денормализованных измерений. Размеры строго соединены между собой в подразмерах.
Снежинка оказывает влияние на структуру данных, которое отличается от многих концепций хранилищ данных. [4] Одна таблица данных (фактов), окруженная несколькими описательными (размерными) таблицами
Разработчики часто не нормализуют размеры по нескольким причинам: [5]
- Нормализация делает структуру данных более сложной.
- Производительность может снизиться из-за большого количества соединений между таблицами.
- Экономия места минимальна
- Растровые индексы использовать нельзя.
- Производительность запроса. Базы данных 3NF страдают от проблем с производительностью при агрегировании или извлечении множества размерных значений, которые могут потребовать анализа. Если вы собираетесь составлять только оперативные отчеты, возможно, вам удастся обойтись 3NF, поскольку ваш оперативный пользователь будет искать очень мелкие данные.
Есть несколько аргументов в пользу того, почему нормализация может быть полезна. [4] Это может быть преимуществом, если часть иерархии является общей для более чем одного измерения. Например, географическое измерение можно использовать повторно, поскольку оно используется как в измерениях «Клиент», так и в «Поставщик».
Преимущества размерного моделирования
[ редактировать ]Этот раздел может чрезмерно полагаться на источники, слишком тесно связанные с предметом , что может помешать статье стать проверяемой и нейтральной . ( июнь 2018 г. ) |
Преимущества размерной модели заключаются в следующем: [6]
- Понятность. По сравнению с нормализованной моделью размерная модель проще для понимания и более интуитивно понятна. В многомерных моделях информация группируется в последовательные бизнес-категории или измерения, что упрощает ее чтение и интерпретацию. Простота также позволяет программному обеспечению эффективно перемещаться по базам данных. В нормализованных моделях данные разделены на множество дискретных объектов, и даже простой бизнес-процесс может привести к тому, что десятки таблиц будут объединены сложным образом.
- Производительность запроса. Размерные модели более денормализованы и оптимизированы для запроса данных, тогда как нормализованные модели стремятся устранить избыточность данных и оптимизированы для загрузки и обновления транзакций. Предсказуемая структура многомерной модели позволяет базе данных делать серьезные предположения о данных, которые могут оказать положительное влияние на производительность. Каждое измерение является эквивалентной точкой входа в таблицу фактов, и эта симметричная структура позволяет эффективно обрабатывать сложные запросы. Оптимизация запросов для баз данных, объединенных звездой, проста, предсказуема и контролируема.
- Расширяемость. Размерные модели масштабируемы и легко вмещают неожиданные новые данные. Существующие таблицы можно изменить на месте, просто добавив в них новые строки данных или выполнив команды изменения таблицы SQL. Никакие запросы или приложения, расположенные поверх хранилища данных, не нужно перепрограммировать для внесения изменений. Старые запросы и приложения продолжают выполняться, не принося других результатов. Но в нормализованных моделях каждую модификацию следует рассматривать внимательно из-за сложных зависимостей между таблицами базы данных.
Многомерные модели, Hadoop и большие данные
[ редактировать ]Мы по-прежнему получаем преимущества многомерных моделей в Hadoop и аналогичных средах обработки больших данных . Однако некоторые особенности Hadoop требуют от нас немного адаптировать стандартный подход к многомерному моделированию. [ нужна ссылка ]
- Файловая система Hadoop является неизменяемой . Мы можем только добавлять, но не обновлять данные. В результате мы можем только добавлять записи в таблицы измерений. Медленное изменение измерений в Hadoop становится поведением по умолчанию. Чтобы получить самую последнюю и актуальную запись в таблице измерений, у нас есть три варианта. Во-первых, мы можем создать представление , которое извлекает последнюю запись с помощью оконных функций . Во-вторых, мы можем запустить в фоновом режиме службу сжатия, которая воссоздает последнее состояние. В-третьих, мы можем хранить наши таблицы измерений в изменяемом хранилище, например HBase, и объединять запросы в двух типах хранилища.
- Способ распределения данных по HDFS делает объединение данных дорогостоящим. В распределенной реляционной базе данных ( MPP ) мы можем размещать записи с одинаковыми первичными и внешними ключами на одном узле кластера. Это делает объединение очень больших таблиц относительно дешевым. Для выполнения соединения данные не должны передаваться по сети. В Hadoop и HDFS это сильно отличается. Таблицы HDFS разбиваются на большие куски и распределяются по узлам нашего кластера. У нас нет никакого контроля над тем, как отдельные записи и их ключи распределяются по кластеру. В результате соединения в Hadoop двух очень больших таблиц обходятся довольно дорого, поскольку данные должны перемещаться по сети. Нам следует избегать соединений, где это возможно. Для большой таблицы фактов и измерений мы можем денормализовать таблицу измерений непосредственно в таблицу фактов. Для двух очень больших таблиц транзакций мы можем вложить записи дочерней таблицы в родительскую таблицу и выровнять данные во время выполнения.
Литература
[ редактировать ]- Кимбалл, Ральф ; Марджи Росс (2013). Инструментарий хранилища данных: полное руководство по размерному моделированию (3-е изд.). Уайли. ISBN 978-1-118-53080-1 .
- Ральф Кимбалл (1997). «Манифест пространственного моделирования» . СУБД и Интернет-системы . 10 (9).
- Марджи Росс (Kimball Group) (2005). «Идентификация бизнес-процессов» . Kimball Group, Советы по дизайну (69). Архивировано из оригинала 12 июня 2013 года.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Коннолли, Томас; Бегг, Кэролайн (26 сентября 2014 г.). Системы баз данных - практический подход к проектированию, внедрению и управлению (6-е изд.). Пирсон. Часть 9 Бизнес-аналитика. ISBN 978-1-292-06118-4 .
- ^ Муди, Дэниел Л.; Кортинк, Марк А.Р. «От моделей предприятия к многомерным моделям: методология проектирования хранилищ данных и витрин данных» (PDF) . Размерное моделирование. Архивировано (PDF) из оригинала 17 мая 2017 года . Проверено 3 июля 2018 г.
- ^ Ральф Кимбалл; Марджи Росс; Уоррен Торнтвейт; Джой Манди (10 января 2008 г.). Набор инструментов для жизненного цикла хранилища данных: экспертные методы проектирования, разработки и развертывания хранилищ данных (второе изд.). Уайли. ISBN 978-0-470-14977-5 .
- ^ Перейти обратно: а б с Маттео Гольфарелли; Стефано Рицци (26 мая 2009 г.). Проектирование хранилищ данных: современные принципы и методологии . МакГроу-Хилл Осборн Медиа. ISBN 978-0-07-161039-1 .
- ^ Ральф Кимбалл; Марджи Росс (26 апреля 2002 г.). Инструментарий хранилища данных: Полное руководство по размерному моделированию (второе изд.). Уайли. ISBN 0-471-20024-7 .
- ^ Ральф Кимбалл; Марджи Росс; Уоррен Торнтвейт; Джой Манди; Боб Беккер (январь 2008 г.). Набор инструментов для жизненного цикла хранилища данных (второе изд.). Уайли. ISBN 978-0-470-14977-5 .