Журнал PC Magazine/RE №12/2009 - PC Magazine/RE
Шрифт:
Интервал:
Закладка:
Проблема, с которой сталкиваются аналитики, – необходимость обрабатывать динамические потоки информации. Обычно анализ выполнялся на статичных данных, которые заведомо не менялись в заданный период. Типичный пример – банковские решения или учетные системы. По завершении операционного или рабочего дня система останавливается, данные проходят финальную обработку, сливаются в хранилища и архивы, после чего могут быть использованы для аналитической обработки. Очевидно, что при такой схеме время реакции на изменения будет ограничено снизу периодом, за который у аналитиков появляется очередной слепок данных. Столь же ясно, что для задач, требующих управления в реальном времени, такой подход малоприменим. В качестве решения проблемы была разработана технология StreamInsight.
По сути это система выполнения запросов не над статичными «слепками» структурированных данных, а непосредственно над потоками информации. Предполагается, что анализ может происходить в режиме, близком к реальному времени. В качестве примеров таких потоков можно привести активность покупателей на сайте электронной коммерции, замеры счетчиков производительности, новостные потоки и др. События могут быть «точечными» (скажем, клик пользователя), интервальными (например, длительность торгов), а также типа «луча» (в этом случае мы не знаем, когда завершится сеанс; хороший пример – рабочая сессия пользователя сайта). В StreamInsight данные обрабатываются на лету, без предварительной их фиксации, а запросы рассматриваются как «неподвижная точка» в этом потоке, с которой снимается результат динамического анализа. Из входных потоков можно извлекать события, фильтровать их, комбинировать, упорядочивать, агрегировать, выполнять пользовательскую обработку и выдавать результаты в выходной поток. Благодаря такому подходу достигается очень высокая производительность системы в целом, кроме того, исчезает необходимость в сохранении промежуточных снимков БД (что при большом объеме данных может оказаться нетривиальной задачей).
Инструментарий StreamInsight тесно связан с SQL Server, но рассчитан прежде всего на разработчиков аналитических систем, использующих модель «комплексной событийной обработки» (Complex Event Processing, CEP) и построенных на базе. NET Framework. Запросы могут формироваться средствами LINQ, что существенно упрощает работу с потоками событий. Разработчик формирует так называемые адаптеры, рассчитанные на конкретные типы данных. При этом ядро системы предоставляет средства для интеграции источников информации, возможность реализации различных сценариев развертывания, средства административного управления, отладочные функции и др.
АдминистраторуУлучшения в сфере административного управления SQL Server 2008 R2 содержат прежде всего инструментарий управления пулами серверов БД, а также мониторинга ресурсов. В частности, администратору и разработчику предоставляется набор шаблонов, упрощающих создание, развертывание и обновление приложений, которые используют корпоративную БД. Появилась масса удобных расширений стандартной консоли управления (SQL Server Management Studio). Кстати, не такая уж мелочь, как может показаться, поскольку, кроме упрощения, наличие «Мастера» не только упрощает процедуры настройки, но и гарантирует их единообразие. Впрочем, для решения задачи массового администрирования в R2 есть более совершенные инструменты, прежде всего Synthesis.
Типичная для многих СМБ-компаний картина: масса разрозненных БД, небольших и разбросанных по множеству серверов. Причем, когда речь идет о прикладной системе (вроде SQL-сервера), не спасает даже виртуализация. Сам сервер можно разместить в виртуальной машине, но… К нему все равно придется обращаться именно как к отдельному серверу, отдельно его настраивать, сопровождать и т. д. Пользователи (точнее, их прикладное ПО) также привязаны к серверу, поскольку должны знать его уникальный идентификатор (как правило, это строка подключения).
Проблема решается по нескольким направлениям. Во-первых, в Visual Studio 2010 появились средства централизованней организации взаимодействия с коллекциями серверов на базе сущностей Data-Tier Component и Data-Tier Application, которые содержат полную информацию о конфигурации среды хранения данных (первая ориентирована на развертывание, содержит данные о физической реализации среды, вторая – общая единица управления, обеспечивает уникальное пространство имен и определяет правила доступа к ресурсам). Во-вторых, имеется соответствующий инструментарий для подготовки и, что важнее, отладки административных политик, а также функции генерации приложения, рассчитанного на подключения к БД. Разработчик более не обязан заниматься ручным отслеживанием соответствия серверов, контролем их конфигурации и т. п. В третьих, с точки зрения администратора, Data-Tier Application – своего рода «единица развертывания», которую можно тиражировать в системе, причем не просто копируя, а динамически подстраивая в соответствии с требованиями задачи (все это на базе политик). При этом нет необходимости жестко фиксировать связь «приложение—сервер», а можно воспользоваться «планом соединения» (что попутно упрощает и балансировку нагрузки). Средствами SQL Server Utility администратор может контролировать политики использования Data-Tier Application, профилировать их, «развязывая» узкие места и т. д.
MDS: все обо всехСреди нововведений SQL Server 2008 R2 отметим подсистему MDS (Master Data Services). По-русски она чаще всего называется «системой ведения нормативно-справочной информации предприятия». Классическое определение гласит, что под MDS понимается набор дисциплин, приложений и технологий для согласования и управления данными и метаданными, отражающих ключевые сущности бизнес-организации предприятия.
Идея в основе своей проста и логична: стандартизация и унификация данных с переходом от понятий «таблица» или «база данных» к понятиям типа «информация отдела продаж» или «корпоративный номенклатурный справочник», эти прикладные термины рассматриваются как первичные. Впрочем, когда речь заходит об определениях, то существуют тонкости и разночтения, но в целом считается, что реализация MDS должна обеспечивать управление структурой данных, настройку информационных моделей, реализацию подсистем бизнес-правил и рабочих процессов, работу с версионными данными, связи иерархий в ИС, средства безопасности и др.
Подсистема MDS в SQL Server 2008 R2 ведет свое происхождение от двух проектов. Во-первых, это программные средства компании Stratature (в частности, пакет +EDM), уже давно приобретенной Microsoft. Во-вторых, внутренние разработки Microsoft, где к моменту приобретения Stratature развивалось нечто аналогичное (благо, решения и рекомендации по MDM на основе SSIS существовали еще для SQL Server 2005). Результат интеграции проектов получил название «Бульдог» и рассматривался как часть SharePoint, однако на TechEd 2009 было анонсировано появление MDS в составе SQL Server 2008 R2.
Как предполагается (и уже реализовано в предварительных версиях), хранилище обеспечит предоставление информации для многих витрин данных, единые справочники для разных таблиц фактов – в конечном итоге единую систему координат для корпоративного информационного пространства. Мастер-данные извлекаются из разных OLTP-систем, средствами MDS обеспечивается их сопоставление и выявление единых сущностей (на основе анализа атрибутов и правил их комбинирования). Важный момент – работа с версиями данных. Благодаря этой возможности удается обеспечить корректное разрешение коллизий (скажем, если записи справочника были ошибочно отождествлены, их надо разделить) и учета изменений (понятно, что при переходе менеджера по продажам в другой регион его предыдущие продажи должны быть записаны за ним, причем по прошлому месту работы).
Центральная часть MDS – Master Data Services Hub – обеспечивает централизованное хранение сущностей и иерархий, а также управление ими. Он рассматривается как место, где находится «истина в последней инстанции» для всех уровней иерархии, при этом доступ к данным, разумеется, имеют только те, кому «по должности положено». Собственно управлением данными занимаются операторы – эксперты, знающие предметную область (учитывая важность данных, тут требуется известная квалификация), и пользующиеся специализированными инструментами (Master Data Manager).
BI самообслуживанияСамая интересная (и не только для СМБ) особенность R2 – средства «народной» бизнес-аналитики и подготовки отчетов. По замыслу Microsoft, SQL Server R2 должен сыграть роль своего рода «магазина самообслуживания», где пользователи могут выбрать подходящие инструменты для анализа данных. От централизованной корпоративной аналитики никто не отказывается, но как показывает практика, пользователи часто вынуждены вести и собственные изыскания, рассматривая результат работы корпоративной системы в лучшем случае как полуфабрикат, заготовку, которая потом обрабатывается своими силами; проблема такого подхода очевидна – бесконечные версии таблиц и документов с обрывками информации, разобраться в которых не всегда может и их владелец. Альтернатива – предоставить таким пользователям доступный инструментарий взаимодействия с корпоративными данными – реализована в R2.