В ожидании SQL Server 2005
Масштабируемость, надежность, безопасность и другие атрибуты корпоративной СУБД
Маленькие радости администраторов
Любопытные новости для разработчиков
SQL Server 2000 Express Edition
Microsoft SQL Server 2005 Mobile Edition
В предыдущем номере журнала мы коротко рассказали о средствах разработки Visual Studio Team System, которые должны появиться в ближайшее время, и о семействе продуктов Express, а также обещали написать о том, что нового ожидается в Microsoft SQL Server 2005. В отличие от средств разработки и продуктов для конечных пользователей, новые версии серверных СУБД выпускаются не столь часто данный вид программного обеспечения должен обладать повышенной надежностью, что значительно важнее, чем наличие модных новшеств. Тем интереснее узнать о том, что нового ожидается в очередной версии той или иной СУБД подобная информация поможет определиться с выбором СУБД для очередного проекта или решить вопрос, на технологии какого производителя ПО следует ориентироваться при формировании корпоративной инфраструктуры.
том, какими особенностями будет обладать новая версия Microsoft SQL Server SQL Server 2005 (ранее этот проект имел кодовое название Yukon), говорят и пишут уже без малого два года. Теперь, когда работа по созданию этого продукта перешла в завершающую стадию, можно надеяться, что его возможности уже не претерпят значительных изменений. Тем не менее напомним, что речь идет не об окончательной версии продукта, а лишь о бета-версии, поэтому те или иные изменения в нем все же возможны.
Масштабируемость, надежность, безопасность и другие атрибуты корпоративной СУБД
Из новшеств, предназначенных для создания масштабируемых приложений масштаба предприятия, в первую очередь стоит отметить технологию асинхронного обмена сообщениями, носящую название Service Broker. Данная технология дает любому серверному процессу возможность отправлять асинхронные сообщения для другого процесса (например, для другой базы данных или для другой копии SQL Server), используя для этого соответствующие расширения языка T-SQL.
Еще одно новшество SQL Server 2005 cлужбы уведомлений (Notification Services), которые позволяют создавать приложения, отправляющие уведомления клиентам базы данных о наступлении тех или иных событий или согласно заранее определенному расписанию на основании предварительно сделанной ими подписки. Уведомления могут отправляться по электронной почте, с помощью Windows Messenger, на мобильный телефон или на КПК.
Из средств повышения надежности и масштабируемости в первую очередь выделим поддержку устойчивых к сбоям кластеров (Failover Clustering), в основе функционирования которых лежат средства оперативного переноса данных на запасное аппаратное обеспечение в случае аппаратного сбоя основного сервера. Размер подобных кластеров может достигать восьми узлов в зависимости от того, какая именно редакция Windows Server 2003 установлена на сервере баз данных. Отметим, что кластеры, устойчивые к сбоям, могут быть созданы и для аналитических служб, служб уведомлений, средств репликации данных.
Еще одно средство повышения надежности SQL Server 2005 зеркалирование баз данных, основанное на постоянной передаче журнала транзакций с основного сервера на запасной, что позволяет в случае сбоя основного сервера немедленно переключить клиентские приложения на запасной сервер без задержки, поскольку состояние данных на нем синхронно с состоянием данных основного сервера.
Отметим, что SQL Server 2005 будет выпущен в виде не только 32-, но и 64-разрядной версии, поддерживающей процессоры Intel Itanium и AMD Opteron. Таким образом, SQL Server 2005 может оказаться вполне конкурентоспособной и недорогой альтернативой решений на основе UNIX-серверов.
Маленькие радости администраторов
SQL Server 2005 позволяет создавать так называемый моментальный снимок (Snapshot) базы данных. Он создается без применения полного копирования данных создание дополнительных страниц с данными для «снимка» происходит по мере изменения их в оригинальной базе данных. Подобные «снимки» используются с целью восстановления данных после их неудачного изменения.
Механизм репликаций в SQL Server существует достаточно давно серверные СУБД, не поддерживающие подобную возможность, уже давно не воспринимаются всерьез. Из новшеств в этой области отметим возможность использования для репликации протоколов HTTP и HTTPS, а также средства репликации из баз данных Oracle в базы данных SQL Server.
Отметим, что многие операции, производимые с базой данных, теперь не требуют перезапуска сервера (к таким операциям, в частности, относится изменение числа используемых процессоров и объема памяти). Привлекательны также возможность восстановления данных без остановки сервера и средства зеркалирования резервных копий.
Процессы, вызванные операциями с индексами (такие как удаление, перестройка, создание), в SQL Server 2005 не препятствуют выполнению удаления, изменения или добавления данных в таблицу, с которой связан индекс, поскольку они не осуществляют блокировку соответствующих записей.
Из изменений, связанных с управлением защитой данных, отметим в первую очередь измененную концепцию схемы данных. В прежних версиях SQL Server все объекты базы данных принадлежали пользователям, что создавало проблемы при удалении пользователя нужно было произвести определенную работу по изменению владельца таких объектов. В SQL Server 2005 объекты БД принадлежат схемам, а схемы, которых в базе данных может быть несколько, могут, в свою очередь, принадлежать пользователям или ролям. Кроме того, изменились средства управления паролями пользователей (в новой версии SQL Server практически невозможно использовать легко угадываемые простые пароли). Впрочем, безопасность это именно та область, где в самый последний момент могут произойти какие-нибудь изменения (напоминаю, что речь идет о бета-версии продукта, который будет выпущен в следующем году).
Из новых инструментов администрирования отметим появление SQL Server Management Studio, ранее известного как SQL Server Workbench. Этот инструмент объединяет функции инструментов, хорошо известных администраторам предыдущих версий SQL Server: Enterprise Manager, Query Analyzer, Analysis Manager.
Любопытные новости для разработчиков
Одним из основных технологических новшеств ожидающейся версии SQL Server является интеграция с Microsoft .NET Framework 2.0 на уровне наличия Common Language Runtime в самой СУБД. Данная особенность SQL Server 2005 позволяет создавать серверный код на любом CLR-совместимом языке программирования, например на C# или Visual Basic. Такая возможность во многом упрощает создание решений на базе этой СУБД отладив реализацию той или иной функциональности в виде клиентского кода или в виде бизнес-объекта в среднем звене трехзвенного приложения, можно легко создать на его основе код триггера или хранимой процедуры, не прибегая к переписыванию кода на другом языке программирования. Ранее такую возможность предоставляли только продукты компании Oracle.
Создание серверного кода можно осуществить с помощью Visual Studio .NET 2005 данный продукт, планируемый к выпуску одновременно с SQL Server 2005, будет содержать шаблоны проектов, предназначенные для создания хранимых процедур, триггеров, функций, определяемых пользователем. Возможно даже создание определяемых пользователем типов данных и определяемых пользователем агрегатных функций (User Defined Aggregates).
Шаблоны проектов для SQL Server 2005 в Visual Studio 2005
Среди изменений в T-SQL (традиционном языке для создания серверного кода) в первую очередь стоит отметить появление операторов PIVOT и UNPIVOT, позволяющих осуществлять преобразования, характерные для OLAP-систем, триггеров, связанных с изменением метаданных, а также операторов для вывода DDL-операторов.
Новшества в технологии ADO .NET 2.0 (составной части .NET Framework 2.0) во многом определяются возможностями SQL Server 2005. Из этих новшеств в первую очередь отметим поддержку серверных курсоров (она присутствовала в ADO, но отсутствовала в прежних версиях ADO .NET), поддержку асинхронных запросов и уведомлений, возможность получения множественных наборов данных в результате одного запроса, поддержку наборов команд SQL, а также новый класс SqlDataTable, предназначенный для доступа к таблицам и более простой в использовании, нежели известный .NET-разработчикам класс DataTable.
В области поддержки Web-сервисов отметим возможность создавать Web-сервисы в самой базе данных, позволив СУБД получать HTTP-запросы к ним. Это позволяет создавать приложения, обращающиеся к данным по протоколу HTTP, инициирующие выполнение запросов к ним, осуществляющие вызовы процедур и функций и при этом не требующие для этой цели HTTP-сервера (такого как Internet Information Services).
Из новых объектных моделей SQL Server отметим SQL Management Objects (SMO), основанные на управляемом коде и предназначенные для создания приложений, содержащих функции администрирования БД. Объекты SMO предназначены для замены объектной модели SQL-DMO, использовавшейся для создания подобных приложений, хотя последнюю можно применять с данной версией SQL Server.
Средства бизнес-анализа
В аналитических службах и иных средствах, предназначенных для бизнес-анализа, появилось много новых инструментов и средств. В частности, аналитические службы в новой версии SQL Server поддерживают описанные выше кластеры, устойчивые к сбоям, средства резервного копирования и восстановления данных, средства поддержки выполнения нескольких копий сервера аналитических служб. Из средств повышения масштабируемости отметим удаленную аналитическую обработку данных, создание распределенных OLAP-кубов, упреждающее кэширование данных при обработке кубов с целью предотвращения перегрузки запросами исходной реляционной базы данных.
Из средств, упрощающих создание OLAP-кубов, отметим средство One-Click Cube, позволяющее создать куб с помощью сделанных аналитическими службами предположений о возможных таблицах фактов и измерений, а также о возможных мерах будущего куба (предположения делаются на основе структуры исходной базы данных), а кроме того, существенные изменения в визуальных средствах создания кубов и моделей. Помимо этого инструмента аналитические службы пополнились большим количеством мастеров, упрощающих создание и визуализацию кубов, моделей Data Mining, отчетов.
Аналитикам, проектирующим OLAP-кубы, будет интересно узнать о том, что в SQL Server 2005 появилась поддержка многоязычных кубов, позволяющая хранить и в нужный момент отображать аналитические данные на разных языках. Для пользователей технологии Data Mining в SQL Server 2005 включено несколько новых алгоритмов, в том числе алгоритмов интеллектуального анализа текстов (Text Mining) и нейросетевых алгоритмов (этим алгоритмам и их реализации в данной СУБД мы посвятим отдельную статью после выхода окончательной версии SQL Server 2005).
Инструмент проектирования OLAP-кубов
Для анализа эффективности бизнес-процессов и самого бизнеса в аналитические службы включено средство под названием Key performance indicators (KPIs), позволяющее осуществить анализ развития бизнеса, оценить его тенденции и текущее состояние. Средства отображения Key performance indicators могут быть использованы в качестве составных частей (портлетов, веб-частей) корпоративных порталов и бизнес-приложений.
Из изменений, интересных разработчикам, отметим поддержку хранимых процедур в базах данных аналитических служб, средства создания скриптов на языке MDX для описания вычисляемых членов измерений и вычисляемых ячеек. Особо стоит отметить давно обещанную поддержку спецификации XML for Analysis (XML/A) для разработки клиентов аналитических служб. При этом сохраняется и поддержка прежних технологий доступа к OLAP-данным OLE DB for OLAP, ADOMD, ADOMD .Net. Для замены объектной модели SQL DSO предназначена модель Analysis Management Objects (AMO), поддерживающая вышеперечисленные новшества аналитических служб.
Средство анализа Key performance indicators
Особо стоит отметить средства интеграции аналитических служб с приложениями Microsoft Office, службами отчетов и технологиями SharePoint. В частности, с помощью служб SharePoint можно подписываться на отчеты, созданные службами отчетов SQL Server, генерировать их новые версии, распространять отчеты, открывать их в приложениях Microsoft Office.
«Маленькие» версии
SQL Server 2000 Express Edition
В предыдущем номере нашего журнала мы писали о семействе продуктов Express, ориентированном на широкую аудиторию разработчиков. В это семейство, помимо средств разработки приложений Visual Web Developer Express Edition, Visual C# Express Edition, Visual C++ Express Edition, Visual J# Express Edition, Visual Basic Express Edition, входит и СУБД Microsoft SQL Server 2000 Express Edition. Эта версия является дальнейшим развитием Microsoft Server 2000 Desktop Engine (MSDE) и, как и последняя, является бесплатной. Данный продукт основан на том же самом ядре, что и другие версии SQL Server 2005, и для доступа к нему используются те же самые механизмы доступа к данным. Однако этот продукт обладает определенными ограничениями по сравнению с коммерческой версией SQL Server 2005. SQL Server 2005 может выполняться на многопроцессорных серверах, но будет использовать только один процессор; эта СУБД обладает ограничением на размер буферов, равным 1 Гбайт, и ограничением на размер самой базы данных он не должен превышать 4 Гбайт (зато самих баз данных может быть сколь угодно много). Кроме того, у данного продукта отсутствуют некоторые возможности, характерные для коммерческих версий SQL Server, а именно: средства полнотекстового поиска, поддержка кластеров и зеркалирования данных, средства генерации отчетов и некоторые другие средства Business Intelligence, SQL Server Management Studio (вместо него можно использовать другой инструмент администрирования SQL Server Express Manager). В целом же для решения относительно несложных задач, задействующих небольшие базы данных, технические характеристики данной бесплатной СУБД представляются весьма привлекательными пожалуй, я использую ее в одном из своих проектов…
Microsoft SQL Server 2005 Mobile Edition
SQL Server 2005 Mobile Edition, следующая версия SQL Server Windows CE Edition, представляет собой решение для платформ Pocket PC, Tablet PC и для будущей версии Microsoft SmartPhone на базе Windows Mobile. Управление этой СУБД можно осуществлять с помощью SQL Server Management Studio, создав БД и ее объекты для мобильного устройства на настольном компьютере или непосредственно на самом устройстве. С помощью этой же утилиты можно создать подписку на данные из обычной серверной БД, выполнять запросы к SQL Server 2005 Mobile Edition с настольного компьютера, просматривать план и осуществлять оптимизацию этих запросов, а также использовать с этой СУБД средства трансформации данных.
***
Исходя из особенностей SQL Server 2005 beta 2 будущая СУБД от Microsoft представляется весьма многообещающим продуктом, которым наверняка заинтересуются многие компании-разработчики и системные интеграторы. Впрочем, ждать выхода ее окончательной версии осталось недолго.