История Microsoft SQL Server насчитывает уже не один десяток лет. Изначально созданный как язык для небольших и средних баз данных, в последние пять лет он стал активно позиционироваться Microsoft для крупных БД масштаба предприятия и на данный момент уже составляет конкуренцию другим СУБД в этом сегменте рынка.


Новые формы дизайна AS
Новые формы дизайна AS

Очередная версия СУБД — SQL Server 2008 — известна под кодовым названием Katmai, ее выход запланирован на третий квартал текущего года. Этот продукт был существенно доработан и теперь включает такие принципиально новые и важные возможности, как управление данными, базирующееся на самонастраивающемся, самоорганизующемся и самообслуживающемся механизме, а также работа с нереляционными данными. В данном обзоре мы остановимся на наиболее интересных и значимых, на наш взгляд, для корпоративного пользователя дополнениях и новинках.

Быстродействие и отказоустойчивость

В целях сокращения времени простоя, разработчики встроили в SQL Server 2008 режим “always on”. Он базируется на четырёх базовых принципах: зеркалировании, кластеризации, репликации и онлайновых операциях.

Зеркалирование призвано обеспечить бесперебойность работы при отказе основного сервера. Для получения дополнительного доступа к данным возможно сконфигурировать зеркальный сервер так, что обращение к зеркальной копии будет осуществляться только в режиме чтения. При сбоях, связанных с физическим повреждением данных, сработает поддержка целостности данных и будет сделана попытка автоматического восстановления страниц данных, расположенных на диске (правда, эта функция будет поддерживаться лишь в SQL Server 2008 Enterprise Edition). При включенных механизмах зеркалирования происходит постоянный обмен информацией из журнала транзакций, однако передача больших объемов данных может спровоцировать задержки или нагрузки на сеть. Поскольку это негативно влияет на работу пользователей, SQL Server применяет сжатие потока исходящих данных, что снижает нагрузку на сеть. Стоит отметить, что применение зеркалирования не требует никакого вмешательства в приложения пользователей.

Кластеризация позволяет повысить доступность и защищённость как отдельных баз данных, так и всего SQL Server в целом. В SQL Server 2008 устранены такие ограничения предыдущих версий на создание кластеров, как, например, использование однобуквенного названия диска или необходимость соблюдения условия, что все узлы кластера принадлежат одной подсети. Для клиентов кластер выглядит как отдельный объект, однако в случае сбоя одного из серверов, включенных в кластер, происходит автоматическое переключение между ними. При работе на платформе Windows Server 2008 допускается создавать кластеры с количеством до шестнадцати серверов.

SQL Server 2008 поддерживает три технологии репликации: репликацию для работы распределённых приложений – snapshot, транзакционную (transactional) и объединительную (merge). Новые утилиты позволяют конфигурировать транзакционные репликации в режиме peer-to-peer. В ранних версиях СУБД при репликации в таком режиме добавление нового узла требовало остановки сервера. В SQL Server 2008 установка новых узлов не будет прерывать работы бизнес-критичных приложений. Дополнительным удобством является визуальное предоставление топологии сети и возможность ее модифицирования, которая обеспечивается при помощи Topology Viewer.

Управление индексами и проведение операций восстановления данных может осуществляться без остановки выполнения процессов, запущенных на сервере. А в SQL Server 2008 Enterprise Edition добавление вычислительных ресурсов или памяти, при соблюдении определенных условий, происходит без остановки самого сервера.

Защита данных

Для корпоративного сегмента защита данных имеет огромное значение. При установке SQL Server 2008 по умолчанию задействуются лишь базовые функции безопасности, не включаются такие функции, как интегрированная поддержка CLR, отладка, зеркалирование Service Broker, SQL Mail. При необходимости эти функции могут быть активированы администратором с помощью программы конфигурирования Surface Configuration Tool.

SQL Server 2008 обладает более широкими функциями безопасности, чем предыдущие версии. По сравнению с SQL Server 2005 расширена схема аутентификации и авторизации, администратору доступна возможность использования иерархической модели для распределения прав на уровне сервера, базы данных или схемы.

Реализована возможность многоуровневого аудита — как на уровне базы данных, так и на уровне сервера, с гибкими настройками отслеживания обращений к объектам. Аудит позволяет регистрировать все модификации данных, неудачные попытки подключения к системе, не требуя больших затрат системных ресурсов.

