Обзор ключевых аспектов
Наконец-то процесс создания SQL Server 2005 завершен. Если вы на протяжении долгого времени следили за подготовкой новой версии SQL, устанавливали и использовали бета-версии, с пристрастием изучали публикуемый на Web-сайте Microsoft список новых функций, читали статьи из серии How-To и официальные документы по данной тематике, тогда, вероятно, вы в точности знаете, что предлагает платформа SQL Server 2005 Business Intelligence (BI). Но если все перечисленное для вас внове или если раньше основное внимание вы уделяли улучшениям собственно в самой базе данных и только теперь бросили взгляд на BI, эта статья поможет составить общее представление о возможностях SQL Server 2005 BI.
Платформа SQL Server 2005 BI
Чтобы описать возможности платформы BI, мне бы хотелось подойти к этому вопросу с наиболее общих позиций. Я предпочитаю изучать различные слои или роли в решениях класса BI и программные продукты или функции, которые их поддерживают. Microsoft в своих маркетинговых усилиях на рынке BI заняла аналогичную позицию. Те из читателей, кому доводилось присутствовать на конференциях Microsoft на тему SQL Server 2005 BI, наверняка слышали фразу «Integrate, Analyze, Report» (интеграция, аналитика, отчетность). Отбросив маркетинговую шелуху, мы увидим, что SQL Server Integration Services, Analysis Services и Reporting Services — это «три кита» платформы Microsoft BI. Конечно, реляционный механизм SQL Server также может играть основополагающую роль, но в принципе он не требуется. Далее, функциональность оповещения, реализуемая при участии Notification Services, презентационные возможности Microsoft Office и SharePoint — все это немаловажно для платформы BI, но тем не менее не является определяющим в маркетинговом акценте, выбранном Microsoft.
Интеграционные службы — Integration Services, преемник Data Transformation Services (DTS), нацелены на интеграцию данных или (что обычно дублируется при извлечении данных) их трансформацию, а также загрузку, т. е. речь идет об ETL (Extract, Transform and Load — ETL — извлечение, переработка и загрузка данных). Аналитические службы, Analysis Services, предназначены для моделирования метаданных, многомерного анализа (OLAP) и извлечения данных (data mining). Наконец, службы отчетности, Reporting Services, объединяют средства гибкого составления стандартных корпоративных отчетов и специальных отчетов. А теперь рассмотрим все перечисленные возможности более подробно.
Business Intelligence Development Studio
Прежде всего, необходимо сказать несколько слов о новой среде разработки Business Intelligence Development Studio (BIDS). В SQL Server 2000 мы были вынуждены переключаться с Enterprise Manager на Analysis Manager, потом на Visual Studio — все это инструментальные средства с различными интерфейсами и моделями разработки, чтобы соответствовать требованиям, предъявляемым Microsoft к решениям BI.
Специалисты Microsoft получали массу жалоб на такую технологию и в результате переместили всю разработку в интегрированную среду Visual Studio с ее мощным программным инструментарием, продуманными средствами совместной работы и стандартизированным подходом к процессу написания программ. Теперь в SQL Server 2005 можно создавать файлы BI-решений, в которых будут содержаться проекты для служб Integration, Analysis и Reporting Services в программах, написанных на C# и VB.NET. Еще один инструмент разработчика в SQL Server 2005 — SQL Server Management Studio — также использует среду разработки Visual Studio. Этот инструмент ориентирован скорее на операционные задачи, чем на задачи разработки, но он также консолидирован с остальными инструментами разработчика: все администрирование реляционного механизма SQL Server, работа со службами Integration Services, Analysis Services и Reporting Services происходит внутри Management Studio.
Службы интеграции
Уже сейчас можно найти множество превосходных статей о службах Integration Services, но я бы хотел здесь довести до сведения читателей вот какой важный момент: Integration Services заменяет DTS, и это не просто рядовое обновление или очередная версия продукта. Это полностью новый продукт, который не использует ничего из кода DTS. Integration Services — это самое первое вторжение Microsoft в область интеграции данных в информационной системе предприятия, решение, охватывающее целый ряд ключевых областей интеграции, — функциональность, которая отсутствовала в DTS.
Первое заметное изменение в Integration Services — это изменение в архитектуре: отделение Control Flow или потока работ (work flow) от Data Flow. Итак, при разработке пакетов Integration Services пользователь начинает с проработки Control Flow, где описывает задачи Execute SQL, Execute Process, File System, FTP, Send Mail и WMI Event. Также пользователь располагает встроенными механизмами управления приоритетными ограничениями (precedence constraints) при помощи таких объектов, как последовательные контейнеры, поэтому может группировать задачи, которые должны выполняться совместно, и все это с функцией тщательной отладки потока ошибок, с возможностью расставлять точки прерывания. Вслед за привнесением объекта Data Flow в Control Flow (в одном потоке Control Flow могут выполняться несколько объектов Data Flow в нужной последовательности) выделенная вкладка конструирования поддерживает сложные манипуляции с высокопроизводительными потоками данных, в которых происходят существенные трансформации (например, агрегация и преобразование, объединение и расщепление данных в больших масштабах). Эти трансформации могут быть запараллелены и могут использовать динамическое управление памятью и задействовать столько процессоров и потоков, сколько доступно в данный момент, и все это при помощи тщательно оптимизированного Data Manager.
Integration Services предлагает целый набор полезных функций, включая дополнения к технологии очистки данных (data cleansing), с помощью которой теперь можно выполнять нечеткий поиск (fuzzy lookups) и нечеткое группирование (fuzzy grouping), что особенно удобно, когда происходит соединение данных из большого числа источников и вы не хотите прописывать специальный код для учета небольших различий в данных. Используя Integration Services, можно воспользоваться всей мощью .NET Framework 2.0 — применять VB.NET при написании сценариев, осуществлять доступ к библиотекам Microsoft .NET во время вычищения данных и использовать возможность построения специализированных компонентов .NET (т. е. источники, преобразования, назначения) для расширения возможностей процесса интеграции данных. Кроме того, всесторонняя поддержка изменений и различных конфигураций упрощает управление пакетами после их развертывания без необходимости модификации. С точки зрения операционной работы, SQL Server 2005 предлагает функциональность, которая поддерживает развертывание систем на крупных предприятиях, включая ведение различных журналов, возможность повторного перезапуска (с поддержкой контрольных точек, что позволит успешно выполнять задачи, которые иначе не допускают повторного исполнения), утилиту развертывания, а также серверную службу SSIS Service для мониторинга и управления процессом выполнения пакетов на одном или нескольких серверах.
Службы аналитики
У меня складывается впечатление, что в Microsoft предпочитают не думать об Analysis Services как просто об OLAP в его традиционном понимании (On-Line Analytical Processing, аналитическая обработка в реальном времени; технология обработки информации, в том числе составление и динамическая публикация отчетов и документов). Хотя Analysis Services — это все еще реализация механизма OLAP, многие функции изменены, вследствие чего расширены возможности составления отчетов и аналитики.
Унифицированная пространственная модель. Значительное изменение в этой области связано с появлением Unified Dimensional Model (UDM). UDM — это консолидированная модель, составленная на основе метаданных и предназначенная для одного и многих базовых источников данных. Эта модель предоставляет новые возможности, такие как поддержка большого числа фактологических таблиц, связи по типу «многие ко многим», отчетность на основе заданных атрибутов, динамические пространственные иерархии и кубические подмножества (по аналогии с представлениями — views — SQL Server, носящими название Perspectives). Все эти возможности с большим трудом «уживались» с Analysis Services 2000.
Разработчики Microsoft добавили логику и механизм индикаторов Key Performance Indicator (KPI) для лучшего понимания бизнес-оценок, каждая из которых сопровождается таким индикатором KPI, который представляет собой комбинацию некоторых количественных характеристик и целевых показателей, статуса и тренда. Для заполнения языковой ниши Microsoft добавила metadata translations (перевод метаданных), так что теперь можно настроить BI-приложения с учетом языковой специфики. Microsoft также внесла коррективы в язык Multi-Dimensional eXpression (MDX) для поддержки сценариев описания вычисляемых членов, именованных наборов и вычислений в ячейках, а также в исполняемые на сервере хранимые процедуры.
Производительность возросла скачкообразно сразу в нескольких областях. Благодаря размерности атрибутов — в противовес иерархичности и многоуровневости — стала возможной встроенная поддержка выполнения операций выбора и фильтрации по огромному числу атрибутов без тех ограничений по производительности, которые имели место в Analysis Services 2000. Большинство ограничений памяти ассоциировалось с наличием гигантских размерностей в Analysis Services 2000, работа с которыми облегчалась за счет специальных кэш-областей (так называемых dimension member cache). Кроме того, настроенная безопасность размерности использует битовую карту, которая фиксирует различие размерностей между множеством ролей безопасности без создания многочисленных теневых копий размерности, размещаемых в памяти. Новая концепция под названием Proactive Caching скрадывает имеющееся различие между реляционными отчетами и OLAP, что позволяет получать доступ к данным в режиме, близком к режиму реального времени, но при этом удерживается многоразмерный кэш — Multidimensional OLAP (MOLAP) Cache — для оптимизированных результатов запросов между различными состояниями исходных данных (при их изменении). Эта возможность также устраняет необходимость вручную обрабатывать кубы Analysis Services.
Разработка данных. Microsoft обратилась к своему масштабируемому серверному решению, которое представляет собой пакет инструментальных утилит, Data Mining. В дополнение к алгоритмам Decision Trees and Clustering, которые были реализованы в SQL Server 2000, в SQL Server 2005 появилось множество новых алгоритмов — Native Bayes, Neural Networks, Sequence Clustering, Time Series, Association Rules, Linear & Logistic Regression, и теперь уже можно говорить о функционально завершенном инструментарии для большинства задач класса data mining. Microsoft добавила задачи Text Mining (Term Extraction и Term Lookup) в службы интеграции — Integration Services — для внесения в процесс интеграции данных или специализированные пакеты (dedicated packages). Служба извлечения данных тесно интегрирована с системой в целом, в том числе имеется возможность задействовать реляционные или UDM-источники данных, а результаты разработки данных могут использоваться в кубах и отчетах. Также, помимо уже упоминавшегося Text Mining, служба Data Mining, естественно, интегрирована с Integration Services, что позволяет добавлять Data Mining в решение заказчика без написания единой строчки кода. Описанная серверная функциональность — прекрасное дополнение, однако без добротного клиентского инструментария добраться до нее непросто, поэтому специалисты Microsoft создали шаблоны просмотра для Data Mining, которые могут распространяться в приложениях в случае необходимости.
Операции. Microsoft преодолела ряд проблем в работе своих продуктов, которые проявлялись при развертывании на предприятии. Высокая готовность обеспечивается благодаря отказоустойчивой кластерной поддержке, применимой для Analysis Services, а также новой функциональности синхронизации серверов Server-Sync, которая позволяет серверу загрузить текущую базу данных на один или несколько серверов для повышения отказоустойчивости и производительности при масштабировании. Кроме того, Microsoft обеспечила поддержку работы нескольких копий Analysis Services на одном физическом компьютере. При работе Analysis Services администраторы теперь имеют в своем распоряжении функциональность, которая чаще встречается при использовании реляционных продуктов: резервное копирование для очень крупных баз данных, тщательно проработанная административная безопасность и новый язык написания сценариев с синтаксисом XML для администрирования и составления сценариев при работе с Analysis Services.
Службы отчетов
В SQL Server 2005 службы отчетов, Reporting Services, реализованы уже как вторая версия. Новая версия подготовлена с учетом замечаний, высказанных в адрес Reporting Services 2000, в нее внесено множество улучшений, некоторые из них не бросаются в глаза, но тем не менее они делают продукт более масштабируемым и наращиваемым. Microsoft добавила некоторые усовершенствования, на первый взгляд кажущиеся незначительными, но в действительности заслуживающие самой высокой оценки, — сортировщик дат, поддержку многозначности для параметрических выборок, плавающие заголовки — по аналогии с функциональностью Freeze Panes в Excel, а также интерактивную сортировку по строкам или столбцам. Конечно, проработка отчетов стала более глубокой, поскольку в среде разработки Visual Studio 2005 появился модуль Visual Studio Report Designer, поэтому такие задачи, как отладка и редактирование выражений, теперь реализованы гораздо лучше, чем раньше. С появлением Analysis Services UDM вести истории отчетов OLAP стало гораздо удобнее, а с добавлением редактора запросов MDX в Report Designer теперь можно добавлять параметры отчетов простой простановкой флажков в диалогах. Но среди этих улучшений есть три, которые радикально изменили представление о службе отчетов: Report Builder, Report Controls и группа модификаций, относящаяся к редакциям SQL Server.
Report Builder. Report Builder — это новая, превосходно выполненная разработка в составе Reporting Services, особенно полезная тем, кто постоянно имеет дело с Reporting Services и сталкивается с трудностями при попытке предоставить некоторым пользователям определенную самостоятельность при использовании авторских отчетов — без привлечения Report Designer. Report Builder — специально спроектированная утилита, которая позволяет создавать отчеты на основе таблиц, матриц или шаблонов диаграмм, встроенных в бизнес-модель исходной базы данных. Поэтому авторские отчеты, построенные методом перетаскивания различных атрибутов и критериев, с разумной поддержкой форматирования, агрегирования и функциональностью big money в составе Infinite Drill-through, которая дает пользователю возможность из отчета проводить глубокий анализ исходных данных, могут составляться буквально «на лету». Детальные отчеты, до мелочей отслеживающие используемые фильтры и способы обработки данных, генерируются по запросам. В конце работы с Report Builder пользователь может сохранить построенные отчеты на сервере ReportServer для остальных пользователей и выполнить собственную разработку данных с помощью Infinite Drill-through.
Report Controls. Строго говоря, компонент Report Controls не является частью SQL Server, скорее это часть Visual Studio. Report Controls позволяет легко встраивать функциональность отчетов Reporting Services в ASP.NET- или .NET-приложения. Элементы Report Controls помогают обрабатывать и визуализировать отчеты без привлечения ReportServer (или необходимости его лицензировать); как вариант управляющие элементы Report Controls могут взаимодействовать с ReportServer (получать поля описания отчетов, информацию о безопасности и т. д.), но тем не менее сама по себе поддержка Report Controls уже дает разрабатываемым приложениям более богатую функциональность без необходимости объемного ручного кодирования.
Редакции SQL Server. В данном случае речь не идет о каком-то определенном свойстве, но, несмотря на это, новшеств очень много: Reporting Services будут включены во все редакции SQL Server 2005, в том числе и в бесплатно поставляемую версию SQL Server — Express. Report Builder будет встроен во все редакции, за исключением Express. Изначально планировалось включить Report Builder только в Enterprise Edition, но, учитывая пожелания заказчиков, разработчики решили включить Report Builder также в Standard и Workgroup версии SQL Server 2005 — это должно порадовать тех, кто занят поиском недорогих настраиваемых средств составления отчетов.
Службы оповещения
Я поступил бы неправильно, если бы не упомянул о Notification Services — новой функции BI в составе SQL Server 2005. Разработчики написали несколько превосходных расширений, которые упрощают процесс создания каркасов приложений-уведомлений, к тому же с добавлением масштабируемости, функции встраивания и возможности выполнять мониторинг и развертывание с меньшими затратами. Что еще более интересно, команда разработчиков Notification Services обосновалась «под зонтиком» BI только в феврале этого года. Конечно, существует очень много запросов на уведомления, которые не относятся к BI-платформе, однако предупреждения о различных ситуациях, интересующих заказчика, — жизненно важный компонент для бизнеса и процесса принятия решений даже в тех случаях, когда принимающие решения люди — всего-навсего онлайн-покупатели, которым надо знать о наличии товара на складе. Так или иначе, Notification Services теперь стала частью платформы Microsoft BI, и вскоре мы ощутим его присутствие в реализуемых проектах и различного рода демонстрациях.
За дело!
Я коснулся SQL Server 2005 BI лишь поверхностно, но многие особенности данного продукта заслуживают гораздо более подробного рассмотрения. Начать можно с SQL Server Books Online, а также со всевозможных Tutorials и Samples, включенных в состав SQL Server 2005 (причем следует убедиться, что в режиме Advanced при установке продукта эти справочные материалы были выбраны). Затем постепенно погружайтесь в материал все глубже — с учетом своих интересов, и прочтите все, что попадется по теме SQL Server Yukon и SQL Server 2005, — статей об этих продуктах за последние два года было опубликовано немало.
Дуглас Макдауэлл - Преподаватель, менеджер проектов по Business Intelligence в Solid Quality Learning. Имеет звания MCSE, MCDBA и MCT. douglas@SolidQualityLearning.com