Журнал PC Magazine/RE №12/2009 - PC Magazine/RE 10 стр.


Главное отличие системы Microsoft SQL Server, о котором часто забывают, сравнивая ее с другими СУБД, заключается в том, что SQL Server – не только СУБД, не только средство хранения и управления структурированными данными. Это часть комплексной инфраструктуры, тесно интегрированная с остальными разработками Microsoft. И сама по себе эта система универсальна. В отличие от большинства конкурентов, предлагающих решения для, пусть довольно широких, но все же ниш, SQL Server в равной степени эффективен и в ЦОД крупной корпорации, и в небольшой компании и даже на единичной машине. Не будет преувеличением сказать, что сегодня найдется немного предприятий и в СМБ, и в крупном бизнесе, где бы нельзя было найти SQL Server в той или иной инкарнации. Если не в виде автономной инсталляции, то в составе бухгалтерской системы или системы документооборота или самописного приложения – где-нибудь MS SQL отыщется непременно.

Это особенно важно, когда речь идет о СМБ. Ведь очевидно, что задача любой компании состоит не в том, чтобы разработать приложение для «комплексной платформы данных», ее дело – вести собственный бизнес. ИТ – не более чем средство решения этой глобальной задачи. И если для поиска давно затерянной платежки будет проще «спросить Марию Ивановну», а не создавать запрос к корпоративной информационной системе, – будьте уверены, спросят. Если потребуется на коленках сделать макрокоманду – сделают. Самые сознательные представители сегмента СМБ регулярно задумываются об автоматизации, но все равно за рутиной забывают.

Именно на этом поле и играет Microsoft. Сама по себе идея «бить по площадям», предлагая в унифицированном и стандартном решении технологии и возможности, которые у конкурентов стоят дорого или вообще считаются отдельными программными продуктами (тоже недешевыми) – традиционный ее modus operandi. Именно благодаря ему решения Microsoft и проникают повсюду. Исподволь, ненавязчиво, не требуя коренной ломки сложившихся деловых практик… Автоматизация снизу. По сценарию: вот Excel, там сделана таблица платежек или счетов-фактур, или чего угодно. Сотрудник склада умеет работать с этой таблицей (переучивать его некогда, да и незачем). Конец квартала и надо посчитать, что там у нас получилось? Не вопрос, делаем сводную таблицу. Накопилась масса данных за несколько лет – переносим их в СУБД, подключаем Excel, с которым умеет работать кладовщик, и он работает как раньше. Появляются неструктурированные данные? Это для других разработчиков СУБД они «файловый мусор», а мы их аккуратно загрузим через интерфейсы промежуточного слоя. Нужна отчетность? Не вопрос, строим в Excel сводную таблицу из данных, которые хранятся в БД… А потом вдруг оказывается, что в компании есть вся инфраструктура: SQL Server, Exchange, Windows с Office… И вопрос «надо ли внедрять корпоративный портал» сам собой естественно трансформируется в обсуждение, «какую версию SharePoint приобрести и кому из партнеров Microsoft заказать проект»… Утрирую, конечно, но не слишком сильно.

И SQL Server 2008 R2 четко следует в русле этой тенденции. Даже общее знакомство с системой показывает, что каждая новая функция явно проектировалась с прицелом на улучшение не только самого продукта, но и платформы в целом.

Версии SQL Server: кто есть кто?

С выпуском SQL Server 2008 R2 изменяется состав продукта в целом и функциональность отдельных версий. В частности, появились варианты Datacenter и Parallel Data Warehouse. Первый позволяет задействовать более восьми физических (до 256 логических) процессоров, предоставляет возможность развертывания мультисерверных конфигураций с числом экземпляров более 25, содержит подсистему StreamInsight, а также специальные средства для работы в виртуальном окружении.

SQL Server 2008 R2 Parallel Data Warehouse позволяет создавать хранилища с параллельным доступом к данным на узлах, специализированные функции для работы с хранилищами данных (оптимизации типа Star Join, возможность захвата данных и др.), стандартизованный инструментарий управления и др. В версии SQL Server 2008 R2 Enterprise мультисерверное администрирование ограничено 25 экземплярами, имеются средства работы с PowerPivot for SharePoint и MDS. В редакции SQL Server 2008 R2 Standard появились функции сжатия резервных копий (раньше они были доступны только пользователям версий уровня Enterprise). Предлагаются варианты оплаты по схеме «за процессор» и «за сервер» с набором лицензий доступа для клиентов (Client Access License, CAL).


