Короткий ответ:
Если ваши поиски/извлечений из таблиц OLTP являются достаточно быстро, и ваши конкретные требования поиск сделать не имеют такие осложнения, как описано ниже, тогда не должно быть необходимости входить в какие-либо размерные звездные схемы.
Длинный ответ:
Размерные и Денормализованные модели имеют разные цели. Модели размеров обычно используются для сценариев хранилищ данных и особенно полезны там, где требуются сверхбыстрые результаты запроса для вычисляемых чисел, таких как «квартальные продажи по регионам» или «продавцом». Данные сохраняются в модели Dimensional после предварительного расчета этих чисел и обновляются в соответствии с определенным фиксированным расписанием.
Но даже без хранилища данных участвуют, размерная модель может быть полезным, и его цель может дополнять модели Денормализованных, как в следующем примере:
Dimensional model
позволяет быстрого поиска. Соединения между dimension tables
и fact table
настроены в star-schema
. Поиск Джона Смита будет упрощен, потому что мы будем искать John OR Smith только в соответствующей таблице измерений и выбивать соответствующие идентификаторы людей из таблицы фактов (таблица фактов FK указывает на PK таблицы размеров), тем самым получая всех лиц с из 2 ключевых слов от их имени. (Дальнейшее расширение позволит нам искать для всех лиц, имеющих варианты «Джон Смит» в их имена, например, Джон, Джон, Джонни, Джонатан Смит, Псмит, Смайт путем создания snowflake
размеров.)
Denormalized model
, с другой стороны, позволяет быстро получать , например, возвращать много столбцов по определенному элементу без объединения нескольких таблиц.
Итак, в приведенном выше сценарии мы сначала используем модель Dimensional для получения набора идентификаторов для интересующих нас лиц, а затем используем таблицу Denormalized, чтобы получить полную информацию об этих отобранных идентификаторах, не делая никаких дальнейших действий присоединяется.
Этот поиск будет очень медленным, если мы непосредственно запросим Denormalized таблицы, потому что текстовый поиск нужно будет выполнять в столбце PersonName. Он становится еще медленнее, если мы попытаемся включить вариации имен или нам нужно добавить больше критериев поиска.
Отлично ссылка:
Отличный справочник для изучения обширной (и очень интересная) тема многомерное моделирование Ральф Кимбалл The Data Warehouse Lifecycle Toolkit
. Сопутствующий объем The Data Warehouse Toolkit
охватывает большое количество реальных случаев использования.
Надеюсь, это поможет!
Пространственная модель не обязательно предварительно вычисляет числа на агрегированном уровне, но может сделать это по дополнительным причинам производительности. Вместо «сырой» размерной модели на гранулированном подробном уровне и числа агрегируются во время запроса. Я также не вижу различия между быстрым поиском и быстрым поиском. В некоторых отношениях размерные модели также денормализуются. Пример «john», «jon» также не является примером измерения снежинки, и вы не использовали бы сначала мерную модель и денормализованную таблицу. Измерение денормализировано и содержит все подробные данные. – Rich