Младшие в семействе, но в дело годятся

В состав SQL Server 2005 включены два новых продукта, каждый из которых является подмножеством SQL Server 2005 Standard Edition. Первый из них, SQL Server 2005 Express Edition, распространяется бесплатно и ориентирован на тех разработчиков, которым требуется встраивать в приложения базы данных. SQL Server 2005 Workgroup Edition представляет собой слабомасштабируемую, но недорогую версию SQL Server 2005 Standard, предназначенную для использования в небольших подразделениях и сфере малого бизнеса. В таблице приведены сравнительные данные по этим двум версиям. Давайте рассмотрим более подробно, что представляет собой каждая из них.

SQL Server Express: что внутри?

SQL Server Express — это представитель нового поколения Microsoft SQL Server 2000 Desktop Engine (MSDE). Работая в связке с любой из версий Visual Studio (VS) 2005 Express, данный продукт предоставляет весьма гибкую среду для разработки Web- и Windows-приложений.

Так как в SQL Server Express используется тот же самый реляционный механизм для работы с базами данных, что и в SQL Server 2005, то здесь поддерживаются многие из тех функций, которые имеются в других версиях SQL Server 2005, в том числе расширенные возможности баз данных (например, хранимые процедуры и триггеры), интеграция с Common Language Runtime (CLR), полноценная поддержка XML, а также интеграция с VS 2005. Однако в SQL Server Express, в отличие от других версий SQL Server 2005, отсутствуют графические средства управления, такие как SQL Server Management Studio. В будущем Microsoft планирует исправить этот недостаток и выпустить «облегченную» версию SQL Server Management Studio. Еще одним существенным ограничением функциональности данного продукта является отсутствие в нем компонента SQL Server Agent (который был в MSDE), поэтому в SQL Server Express отсутствует встроенная поддержка планировщика заданий.

SQL Server Express может использоваться разработчиками или системными интеграторами для реализации интерфейса к базам данных в автономных или встраиваемых приложениях (Microsoft разрешает разработчикам свободное распространение SQL Server Express). Распространение обновлений и исправлений для SQL Server Express выполняется автоматически через Windows Update. Развертывание продукта осуществить очень просто, поскольку для этого в SQL Server Express используется технология ClickOnce (один щелчок мыши). Но при этом следует учитывать, что объем предназначенного для загрузки комплекта SQL Server Express составляет около 69 Мбайт, к тому же требуется еще и Windows .NET Framework 2.0, поэтому если канал связи медленный, то придется проявить некоторое терпение. Развертывание баз данных происходит путем обычного копирования файлов баз, аналогично тому, как это проделывалось для баз данных Jet. Следует добавить, что SQL Server Express может выступать в качестве подписчика в репликациях транзакций и слияния. В SQL Server Express имеется автономный механизм построения отчетов, реализованный через поддержку органов управления SQL Server 2005 Reporting Services (которые включены в VS 2005).

Пакет SQL Server Express может работать как компонент системы, обеспечивающей высокую степень отказоустойчивости данных, построенной на базе SQL Server 2005 Standard или SQL Server 2005 Enterprise Edition. В SQL Server 2005 Standard и SQL Server 2005 Enterprise добавлена новая функция повышения отказоустойчивости данных. Речь идет о зеркалировании баз данных (database mirroring); предполагается, что эта функция появится уже в первой половине 2006 года. Суть ее заключается в том, что записи журналов непрерывно передаются с основного (principal) сервера на сервер, являющийся его зеркальным отражением (mirror). Для реализации механизмов автоматического восстановления после сбоев может быть дополнительно задействован третий, удостоверяющий (или свидетель, witness) сервер. В качестве третьего компонента системы можно использовать SQL Server Express, при этом отпадает необходимость в закупке дополнительных лицензий.

Следует отметить, что в некоторых случаях использования SQL Server Express потребуется платная лицензия. Например, если SQL Server Express является подписчиком репликации, то для него, как для клиента издателя, необходима лицензия. Клиентская лицензия потребуется и в том случае, если для управления SQL Server Express применяется SQL Server Management Studio.

В SQL Server 2000 можно было использовать базы данных Microsoft Access в качестве абонентов репликациях слияния; что касается SQL Server 2005, то здесь поддержка абонентов Access отсутствует. Поэтому, если требуется выполнять такого рода репликации, необходимо произвести обновление баз данных Access до уровня SQL Server Express.

Масштабируемость и производительность

SQL Server Express поддерживает системы с одним процессором и оперативной памятью емкостью 1 Гбайт; максимальный размер базы данных составляет 4 Гбайт. Для сравнения, MSDE поддерживает два процессора, оперативную память объемом 2 Гбайт, а максимальный размер базы данных составляет 2 Гбайт. Но MSDE имеет механизм регулирования (governor), наличие которого приводит к снижению производительности системы при одновременном выполнении более восьми операций. Следовательно, в тех случаях, когда имеет место большое количество одновременных обращений к системе, использование SQL Server Express обеспечивает выигрыш в производительности по сравнению с MSDE.

В SQL Server Express реализована технология Application XCopy, которая позволяет перемещать, копировать и отсылать по электронной почте локальные базы данных вместе с приложением. В данном пакете, как и в MSDE, для всех созданных баз данных по умолчанию включена функция AutoClose, обеспечивающая автоматическое отключение исполнительного механизма от файла базы данных при закрытии последнего подключения к SQL Server Express. При этом также снимается блокировка с файла базы данных, что позволяет перемещать или копировать его посредством XCopy. Здесь нужно заметить, что в автономных приложениях функция AutoClose работает хорошо, но в тех случаях, когда имеет место большое количество одновременных подключений, например в Web-приложениях, функцию AutoClose лучше отключить, чтобы избежать больших накладных расходов, обусловленных необходимостью повторной установки соединений с базой данных.