Нововведения

Горная ассоциация в предыдущем разделе возникла не случайно. Разработка, известная ныне как Microsoft SQL Server 2008 R2, носила кодовое название горного массива Килиманджаро, высочайшей точки Африки (5895 м над уровнем моря). Выпуск этого продукта запланирован на первое полугодие 2010 г. На сегодня доступны его предварительные версии (Community Technology Preview CTP), последняя из которых (на момент написания статьи) имеет порядковый номер три и датируется ноябрем этого года. Продукт представляет собой результат долгой эволюции (см. врезку «Краткий курс истории SQL Server»), за время развития (с 1995 г.) он превратился в комплексную платформу хранения, обработки и анализа данных на всех этапах их жизненного пути, от создания до архивации. Система рассчитана на работу вместе с другими решениями Microsoft, предоставляет средства для создания корпоративных решений, разработки специализированных комплексов по обработке больших объемов данных, построению комплексной бизнес-аналитики и т. д.

Фундамент для большинства возможностей, появившихся в R2, был заложен еще в версии SQL Server 2008, но в то же время появились и новые функции. Улучшению и доработке подверглись самые разные аспекты, но главные цели, которые преследовала Microsoft, разрабатывая новую версию своей СУБД: повышение эксплуатационной эффективности, надежности и производительности, а также реализация идеи «общедоступной бизнес-аналитики», сохранились.

Устанавливаем SQL Server 2008 R2

Процедура инсталляции SQL Server 2008 R2 хорошо продумана и не вызывает затруднений


В конфигурации по умолчанию сделан акцент на безопасность; прочие функции администратор может включить отдельно
Fast Track Data Warehouse: хранилище из кубиков

Инициатива, в рамках которой была создана эталонная платформа для развертывания SQL Server 2008 в режиме хранилища данных заранее заданной емкости. Идея состоит в том, чтобы решить чисто интеграционную проблему: до сих пор создание корпоративных хранилищ требовало привлечения консультантов или системных интеграторов, трудоемких тестов, а порой даже разработки нестандартных решений. В рамках Fast Track Data Warehouse предприятия могут приобретать заранее сконфигурированные и протестированные системы, которые можно сразу вводить в эксплуатацию на серверной площадке.

Программа Fast Track Data Warehouse рассчитана на изготовителей аппаратных средств (сегодня известно об участии в ней Dell, HP и Bull), а также системных интеграторов (им предлагаются специальные шаблоны, упрощающие развертывание SQL Server). В частности, HP предлагала конфигурации на базе серверов HP ProLiant DL385 G6, DL585 G6 и DL785 G6, Dell – системы Dell Power Edge R710 и R900, рассчитанные на несколько меньшие объемы хранения, чем у изделий HP, IBM – серверы System x3650 M2, x3850 M2, x3950 M2 (несколько вариантов), которые различаются емкостью (от базовой 4–8 Тбайт до крупной – 16–32 Тбайт). С выпуском SQL Server 2008 R2 конфигурации, доступные в рамках программы Fast Track, также будут обновлены, но детали пока неизвестны.

По оценке Microsoft, использование такого рода «заготовок», протестированных и настроенных, позволяет снизить стоимость структурированного хранилища до 13 тыс. долл. за 1 Тбайт (при емкости до 32 Тбайт). На сайте Microsoft имеется электронная таблица, позволяющая быстро оценить затраты и необходимые ресурсы в соответствии со спецификой загрузки сервера БД (число пользователей, конкурентных запросов, желательного времени отклика системы, числа процессоров, характеристики дисковой подсистемы и др.).


Данные… много и быстро!

