Поделиться через


Интерактивная аналитическая обработка

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

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

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

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

Схема, демонстрирующая традиционную логическую архитектуру OLAP в Azure, использующую службы Analysis Services.

По мере развития технологий и увеличения масштаба данных и вычислений система OLAP переходит на архитектуры массовой параллельной обработки (MPP), поддерживаемые Microsoft Fabric . Дополнительные сведения см. в разделе "Хранилище аналитических данных Fabric".

На следующей схеме показана современная архитектура системы OLAP.

Схема, демонстрирующая современную логическую архитектуру OLAP в Azure, использующую Fabric.

Семантическое моделирование

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

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

Семантическое моделирование преимущественно используется в сценариях с высокой нагрузкой на чтение, таких как аналитика и бизнес-аналитика (OLAP), нежели чем в более требовательной к записям обработке транзакционных данных (OLTP). Семантическое моделирование подходит для сценариев с высокой нагрузкой на чтение из-за характеристик типичного семантического слоя:

  • поведение агрегатов задано так, чтобы в средствах создания отчетов правильно отображались соответствующие данные;
  • определены бизнес-логика и вычисления;
  • включены ориентированные на время вычисления;
  • данные часто интегрируются из нескольких источников.
  • Поддерживается аналитика в режиме реального времени.

По этим причинам семантический слой обычно размещается над хранилищем данных.

Схема, показывающая семантический слой между хранилищем данных и средством создания отчетов.

Есть два основных типа семантических моделей:

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

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

Службы Analysis Services и Fabric обеспечивают необходимую инфраструктуру и средства для эффективного реализации семантического моделирования.

Пример варианта использования

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

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

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

Типичные признаки семантического моделирования

Семантическая моделирование и аналитическая обработка, как правило, имеют следующие признаки.

Требование Описание
Схема Схема при записи (строго соблюдается)
Использует транзакции нет
Стратегия блокировки Отсутствует
Возможность обновления Нет, обычно требуется повторное вычисление куба
Возможность добавления Нет, обычно требуется повторное вычисление куба
Загруженность Большое число операций чтения, только для чтения
Индексирование Многомерное индексирование
Размер данных От малого до чрезвычайно большого размера
Модель Табличные или многомерные
Форма представления данных Схема куба, звезды или снежинки
Гибкость запросов Высокая гибкость
Шкала Большие объемы данных, от сотен гигабайт (ГБ) до нескольких петабайт (ПБ)

Когда следует использовать это решение:

Рекомендуется использовать OLAP для следующих сценариев:

  • Вам нужно быстро выполнять сложные аналитические запросы и запросы по требованию, не влияя на системы OLTP.

  • Вы хотите предоставить бизнес-пользователям простой способ создания отчетов из данных.

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

Технология OLAP особенно полезна при выполнении статистических вычислений для больших объемов данных. Системы OLAP оптимизированы для сценариев, где требуется интенсивное чтение. OLAP также позволяет пользователям сегментировать многомерные данные на срезы, которые они могут просматривать в двух измерениях, таких как сводная таблица. Или они могут фильтровать данные по определенным значениям. Пользователи могут выполнять эти процессы, известные как анализ данных на срезы и сегменты, независимо от того, разделены ли данные по нескольким источникам. Пользователи могут легко изучить данные, не зная подробности традиционного анализа данных.

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

Сложности

Системы OLAP также создают проблемы:

  • Транзакции, которые выполняются из различных источников, постоянно обновляют данные в системах OLTP. Хранилища данных OLAP обычно обновляются в более медленных интервалах в зависимости от бизнес-потребностей. Системы OLAP подходят для стратегических бизнес-решений, а не немедленного реагирования на изменения. Кроме того, необходимо запланировать некоторый уровень очистки и оркестрации данных, чтобы сохранить хранилища данных OLAP up-to-date.

  • В отличие от традиционных нормализованных реляционных таблиц в системах OLTP, модели данных OLAP, как правило, являются многомерными. Поэтому сложно или невозможно напрямую сопоставить их с сущностными или объектно-ориентированными моделями, где каждый атрибут соответствует одному столбцу. Вместо этого системы OLAP обычно используют схему звездочки или снежинки вместо традиционной нормализации.

OLAP в Azure

В Azure данные в системах OLTP, таких как База данных SQL Azure, копируются в системы OLAP, такие как Fabric или Analysis Services. Средства исследования и визуализации данных, такие как Power BI, Excel и независимые от Microsoft варианты, подключаются к серверам Служб Analysis Services и предоставляют пользователям высоко интерактивные и наглядные представления о моделизированных данных. Службы SQL Server Integration Services можно использовать для оркестрации потока данных из систем OLTP в системы OLAP. Чтобы реализовать службы SQL Server Integration Services, используйте фабрику данных Azure.