Что содержит SQL Server 2005 Workgroup?

Пакет SQL Server 2005 Workgroup представляет собой полноценный реляционный механизм работы с базами данных, но при этом он имеет ограниченную, по сравнению с системами уровня предприятия, масштабируемость, а также лишен тех широких возможностей в области BI, которые реализованы в более дорогостоящих версиях Standard и Enterprise. Продукт SQL Server 2005 Workgroup позиционируется как средство для работы с базами данных начального уровня, но если в дальнейшем потребуются более продвинутые возможности и мощность, он может быть легко обновлен до версии Standard или Enterprise. Те пользователи, которые приобретают SQL Server с правом перехода на последующие версии (лицензионное соглашение Software Assurance, SA), имеют возможность получить новую версию продукта, уплатив только разницу в стоимости. SQL Server 2005 Workgroup, так же как версии Standard и Enterprise, лицензируется по количеству заполненных слотов процессоров, но не по количеству ядер на процессоре. Из этого следует, что современные многоядерные процессоры, содержащие два процессора в одном корпусе, лицензируются как один процессор. Процессоры, поддерживающие многопоточность (hyperthreading), при лицензировании также рассматриваются как один процессор. Точно так же обстоят дела и в SQL Server 2000.

Если приложение интенсивно использует процессор или оперативную память, если предполагается наличие большого количества одновременных обращений к базе или если объем сохраняемых данных может превышать 4 Гбайт, тогда вместо SQL Server 2005 Express нужно использовать SQL Server 2005 Workgroup. В данном продукте имеются те возможности управления, которых лишен пакет SQL Server 2005 Express, а именно SQL Server Agent и Database Tuning Advisor (DTA). Доступ к этим функциям можно осуществлять через программное средство SQL Server Management Studio, которое входит в комплект поставки всех версий SQL Server 2005, за исключением SQL Server Express. Наличие компонента SQL Server Agent позволяет организовывать выполнение по расписанию процедур обслуживания баз данных и резервного копирования, используя для этого в качестве инструмента удобный интерфейс SQL Server Management Studio.

Благодаря SQL Server 2005 Workgroup организация системы с высокой степенью отказоустойчивости данных может обойтись сравнительно недорого. Имеющаяся в данном продукте функция переноса журналов транзакций позволяет делать копию рабочей базы данных в пассивную резервную базу без необходимости приобретения еще одной лицензии на базу данных. В случае отказа основного сервера резервный сервер анализирует журнал транзакций и выясняет, в какой именно момент произошел сбой на основном севере. В SQL Server 2005 Workgroup отсутствует поддержка зеркалирования баз и построения отказоустойчивых кластеров, которая имеется в более дорогостоящих версиях продукта. Зато здесь есть поддержка репликации, причем как в качестве подписчика, так и в качестве издателя. Однако новая функция репликации из Oracle в SQL Server 2005 включена только в состав пакета SQL Server 2005 Enterprise.

SQL Server Integration Services (SSIS) пришли на смену службе DTS, существенно расширив ее возможности. В SQL Server 2005 Workgroup отсутствует инструментарий для построения пакетов SSIS, но здесь имеется исполнительная среда SSIS, поэтому пакеты SSIS, созданные на системах с SQL Server 2005 Standard или Enterprise, могут затем запускаться в среде SQL Server 2005 Workgroup.

Когда в 2004 году компания Microsoft анонсировала SQL Server 2000 Workgroup, ее целью было предоставить недорогое решение для работы с реляционными базами данных без тех функций интеграции, построения отчетов и анализа, которые имелись в SQL Server 2000 Standard и Enterprise. В случае с SQL Server 2005 Workgroup Microsoft придерживается той же философии, но в данный продукт добавлена некоторая функциональность в области BI. Например, служба SQL Server 2005 Reporting Services, с помощью которой можно создавать и представлять отчеты, а также управлять ими, реализована в SQL Server 2005 Workgroup в виде компонента Report Builder — нового, специально разработанного пользовательского инструмента для построения запросов. Но одна из функций BI не вошла в состав SQL Server 2005 Workgroup. Речь идет об Analysis Services, компоненте SQL Server, обеспечивающем работу механизмов многомерного оперативного анализа (Online Analytical Processing, OLAP) и извлечения данных.

Возможности выбора

Выход SQL Server Express должен предоставить много преимуществ тем пользователям MSDE, которые страдали из-за отсутствия надежного и простого инструмента управления. Обладая гораздо большими возможностями и лучшей производительностью по сравнению с MSDE, SQL Server Express становится весьма подходящим вариантом для обновления версии.

Джон Пол Кук - Архитектор систем и баз данных из Хьюстона, Техас. Специализируется на помощи крупным компаниям и пользователям в работе с SQL Server, Oracle, и .NET Framework. Имеет несколько сертификатов Microsoft и Oracle. johnpaulcook@email.com

Тайлер Чесман - Специалист по технологиям в South Central District компании Microsoft, отвечает за адаптацию у клиентов платформ Database и Business Intelligence. До прихода в Microsoft несколько лет работал консультантом по вопросам развертывания финансовых, аналитических и торговых приложений. tylerc@microsoft.com