До недавнего времени SQL Server был ограничен 64 логическими процессорами, в SQL Server 2008 R2 лимит увеличен до 256. Причина проста: стандартная восьмипроцессорная платформа сегодня вполне может обернуться 256 логическими ЦП. Кроме того, специалисты Microsoft отмечают, что инсталляции SQL Server с базами данных 5–10 Тбайт сейчас уже не редкость. Если еще не типовой проект, то уж вполне отработанная технология. Система, рассчитанная на терабайтные БД, без особенных сложностей будет справляться и со стандартными десятками или сотнями гигабайт. При необходимости дальнейшего увеличения мощности предлагается переходить на аппаратные конфигурации с массивно-параллельной обработкой – проект Madison (на базе разработок ранее приобретенной Microsoft компании DATAllegro).

Обновленная подсистема массивно-параллельного хранилища SQL Server 2008 R2 предоставляет средства для хранения громадных информационных массивов и быстрого к ним доступа. Объемы данных растут по экспоненте, хранить их на едином сервере уже порой невозможно, а значит, необходимо распределенное интеллектуальное хранилище. Это, собственно, и есть проект Madison, специализированный программно-аппаратный комплекс, рассчитанный на массивно-параллельную архитектуру, обеспечивающий хранение данных на физических узлах (с собственными ЦП, памятью и дисками) и возможность параллельного доступа к ним. При этом реализация весьма эффективна. Технология Madison – это составная часть SQL Server 2008 R2. Клиентские соединения в такой системе проходят через управляющий узел, который обрабатывает запрос и готовит план выполнения с учетом распределения данных по узлам хранилища. Отдельные экземпляры SQL Server, используемые в роли вычислительных узлов, генерируют финальные планы выполнения, отрабатывая свои части запроса. Все это совместимо с ODBC, OLE-DB, ADO.Net и др. (на самом деле, непосредственно к хранилищу пользователи доступа не имеют, работая с так называемыми витринами данных, но этот процесс организован прозрачно для них). На практике это означает, что типичным объемом БД для R2 скоро может стать не терабайтный, а даже петабайтный масштаб.

Обновленная подсистема массивно-параллельного хранилища SQL Server 2008 R2 предоставляет средства для хранения громадных информационных массивов и быстрого к ним доступа. Объемы данных растут по экспоненте, хранить их на едином сервере уже порой невозможно, а значит, необходимо распределенное интеллектуальное хранилище. Это, собственно, и есть проект Madison, специализированный программно-аппаратный комплекс, рассчитанный на массивно-параллельную архитектуру, обеспечивающий хранение данных на физических узлах (с собственными ЦП, памятью и дисками) и возможность параллельного доступа к ним. При этом реализация весьма эффективна. Технология Madison – это составная часть SQL Server 2008 R2. Клиентские соединения в такой системе проходят через управляющий узел, который обрабатывает запрос и готовит план выполнения с учетом распределения данных по узлам хранилища. Отдельные экземпляры SQL Server, используемые в роли вычислительных узлов, генерируют финальные планы выполнения, отрабатывая свои части запроса. Все это совместимо с ODBC, OLE-DB, ADO.Net и др. (на самом деле, непосредственно к хранилищу пользователи доступа не имеют, работая с так называемыми витринами данных, но этот процесс организован прозрачно для них). На практике это означает, что типичным объемом БД для R2 скоро может стать не терабайтный, а даже петабайтный масштаб.

StreamInsight: анализ на потоке

Проблема, с которой сталкиваются аналитики, – необходимость обрабатывать динамические потоки информации. Обычно анализ выполнялся на статичных данных, которые заведомо не менялись в заданный период. Типичный пример – банковские решения или учетные системы. По завершении операционного или рабочего дня система останавливается, данные проходят финальную обработку, сливаются в хранилища и архивы, после чего могут быть использованы для аналитической обработки. Очевидно, что при такой схеме время реакции на изменения будет ограничено снизу периодом, за который у аналитиков появляется очередной слепок данных. Столь же ясно, что для задач, требующих управления в реальном времени, такой подход малоприменим. В качестве решения проблемы была разработана технология 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 обеспечивается их сопоставление и выявление единых сущностей (на основе анализа атрибутов и правил их комбинирования). Важный момент – работа с версиями данных. Благодаря этой возможности удается обеспечить корректное разрешение коллизий (скажем, если записи справочника были ошибочно отождествлены, их надо разделить) и учета изменений (понятно, что при переходе менеджера по продажам в другой регион его предыдущие продажи должны быть записаны за ним, причем по прошлому месту работы).

Назад Дальше