45
Алексей Шуленин Microsoft Consulting Services

СРЕДСТВА Добычи данных в Microsoft SQL Server 2005

  • Upload
    torgny

  • View
    85

  • Download
    4

Embed Size (px)

DESCRIPTION

Алексей Шуленин Microsoft Consulting Services. СРЕДСТВА Добычи данных в Microsoft SQL Server 2005. 2 -я серия Microsoft Office 2007 как аналитический клиент SQL Server. Краткое содержание предыдущей серии. - PowerPoint PPT Presentation

Citation preview

Page 1: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Алексей ШуленинMicrosoft Consulting Services

Page 2: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

См. доклад «Алгоритмы поиска закономерностей в составе аналитических служб SQL Server 2005» на конференции «Корпоративные базы данных-2006» http://citforum.ru/seminars/cbd2006/

ms_data_mining.ppt

Page 3: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

В предыдущий раз мы фокусировались на серверной стороне вопроса

по ходу дела упоминая о том, как создать свои элементы управления,

имплементировав интерфейс IMiningModelViewerControl готовых элементах управления в составе Data Mining

Web Controls Library (http://msdn2.microsoft.com/en-us/library/ms160727.aspx)* покрывают 3 алгоритма: кластеры, деревья решений, наивный

Байес Сегодня мы остановимся на новых возможностях Office

2007 в качестве Data Mining-клиента для SQL Server 2005*Последняя версия доступна в составе Feature Pack for Microsoft SQL Server

2005 - February 2007 (см.далее)

Page 4: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Неуклонное движение в сторону упрощения Как и в IT в целом Если это можно назвать эволюцией

Но пользователь становится еще капризнее И его инструмент переходит к разработчику От окончательной деградации спасает непрерывно

усложняющаяся серверная часть 25 лет назад SQL тоже представлялся в качестве

конечного клиентского инструмента Одним из преимуществ реляционного подхода преподносилась

эффективная работа пользователей в терминах наглядных понятий таблиц, строк, столбцов без необходимости знать, как в действительности организованы данные в памяти

Реляционная система скрывает от конечного пользователя последовательные просмотры таблиц, выполняя их наиболее эффективным образом(с) С.Д.Кузнецов «Введение в стандарты языка баз данных SQL»(с) С.Д.Кузнецов «Введение в стандарты языка баз данных SQL»

Page 5: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Аналогичную историю можно рассказать про DMX Появился в 1999 г., когда Microsoft объявила инициативу

расширения стандартов OLE DB на область Data Mining Впоследствии был поддержан Hyperion, SAS, Angoss,

KXEN, Megaputer, ... Вошел в состав SQL Server с версии 2000

Жизненный цикл DM-приложения был стандартизован и описан в рамках реляционной модели Создание модели = create table Обучение = insert Предсказание = select <гипотеза> prediction join

<модель> …

Page 6: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

drop mining structure Test;

/* /* Создание структуры. Одна структура может содержать несколько Создание структуры. Одна структура может содержать несколько моделей. */моделей. */

create mining structure Test ([id] long key, Product long discrete, Customer long discrete);

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

alter mining structure Test add mining model TestModel ([id], Product predict, Customer predict)

using Microsoft_Clustering (Cluster_Count = 4, Modelling_Cardinality = 50, Stopping_Tolerance = 1, Clustering_Method = 3) with drillthrough;

Page 7: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

/* Натаскиваем модель - устраиваем конвергенцию /* Натаскиваем модель - устраиваем конвергенцию кластеров. Для других алгоритмов, например, кластеров. Для других алгоритмов, например, Decision Tree, Decision Tree, insert insert значило бы обучение. [значило бы обучение. [AdventureAdventure Works DW] - Works DW] - это это источник к реляционке, который должен быть прописан в источник к реляционке, который должен быть прописан в Data Sources Data Sources многомерной базы. */многомерной базы. */

insert into Test ([id], Product, Customer) openquery([Adventure Works DW], 'select row_number() over (order by ProductKey, CustomerKey) as ID, ProductKey, CustomerKey from dbo.FactInternetSales tablesample(1000 rows)');

/* /* Для просмотра модели она должна быть создана с опцией Для просмотра модели она должна быть создана с опцией drillthrough */drillthrough */

select * from TestModel.Cases;

Page 8: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

/* /* Видим граф модели в виде таблицы. 1-я строка содержит описание Видим граф модели в виде таблицы. 1-я строка содержит описание модели в целом. Например, модели в целом. Например, CHILDREN_CARDINALITY - CHILDREN_CARDINALITY - это кол-во это кол-во образовавшихся кластеров. Дальше следуют строки, соответствующие образовавшихся кластеров. Дальше следуют строки, соответствующие узлам описания этих кластеров. */узлам описания этих кластеров. */

select * from TestModel.Content;

/* /* То же самое, только результаты в виде плоского То же самое, только результаты в виде плоского recordsetrecordsetа (уплощаем а (уплощаем NODE_DISTRIBUTION */NODE_DISTRIBUTION */

select flattened * from TestModel.Content;

/* /* В запросе поля могут иметь тип "таблица" */В запросе поля могут иметь тип "таблица" */

select node_name, node_type, node_caption, node_description, node_probability, (select attribute_name, attribute_value, [variance], attribute_value - [variance] as [С], attribute_value + [variance] as [По] from node_distribution where attribute_value <> 0) as t

from TestModel.Content;

Page 9: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

/* Предсказание - это /* Предсказание - это joinjoin. Можно предсказывать как одинарные . Можно предсказывать как одинарные значениязначения */ */

select Cluster(), ClusterProbability() from TestModel natural prediction join (select 5 as X, 6 as Y) as t;

/* так и наборы записей /* так и наборы записей */*/

select t.Product, t.Customer, Cluster(), ClusterProbability() from TestModel natural prediction join openquery([Adventure Works DW], 'select top 3 ProductKey as

Product, CustomerKey as Customer from dbo.FactInternetSales') as t;

Page 10: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Гигантское спасибо авторам DMX от разработчиков, потому что создавать DM-приложения на его основе стало не в пример удобнее и быстрее, отталкиваясь от привычной реляционной парадигмы Подобно тому, как SQL пришел в свое время на

смену системам на основе инвертированных списков, иерархическим, сетевым, ...

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

кто ж им щаз дасть права на ad hoc доступ к базе

Page 11: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Как донести до конечного пользователя плоды ваших серверных трудов? Начальство едва ли возбудится, если ему показать

скрипт на DMX Потратить еще не меньше времени на написание

красивого визуального клиента с бантиками? Конечно, бывают ситуации, когда без

написания собственного клиента не обойтись Но, в целом, действует знаменитое правило

80:20 В 80% случаях заказчику требуется некая штатная

функциональность Под которую достаточно иметь простого, но

готового клиента

Page 12: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Начиная с появления OLAP Services в составе SQL Server 7.0, в Microsoft Excel появилась возможность «цеплять» стандартную компоненту PivotTable к многомерному источнику данных

Оно и понятно – на двумерном экране сводная таблица служит идеальным инструментом представления многомерного куба Одно или несколько измерений располагается по

строкам / столбцам / фильтрам, в ячейках – одна или несколько мер

Поддерживаются операции slice (where) / dice (group by), rollup / drilldown, drillthrough, pivot, …

Применимы стандартные возможности Excel: графики, пользовательские вычисления, ...

Page 13: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 14: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Либо новое, либо в Existing (если уже заводили)

Page 15: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

В открывшейся панели В открывшейся панели Pivot Table Field List Pivot Table Field List составляем сводную таблицу из объектов составляем сводную таблицу из объектов серверного кубасерверного куба

Форматирование – меню Форматирование – меню DesignDesign Можно добавить связанный графикМожно добавить связанный график

Меню Меню InsertInsert

Page 16: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

С Analysis Services умели работать Office Web Components (OWC) – набор элементов управления для создания Web и Windows Forms-приложений DataSource Chart Spreadsheet PivotTable

OWC выпускались в версиях 2000, ХР, 2003 11-й выпуск стал последним Окончание поддержки:Версия Mainstre

amExtended

9 30.06.2006

30.06.2011

10 31.12.2008

31.12.2013

11 31.12.2011

31.12.2016

Page 17: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

На смену OWC пришли Excel Services 2007 Технология Microsoft Office SharePoint для

совместного использования, управления, защиты и обеспечения целостности.xslx, xslb как интерактивных отчетов в масштабах предприятия

Основные компоненты Excel Services Excel Calculation Services (ECS) - движок, который

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

 Excel Web Access (EWA) – веб-часть, которая отображает книгу в браузере (ActiveX не используются, только DHTML и JavaScript); может быть связана с другими веб-частями

 Excel Web Services (EWS) – веб-сервис, который хостится на сервере SharePoint и предоставляет интерфейсы для создания пользовательских приложений по управлению книгой

Page 18: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Таким образом, Office Excel 2007 может рассматриваться как authoring tool, а Excel Services как reporting tool Пользователь разрабатывает книгу (workbook) и

сохраняет ее в библиотеку документов На основе опубликованной книги другие пользователи

могут создавать отчеты, страницы веб-частей, дашборды и пр.

В опубликованной книге нельзя менять непосредственно значения ячеек – к ней нужно относится как к отчету В опубликованной книге пользователи могут обновлять

данные из внешних источников и пересчитывать результаты формул

Менять значения параметров Выполнять сортировку и фильтрацию ... При наличии прав можно скопировать текущее состояние

опубликованной книги с результатами работы в рамках текущей сессии (все вышеперечисленное) в клиентский Excel в виде книги или снимка

Page 19: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Report Center Содержит специальные библиотеки документов для хранения

отчетов, списков, веб-частей, шаблонов страниц веб-частей и .odc Filter Web Parts и кнопка Apply Filter

Например, источник содержит продажи за много лет, по разным продуктам и регионам

При помощи этой возможности можно установить интересующий срез, который будет действовать одновременно сразу в нескольких веб-частях Excel Web Access

Office Shared Services Dashboards Шаблон страницы из веб-частей в виде отчетов, графиков, метрик,

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

KPI List Web Part KPI – измеримая цель в динамике вместе с показателями своего

достижения Может собирать данные из списков SharePoint, книг Excel, SQL

Server 2005 Analysis Services или с ручного ввода Скоркарда содержит иерархический список KPI, как правило, в

соответствии с организационной структурой предприятия

Page 20: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Ведение KPI возможно в различных продуктах Microsoft : Report Center в Sharepoint 2007, Business Scorecard Manager 2005, …

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

Имеет смысл определять KPI централизованно на уровне данных (читай, в кубе OLAP), используя все прочие инструменты в качестве отображения Тем более, что все они находятся на более низких

уровнях Excel 2007, работая с кубом Analysis Services

2005, «понимает» эти KPI и позволяет отображать их в виде скоркарды

Page 21: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 22: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Так же, как в примере со сводной таблицей, встать на пустую ячейку, выбрать меню Data и соединиться с кубом, открыв существующее соединение, либо создав новое

В уже знакомой панели Pivot Table Field List выбрать пункт KPIs, отметить нужные, выбрав для них интересующие характеристики: Value, Goal, Status, Trend

Повторить действия для остальных KPI

Page 23: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

На самом деле, как мы видели из серверного слайда, статусное и трендовое выражения KPI возвращают число Напр., 1, 0, -1 Оно же

присутствует в значении Excelной ячейки

Откуда там еще берется иконка?

Новая возможность в Excel 2007 под названием Conditional Formatting

Page 24: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 25: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

В состав SQL Server Reporting Services, начиная с 2000 SP2, входят веб-части для размещения отчетов на портале SPS 2003 / WSS 2.0 Report Explorer для навигации по отчетам Report Viewer для просмотра отчета

Начиная с SQL Server 2005 SP2, Reporting Services могут функционировать в режиме интеграции с Sharepoint (SPS 2007/WSS 3.0) Отчеты хранятся не в базе ReportServer, а в библиотеке

документов Sharepoint, т.е. в его базе Управление и просмотр отчетов консолидированы в среде

Sharepoint Выполнение отчетов по расписанию, кэширование и

подписки оставлены за Report Server, т.к. библиотека документов Sharepoint не имеет такой функциональности

Можно использовать стандартную функциональность Sharepoint: workflow, контроль версий, совместная работа

Page 26: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Реализуются при помощи Microsoft SQL Server 2005 Data Mining Add-ins for Microsoft Office 2007

Которые вышли в феврале 2007 г. как составная часть Feature Pack for Microsoft SQL Server 2005 - February 2007

Feature Pack – выходящий на регулярной основе набор дополнений, средств соединения, административных утилит и других полезных вещей

В состав февральского пакета, кроме них, входят SQL Server 2005 Compact Edition, ADOMD.NET, SNAC,

MSXML 6.0, JDBC Driver к SQL Server 2005, .NET Data Provider for mySAP Business Suite, MS OLEDB Provider for DB2, SQL Server Mgmt Pack for MOM 2005,, Datamining Viewer Controls к SQL Server 2005, объектная модель .NET для подключения своих алгоритмов Data Mining и т.д. общим весом 348 МБ

Берется здесь: http://www.microsoft.com/downloads/details.aspx?

FamilyID=50b97994-8453-4998-8226-fa42ec403d17&DisplayLang=en

Page 27: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Из всего этого богатства нас сегодня будет интересовать только subj

Не обязательно скачивать весь Feature Pack, если вас интересует отдельная компонента

Data Mining Add-ins берутся здесь: http://www.microsoft.com/downloads/

details.aspx?FamilyID=7c76e8df-8674-4c3b-a99b-55b17f3c4c51&DisplayLang=en

Дистрибутив занимает 13.8 МБ

Page 28: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

ОС: Windows 2000 SP4; Windows Server 2003 SP1;

Windows Vista; Windows XP SP2 Microsoft .NET Framework 2.0 Microsoft Office 2007 with .NET

Programmability Support Редакции: Professional, Рrofessional Plus, Ultimate,

Enterprise Microsoft Viso Professional 2007 with .NET

Programmability Support Если ставим Data Mining Templates for Visio

40 МБ места на диске SQL Server 2005 Analysis Services

Enterprise Edition – SP1 и выше Standard Edition – SP2 (и, видимо, выше)

Page 29: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Data Mining Templates for Visio Поддерживается визульное отображение

моделей в виде диаграмм Visio: Decision Tree

Алгоритмы деревьев решений или регрессионных моделей

Dependency Network Алгоритмы Наивный Байес, деревья решений

или ассоциации Cluster

Алгоритмы кластеризации

Table Analysis Tools for Excel Data Mining Client for Excel

Page 30: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 31: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 32: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Запускается автоматически при первом заходе в Excel после установки

Page 33: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Выполняет следующие действия: Запрашивает строку соединения с OLAP-

сервером Конфигурирует сервер для создания

временных моделей Спрашивает существующую БД для

создания постоянных моделей или создает новую

Добавляет пользователей Add-In в роль администраторов этой БД

Page 34: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

<Alter AllowCreate="true" ObjectExpansion="ObjectProperties" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Object/> <ObjectDefinition> <Server> <Name>localhost</Name> <ServerProperties> <ServerProperty> <Name>DataMining\AllowSessionMiningModels</Name> <Value>true</Value> </ServerProperty> </ServerProperties> </Server> </ObjectDefinition></Alter>

Page 35: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

<Create xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <ObjectDefinition> <Database> <ID>DMAddinsDB</ID> <Name>DMAddinsDB</Name> <DataSourceImpersonationInfo> <ImpersonationMode>ImpersonateCurrentUser</ImpersonationMode> </DataSourceImpersonationInfo> </Database> </ObjectDefinition></Create>

Page 36: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Создали роль:

<Alter AllowCreate="true" ObjectExpansion="ObjectProperties" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>DMAddinsDB</DatabaseID> <RoleID>DMc3774460-1d2d-44c1-becb-a8b27405dbb5</RoleID> </Object> <ObjectDefinition> <Role> <ID>DMc3774460-1d2d-44c1-becb-a8b27405dbb5</ID> <Name>ExcelAddins_Role_25-Apr-07 6_26_46</Name> <Description>Administrators have unrestricted access to the database (they can read, process, modify and delete objects).</Description> <Members> <Member> <Name>EUROPE\alexejs</Name> </Member> </Members> </Role> </ObjectDefinition></Alter>

<PropertyList xmlns="urn:schemas-microsoft-com:xml-analysis"> <LocaleIdentifier>1033</LocaleIdentifier> <Format>Native</Format> </PropertyList>

Page 37: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Дали административные привилегии:

<Alter AllowCreate="true" ObjectExpansion="ObjectProperties" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>DMAddinsDB</DatabaseID> <DatabasePermissionID>DatabasePermission</DatabasePermissionID> </Object> <ObjectDefinition> <DatabasePermission> <ID>DatabasePermission</ID> <Name>DatabasePermission</Name> <RoleID>DMc3774460-1d2d-44c1-becb-a8b27405dbb5</RoleID> <Process>true</Process> <ReadDefinition>Allowed</ReadDefinition> <Administer>true</Administer> <Read>Allowed</Read> </DatabasePermission> </ObjectDefinition></Alter>

<PropertyList xmlns="urn:schemas-microsoft-com:xml-analysis"> <LocaleIdentifier>1033</LocaleIdentifier> <Format>Native</Format> </PropertyList>

Page 38: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Далее по умолчанию открываются Sample Data из стартового меню C:\Program Files\Microsoft SQL Server 2005

DM Add-Ins\DMAddins_SampleData.xlsx

Page 39: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 40: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 41: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 42: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 43: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005
Page 44: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Домашняя страница microsoft.com по технологиям Data Mining http://www.microsoft.com/sql/technologies/dm/

default.mspx Страничка на microsoft.com, посвященная

сегодняшней тематике http://www.microsoft.com/sql/technologies/dm/

addins.mspx Там есть полезные tutorials по каждой компоненте

Whitepaper по вопросам интеграции Office 2007 с SQL Server 2005 http://go.microsoft.com/fwlink/?LinkId=86356

MSDNовский форум по Data Mining: http://forums.microsoft.com/msdn/showforum.aspx?

forumid=81&amp;siteid=1

Page 45: СРЕДСТВА Добычи данных в  Microsoft SQL Server  2005

Вопросы?