Policy Based Management позволяет создавать триггеры для отcлеживания производительности базы данных. Условия сканирования задаются путем настройки политик. Значительно упростит настройку системы на корпоративном уровне возможность переноса настроек аудита с сервера на сервер, то есть из множества серверов можно выделить основной и применить его политики на остальных. Также в систему встроен механизм шифрования данных при записи и считывании с диска. При этом доступно создание индексов, что делает возможным поиск по зашифрованным данным.

Масштабируемость

Очевидно, что любая современная система хранения, а тем более система, рассчитанная на корпоративного пользователя, рано или поздно потребует масштабирования. При разработке SQL Server 2008 были учтены некоторые аспекты работы с растущим количеством данных. Во время подключения к базе данных большого количества пользователей или приложений возможны ситуации монополизации ресурсов либо возникновение неоптимизированных запросов. Microsoft предложила решение этого вопроса в виде нового средства управления ресурсами — Resourse Governor, который дает возможность проактивно управлять использованием ресурсов. Его функционирование основано на задании приоритетов и границ для выполняющихся процессов и задач в зависимости от нагрузок на систему.

В ядро СУБД встроена поддержка различных типов данных, в том числе xml, varchar, varbinary, vardecimal, что позволит оптимизировать хранение растущих объёмов информации и, следовательно, повысить производительность. Также разработан механизм сжатия и создания резервных копий данных, который дает возможность снизить требования к самому хранилищу и тем самым увеличить быстродействие системы.

В настоящее время приобрел особую важность вопрос синхронизации данных, ведь бизнес становится все более мобильным, сотрудникам часто приходится работать вне офиса. В SQL улучшена схема синхронизации данных. Если сотрудник отсутствует на рабочем месте, но на его мобильном устройстве установлена SQL Server 2008 Compact Edition, он имеет возможность синхронизировать данные с основной базой и перенести в свою только произошедшие изменения. В новой версии улучшена система хранения XML-данных: увеличилась производительность работы с ними и возможности их валидации.

Администрирование

В SQL Server 2008 предусмотрено централизованное администрирование с единым интерфейсом. Большинство задач, возникающих при обслуживании серверов и баз данных, автоматизированы, классифицированы и могут быть решены при помощи SQL Server Agent — компонента, встроенного в SQL Server 2008. Управление может осуществляться централизованно на уровне настраиваемых политик, причем предусмотрено применение триггеров для принудительного их выполнения. Полезным свойством является возможность сбора данных о производительности с исторической перспективой на базе компонента Performance Data Collection. Такой анализ позволяет спрогнозировать необходимость покупки нового дискового пространства или момент пиковой нагрузки на базу данных.

Ожидается, что переход на SQL Server 2008 с предыдущих версий не вызовет больших затруднений, несмотря на многочисленные изменения и отсутствие поддержки некоторых функций прошлых версий. Преодолеть трудности, связанные с обновлением версии, поможет инструментарий Database Upgrade Adviser.

Работа с данными и бизнес-аналитика

В новой версии реализованы переработанная система построения отчетности для Business Intelligence, усовершенствованные интеграционные и аналитические сервисы. Появится возможность при создания отчетов делать группировки по столбцам, совмещать статические и динамические поля таблиц. На основании многомерных, реляционных или XML–данных можно строить интерактивные, табличные, графические отчеты и отчеты произвольной формы. Предусмотрено множество форматов просмотра отчетов и возможность экспортировать данные в Word, Excel и другие форматы, а также возможность использования более мощных графических средств.

В SQL Server 2008 выделено два базовых подхода к бизнес–аналитике: использование многомерных данных и средства Data Mining. Первый подход позволяет создавать многомерные структуры, которые консолидируют данные, полученные из разных источников. SQL Server 2008 включает в себя средства для нисходящего анализа больших объемов данных с целостной структурой.

Data Mining — специальный компонент, содержащий набор стандартных алгоритмов для работы с данными, — может быть применен для отслеживания изменений главной базы данных с целью накопления аналитической информации. Также с его помощью можно создавать и исследовать модели, выполнять анализ и прогнозы, основываясь на находящихся в них данных. Помимо этого, появились дополнительные методы обзора данных, усовершенствованы структуры данных, включены возможности фильтрации внешних наборов данных и реализована функция получения доступа к структурам данных, находясь на уровне структур, непосредственно из моделей.

Приятной новостью для разработчиков окажется возможность динамической разработки приложений, работающих с БД, расширение типов данных и способов их хранения.

Выход SQL Server 2008 ожидается в нескольких базовых вариантах: Standard Edition, Enterprise Edition и Developer Edition. Последняя обладает всей функциональностью Enterprise Edition без права использования ее в качестве платформы для коммерческих продуктов.