Вопрос

Я пытаюсь узнать о складировании OLAP и DATA, и я путающую разницу между реляционным и измеренным моделированием. Размерное моделирование в основном реляционное моделирование, но позволяет для резервных / не нормализованных данных?

Например, скажем, у меня есть исторические данные продаж на (продукт, город, # продажи). Я понимаю, что следующее будет реляционная точка зрения:

Продукт |. Город |. # Продажи яблоки, Сан-Франциско, 400 яблок, Бостон, 700 яблок, Сиэтл, 600 апельсинов, Сан-Франциско, 550 апельсинов, Бостон, 500 апельсинов, Сиэтл, 600

Хотя следующее является более размерной точки зрения:

Продукт |. Сан-Франциско | Бостон |. Яблоки Сиэтла, 400, 700, 600 апельсинов, 550, 500, 600

Но кажется, что обе точки зрения, тем не менее, будут реализованы в идентичной звездной схеме:

Таблица фактов: идентификатор продукта, идентификатор области, # Продажное измерение продукта: ID продукта, название продукта Размер города: Идентификация города, название города

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

Размер города: Идентификатор города, Имя города, Область региона Регион Размер: ID региона, имя региона, Менеджер региона, # Региональные магазины

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

Городское измерение: Идентификатор города, Имя города, Имя области, Менеджер региона, # Региональные магазины

Это правильно?

Это было полезно?

Решение

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

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

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

Комментарий к OLTP против OLAP актуален здесь. Обновление аномалий будет иметь разные воздействия на производительность и / или программирование сложности в этих двух ситуациях.

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

Так же, как отступление от вашего вопроса, я когда-то построил звездную схему в качестве промежуточного шага между базой данных OLTP, которая поддерживала приложение на основе транзакций и DataCube внутри Cognos PowerPlay. Использование стандартных методов ETL, комбинированная передача из базы данных OLTP в STAR SCHEMA, а затем из STAR SCHEMA к CUBE Data Data, фактически превосходит прямую передачу от базы данных OLTP на DataCube. Это был неожиданный результат.

Надеюсь это поможет.

Другие советы

В простых словах OLTP Normalized база данных разработана с наиболее оптимальной «транзакционной» точкой зрения. Базы данных нормализуются для оптимальной работы для транзакционной системы. Когда я говорю оптимизацию транзакционной системы, я имею в виду. Getting к конструктивному состоянию структуры базы данных, где все транзакционные операции, такие как удаление, вставка, обновление и выбор, сбалансированы, чтобы дать равное или оптимальное значение для всех из них в любой момент времени .. . Как они одинаково оцениваются в транзакционной системе.

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

С другой стороны, модель размеров (в основном используется для дизайна дома для посуды данных) .. Представляется для того, чтобы удовлетворить важность только одного вида операций, которые выбирают данные ... Как в доме домов ..Data. . И это разовая стоимость.

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

  • Все иностранные ключей одно место - нет измерения к измерению присоединение (то есть мастера к мастер-таблице соединение). Снежинка представляет тот же размер
    • Идеально разработанные факты несут только номера ..masures или иностранные ключи
    • Измерение используются для перевозки описания и неагрегационной информации
    • Избыточность данных игнорируется ... но в редких случаях, если сами размеры растут слишком много .snofflake Design рассматривается как вариант .. Но все еще избегают

Для получения подробной информации, пожалуйста, пройдите подробные книги по этой теме.

Я только недавно прочитал разницу между разницей между размером и реляционным моделированием данных, поскольку мы в первую очередь используем реляционные модели в моем бизнесе, где мы храним хранилище данных предприятия (EDW).

По словам Стива Хобмана в его книге «Моделирование данных сделало простым» различием между 2 типами моделей:

  • Модели реляционных данных захватывают бизнес-решение для того, как часть бизнес-работ, ака бизнес-процесс
  • Размерные модели данных захватывают детали, которые бизнес должен отвечать на вопросы о том, насколько хорошо это делает

Можно утверждать, что реляционная модель также может быть использована в качестве фундамента, на который отвечает на деловые вопросы, но на тактическом уровне. «Сколько заказов в невыполненном состоянии для клиента X из-за кредита?» Но различие состоит в том, что о том, где вопрос отчетности нуждается в «родном зерне» таблицы, и когда вопрос отчетности можно ответить с суммированными данными.

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

Я нашел описание, которое я нашел на http://www.orafaq.com/node/2286. Быть очень полезным при приезжении на звездную схему от реляционной перспективы.

Рассмотрим полностью нормализованную модель данных. Теперь подумайте о точном противоположном, где вы полностью денормализуете свою модель реляционных данных, чтобы у вас была только одна плоская запись, такая как электронная таблица Big'lol с очень широким рядом. Теперь вернитесь из этой плоской записи, просто немного, чтобы у вас была модель данных, которая является только двумя уровнями; Один большой стол, и несколько небольших таблиц, к которым оказывает большие столы обратно. Это звездная схема. Таким образом, имеющая True Star Data Data Data имеет два атрибута, это всегда два уровня, и верная звезда модель всегда содержит только один большой стол, который является фокусом модели.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top