1 - Пояснительная записка (1205414), страница 6
Текст из файла (страница 6)
SQL Server Management Studio позволяет использовать службу Integration Services для управления пакетами и наблюдения за выполняющимися пакетами. В среде Management Studio можно организовать пакеты в папки, выполнять, импортировать и экспортировать пакеты, переносить пакеты служб DTS и обновлять пакеты служб Integration Services.
Безусловно, Microsoft SQL Server Analysis Services (SSAS) является продуктом класса Enterprise и пользуется широкой заслуженной популярностью во многих компаниях. Однако порой приходится сталкиваться со случаями неэффективного использования данного инструмента, ошибками в архитектуре BI проекта. По SSAS написано много книг (в том числе переведенных на русский язык), опубликовано значительное количество статей, тем не менее, вопрос остается открытым.
Кубы, группы мер, меры, измерения, атрибуты, иерархии, дополнительные действия (Actions) должны иметь дружественные наименования (User-Friendly Names), понятные бизнес-пользователям, а не только разработчикам. Это крайне важный момент. Нередки случаи непродуманных наименований объектов, наличия префиксов, технических моментов (например, предложений Wizard-а). Смысловое назначение атрибутов и показателей становится понятным после выполнения выборки данных. Пользователи будут видеть неудобные наименования каждый день в своих отчетах, а некоторые пользователи будут придумывать свои заголовки в отчетах и алиасы в запросах. Переименование объектов в действующем проекте чревато появлением нескольких версий истины, нарушениями работоспособности вычисляемых показателей, отчетов. Приступая к проекту, необходимо подготовить и согласовать Соглашение о наименованиях (Naming Convention), а еще лучше – разработать бизнес-словарь данных. Данный принцип актуален здесь так же, как при именовании переменных при разработке ПО (поддержка кода) или атрибутов сущностей при проектировании баз данных.
Хороший подход – построение унифицированной многомерной модели (Unified Dimensional Model – UDM) поверх представлений (Viewes) реляционной базы данных (RDBMS), в которые включаются только необходимые для OLAP поля. Здесь основным преимуществом является то, что представления обеспечивают уровень абстракции поверх физической реляционной модели. Таблицы реляционной базы данных могут меняться, а представления в некоторой степени могут спасать OLAP-проект от необходимости реконструирования и повторного развертывания. В представлениях можно указать комментарии к SQL-запросам, прописать явные преобразования типов данных полей, на время разработки включить дополнительные критерии WHERE для уменьшения количества записей. Чтобы свести к минимуму усилия MS SQL Server по управлению разделяемыми блокировками (Shared Locks) во время выполнения запроса, можно указать подсказку (Hint) NOLOCK в запросе.
Использование схемы "Звезда" (Star Schema) предпочтительнее схемы "Снежинка" (Snowflake Schema) с точки зрения производительности процессинга разделов данных OLAP-куба. Так, если таблица фактов (Fact Table) соединяется (Join) с двумя большими таблицами (например, "Сделки" и "Клиенты"), то обработка фактов займет больше времени, потому что движку RDBMS приходится заниматься вычислениями Join. Если Snowflake имплементирована в нематериализованном ссылочном измерении (Non-materialized Reference Dimension), то пользователи будут дольше ждать выполнения своих запросов к серверу аналитики, т.к. в этих случаях соединения будут выполняться на лету фреймворком Analysis Services. Если существует секция ROLAP, то соединения будут выполняться on-line во время исполнения запросов пользователей. OLAP-куб можно построить поверх высоко нормализованной (3NF) реляционной модели, но тогда следует позаботиться о высокопроизводительной СУБД и мощных серверах (HardWare).
Важно обязательно создавать индексы (для первичных, внешних ключей и других полей) для исходных таблиц реляционной базы данных. Индексы значительно повышают скорость обработки (процессинга) секций MOLAP и запросов к секциям ROLAP. Если имеется соответствующий доступ к серверу баз данных, можно воспользоваться DMV или Index Tuning Advisor, чтобы выяснить недостающие индексы.
В хранилищах на базе MS SQL Server для индексов рекомендуется задавать коэффициент заполнения (Fill Factor) равный ста процентам, чтобы индексные страницы были заполнены до предела, уменьшая дисковое пространство для хранения индексированных данных.
3 Основные понятия интеллектуального анализа данных
3.1 Построение модели интеллектуального анализа данных
Интеллектуальный анализ данных представляет собой процесс обнаружения пригодных к использованию сведений в крупных наборах данных.
В интеллектуальном анализе данных применяется математический анализ для выявления закономерностей и тенденций, существующих в данных. Обычно такие закономерности нельзя обнаружить при традиционном просмотре данных, поскольку связи слишком сложны, или из-за чрезмерного объема данных.
Эти закономерности и тренды можно собрать вместе и определить как модель интеллектуального анализа данных. Модели интеллектуального анализа данных могут применяться к конкретным сценариям, а именно:
-
прогнозирование: оценка продаж, прогнозирование нагрузки сервера или времени простоя сервера;
-
риск и вероятность: выбор наиболее подходящих заказчиков для целевой рассылки, определение точки равновесия для рискованных сценариев, назначение вероятностей диагнозам или другим результатам;
-
рекомендации: определение продуктов, которые с высокой долей вероятности могут быть проданы вместе, создание рекомендаций;
-
поиск последовательностей: анализ выбора заказчиков во время совершения покупок, прогнозирование следующего возможного события;
-
группирование: разделение заказчиков или событий на кластеры связанных элементов, анализ и прогнозирование общих черт.
Построение модели интеллектуального анализа данных является частью более масштабного процесса, в который входят все задачи, от формулировки вопросов относительно данных и создания модели для ответов на эти вопросы до развертывания модели в рабочей среде. Этот процесс можно представить как последовательность следующих шести базовых шагов:
-
постановка задачи;
-
подготовка данных;
-
просмотр данных;
-
построение моделей;
-
исследование и проверка моделей;
-
развертывание и обновление моделей.
На рисунке 3.1 представлены связи между всеми шагами процесса и технологии Microsoft SQL Server, которые можно использовать для выполнения каждого шага.
Рисунок 3.1 ‒ Основные этапы процесса интеллектуального анализа данных
Процесс, представленный на данной диаграмме, является циклическим, то есть создание аналитической модели данных является динамическим и повторяющимся процессом.
Выполнив просмотр данных, пользователь может обнаружить, что данных недостаточно для создания требуемых моделей интеллектуального анализа данных, что ведет к необходимости поиска дополнительных данных.
Также может возникнуть ситуация, когда после построения нескольких моделей окажется, что они не дают адекватный ответ на поставленную задачу, и поэтому необходимо поставить задачу по-другому. Может возникнуть необходимость в обновлении уже развернутых моделей за счет новых поступивших данных.
Для создания хорошей модели может понадобиться многократно повторить каждый шаг процесса.
Интеллектуальный анализ данных Microsoft SQL Server предоставляет интегрированную среду для создания моделей интеллектуального анализа данных и работы с ними. Эта среда включает программу SQL Server Development Studio, которая содержит алгоритмы интеллектуального анализа данных и средства создания запросов, которые облегчают создание полноценного решения для нескольких проектов. Кроме того, эта среда включает компонент SQL Server Management Studio, который содержит средства для поиска моделей и управления объектами интеллектуального анализа данных.
3.1.1 Постановка задачи
Первым шагом процесса интеллектуального анализа данных, как видно из рисунка 3.2, является четкое определение проблемы и рассмотрение способов использования данных для решения проблемы.
Этот шаг включает анализ бизнес-требований, определение области проблемы, метрик, по которым будет выполняться оценка модели, а также определение задач для проекта интеллектуального анализа данных.
Эти задачи можно сформулировать в виде следующих вопросов.
-
Что необходимо найти? Какие типы связей необходимо найти?
-
Отражает ли решаемая задача бизнес-правила или бизнес-процессы?
Рисунок 3.2 ‒ Первый этап интеллектуального анализа данных: определение проблемы
-
Надо ли делать прогнозы на основании модели интеллектуального анализа данных или просто найти содержательные закономерности и взаимосвязи?
-
Какой результат или атрибут необходимо спрогнозировать?
-
Какие виды данных нужно иметь и какого рода информация находится в каждом столбце? Если существует несколько таблиц, как они связаны? Нужно ли выполнять очистку, статистическую обработку или обработку, чтобы данные стали применимыми?
-
Каким образом распределяются данные? Являются ли данные сезонными? Дают ли данные точное представление бизнес-процессов?
Чтобы ответить на эти вопросы, возможно, потребуется исследовать уровень доступности данных, изучить потребности пользователей в отношении доступных данных. Если данные не поддерживают потребности пользователей, то может возникнуть необходимость в изменении определения проекта.
Также необходимо рассмотреть способы для учета результатов модели в ключевых показателях эффективности, которые используются для оценки ведения бизнеса.
3.1.2 Подготовка данных
Вторым шагом процесса интеллектуального анализа данных, как видно из рисунка 3.3, является объединение и очистка данных, определенных во время предыдущего шага.
Рисунок 3.3 ‒ Второй этап интеллектуального анализа данных: подготовка данных
Данные могут находиться в разных частях компании и храниться в различных форматах или содержать такие ошибки согласования, как неверные или отсутствующие записи. Например, согласно данным, может оказаться, что клиент купил товар до того, как тот появился на рынке, или регулярно делает покупки в магазине, расположенном за 3 000 километров от дома.
Очистка данных ‒ это не только удаление недопустимых данных или интерполяция отсутствующих значений, но и поиск в данных скрытых зависимостей, определение источников самых точных данных и подбор столбцов, которые больше всего подходят для использования в анализе. Например, следует ли использовать дату отгрузки или дату заказа? Какой фактор сильнее всего влияет на продажи ‒ количество товара, итоговая цена или цена со скидкой? Неполные данные, ошибочные данные и входные параметры, которые выглядят как независимые, но на самом деле имеют прочную взаимосвязь, могут непредвиденным образом повлиять на результаты модели.
Поэтому перед началом построения моделей интеллектуального анализа данных следует выявить такие проблемы и определить, как их устранить. Во время интеллектуального анализа данных выполняется работа с большими наборами данных и нет возможности проверить каждую транзакцию на предмет качества данных. Поэтому иногда может потребоваться использовать некую форму профилирования данных и средства автоматической очистки и фильтрации данных, например, средства, содержащиеся в службах Integration Services, службах Microsoft SQL Server 2012 Master Data Services или SQL Server Data Quality Services, чтобы исследовать данные и определить несоответствия.
Важно заметить, что данные, используемые для интеллектуального анализа, не обязательно хранить в кубе аналитической обработки в сети (OLAP) или в реляционной базе данных, хотя оба эти типа объектов можно использовать в качестве источника данных.
Интеллектуальный анализ данных можно проводить с помощью любого источника, определенного как источник данных служб Службы Analysis Services. Сюда могут относиться текстовые файлы, книги Excel или данные из других внешних поставщиков.
3.1.3 Просмотр данных
Третьим шагом процесса интеллектуального анализа данных, как видно из рисунка 3.4, является просмотр подготовленных данных.
Рисунок 3.4 ‒ Третий этап интеллектуального анализа данных: изучение данных
Для принятия правильных решений при создании моделей интеллектуального анализа данных необходимо понимать данные. Методы исследования данных включают в себя расчет минимальных и максимальных значений, вычисление средневероятного и стандартного отклонения и изучение распределения данных.
Например, по максимальному, минимальному и среднему значениям можно заключить, что выборка данных не является репрезентативной для имеющихся клиентов или бизнес-процессов, и поэтому необходимо получить более сбалансированные данные или изменить предположения, лежащие в основе ожидаемых результатов.
Стандартное отклонение и другие характеристики распределения могут сообщить полезные сведения о стабильности и точности результатов. Большая величина стандартного отклонения может свидетельствовать о том, что добавление новых данных поможет усовершенствовать модель.
Данные, которые сильно отклоняются от стандартного распределения, могут оказаться искаженными или представлять точную картину реальной проблемы, которая делает сложным подбор соответствующей модели для данных.