Следующие хранилища данных Azure соответствуют основным требованиям для OLAP:

Службы SQL Server Analysis Services предоставляют функции OLAP и интеллектуального анализа данных для приложений бизнес-аналитики. Sql Server Analysis Services можно установить на локальных серверах или разместить его на виртуальной машине в Azure. Службы Analysis Services — это полностью управляемая служба, которая предоставляет те же основные функции, что и службы SQL Server Analysis Services. Службы Analysis Services поддерживают подключение к различным источникам данных в облаке и локальной среде в организации.

Кластеризованные индексы columnstore доступны в SQL Server 2014 и более поздних версиях и в базе данных SQL. Эти индексы идеально подходят для рабочих нагрузок OLAP. Начиная с SQL Server 2016, включая базу данных SQL, можно воспользоваться преимуществами гибридной транзакционной и аналитической обработки (HTAP) с помощью обновляемых некластеризованных индексов columnstore. Используйте HTAP для обработки OLTP и OLAP на одной платформе. Этот подход устраняет необходимость в нескольких копиях данных и отдельных системах OLTP и OLAP. Дополнительные сведения см. в статье Columnstore для оперативной аналитики в режиме реального времени.

Основные критерии выбора

Чтобы сузить варианты, ответьте на следующие вопросы:

  • Хотите ли вы управлять управляемыми службами, а не управлять собственными серверами?

  • Требуется ли идентификатор Microsoft Entra для безопасной проверки подлинности?

  • Необходимо ли интегрировать данные из нескольких источников за пределами хранилища данных OLTP?

  • Вы хотите проводить аналитику в режиме реального времени?

    Аналитика Real-Time Fabric — это мощная служба в Fabric, которую можно использовать для извлечения аналитических сведений и визуализации данных в движении. Он предоставляет комплексное решение для сценариев на основе событий, потоковых данных и журналов данных. Независимо от того, управляете ли вы ГБ или ПБ данных, все данные организации, перемещающиеся, сходятся в центре Real-Time.

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

    Если да, выберите вариант, который поддерживает многомерные кубы или табличные семантические модели.

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

Матрица возможностей

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

  • ткань
  • Службы анализа
  • SQL Server Analysis Services
  • SQL Server с индексами колоночного хранилища
  • База данных SQL с индексами columnstore

Общие возможности

Способность ткань Службы анализа SQL Server Analysis Services SQL Server с индексами колоночного хранилища База данных SQL с индексами columnstore
Является управляемой службой Да Да нет нет Да
МПП Да нет нет нет нет
Поддержка многомерных кубов нет нет Да нет нет
Поддержка табличных семантических моделей Да Да Да нет нет
Простая интеграция нескольких источников данных Да Да Да Нет 1 Нет 1
Поддержка аналитики в режиме реального времени Да нет нет Да Да
Требуется процесс для копирования данных из источников Необязательный 3 Да Да нет нет
Интеграция с Microsoft Entra Да Да нет Нет 2 Да

[1] SQL Server и База данных SQL не могут запрашивать и интегрировать несколько внешних источников данных, но вы можете создать конвейер для выполнения этих функций с помощью служб SQL Server Integration Services или Фабрики данных Azure. Сервер SQL Server, размещенный на виртуальной машине Azure, имеет дополнительные возможности, такие как связанные серверы и PolyBase. Дополнительные сведения см. в разделе "Выбор технологии оркестрации конвейера данных".

[2] Учетная запись Microsoft Entra не поддерживает подключение к SQL Server, размещенной на виртуальной машине Azure. Вместо этого используйте учетную запись Windows Server Active Directory домена.

[3] Структура обеспечивает гибкость интеграции источников данных путем перемещения данных в OneLake через конвейеры фабрики данных Azure или зеркальное отображение. Вы также можете создавать ярлыки или выполнять аналитику в режиме реального времени в потоках данных без перемещения данных.

Возможности масштабируемости

Способность ткань Службы анализа SQL Server Analysis Services SQL Server с индексами колоночного хранилища База данных SQL с индексами columnstore
Избыточные региональные серверы для высокого уровня доступности Да Да нет Да Да
Поддержка горизонтального увеличения масштаба запросов Да Да нет Да Да
Динамическая масштабируемость, масштабирование вверх Да Да нет Да Да

Дальнейшие шаги