SQL Server 2008: мнение эксперта

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

SQL Server лидирует на рынке и в масштабируемости, и в производительности. SQL Server — первая и единственная СУБД, показывающая стабильные результаты по TPC-E, в новом и наиболее сложном тесте обработки транзакций в реальном времени (OLTP) Совета по оценке производительности обработки транзакций (Transaction Processing Performance Council) с 13 опубликованными на настоящий момент результатами.

В тестировании на решениях компаний — разработчиков ПО SQL Server 2008 также устанавливает рекорды производительности. В качестве примеров можно вспомнить мировой рекорд на четырехъядерных блейд-серверах по трехуровневому тестированию SAP Sales and Distribution (SD) Standard Application benchmark, а также лучшие из когда-либо достигнутых результатов для Siemens Teamcenter digital product life-cycle management solution, Microsoft Dynamics CRM, Microsoft Dynamics AX и Camstar Manufacturing Execution System solution.

Новая СУБД доступна в нескольких редакциях:

  • SQL Server 2008 Enterprise — для масштабных ИТ-систем крупного бизнеса и центров обработки данных;
  • SQL Server 2008 Standard — для среднего и малого бизнеса или для использования в отдельных структурах крупных предприятий;
  • SQL Server 2008 Workgroup — для ИТ-систем небольших филиалов организаций;
  • SQL Server 2008 Web — для web-приложений или хостинга;
  • SQL Server 2008 Developer — для разработки, тестирования и демонстрации ПО;
  • SQL Server 2008 Express (бесплатная версия) — для студентов и всех желающих освоить работу с СУБД, а также для создания настольных приложений;
  • SQL Server Compact 3.5 — бесплатная встраиваемая база данных для автономных и редко синхронизируемых приложений для мобильных устройств, настольных компьютеров и веб-клиентов.

В настоящее время организации смогут приобрести лицензии на английскую версию SQL Server 2008 по любым программам корпоративного лицензирования, при этом они получают право по лицензии на английскую версию SQL Server 2008 установить SQL Server на 32- либо 64-разрядной или Itanium-платформе, переходить на любую из предыдущих версий, включая SQL Server 2005, а также использовать любую языковую версию, в том числе русскую версию SQL Server 2008, которая появится в январе 2009 года.

О том, чем хорош SQL Server 2008, рассказывает Алексей Шуленин, эксперт по технологиям обработки и анализа информации департамента стратегических технологий «Microsoft Россия».

КомпьютерПресс: Алексей, я начну с традиционного для подобных интервью вопроса. Почему корпоративные пользователи должны внедрять новую версию SQL Server, а разработчики и системные интеграторы — использовать ее в своих решениях?

Алексей Шуленин: Вопрос действительно традиционный. Он справедлив в отношении любого продукта — от настольных приложений до операционных систем. Зачем переходить на новую версию, когда старая вполне устраивает? Ответ очевиден: потому что новая версия удобнее, обладает более мощными возможностями и позволяет решать более широкий спектр задач с меньшими трудозатратами, словом — она лучше. Если бы человечество не двигалось по этому пути, оно бы до сих пор пользовалось инструментами каменного века. С практической точки зрения программные инструменты — такие же средства производства, и от их эффективности зависит, насколько успешным будет предприятие в процессе эволюционного отбора, который называется конкурентоспособностью бизнеса.

 

Рисунок

КП: Вопросы безопасности и надежности сегодня являются одними из самых актуальных. Что нового с этой точки зрения предлагается в SQL Server 2008?

А.Ш.: Безопасность — это вопрос первостепенной важности для любого сервера баз данных, и, естественно, Microsoft SQL Server не является исключением. Коль скоро его основными задачами являются хранение и обработка данных, необходимо сделать эти процессы максимально надежными и защищенными. Я упомяну о двух актуальных возможностях, появившихся в этом плане в SQL Server, — это прозрачное шифрование данных и управление внешними ключами — ЕКМ (External, или, как их еще иногда называют в литературе, Extensible Key Management).

Возможности шифрования чувствительной информации существуют в SQL Server уже давно. SQL Server 2005 имела функции шифрования на уровне отдельных записей и полей таблиц при помощи паролей, симметричных и асимметричных ключей и сертификатов на основе встроенных алгоритмов DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128-bit RC4, DESX, 128-bit AES, 192-bit AES, 256-bit AES, RSA_512, RSA_1024, RSA_2048. В SQL Server 2008 добавилась более удобная для администраторов возможность — прозрачное шифрование всей базы, когда ее страницы данных хранятся на диске в зашифрованном виде. Делается это в один прием при помощи команды ALTER DATABASE. При записи из памяти на диск они автоматически зашифровываются, а при чтении происходит обратный процесс. По этой причине пользовательские приложения сохраняют работоспособность, в них не требуется вносить какие-либо модификации при включении шифрования над базой.

Можно использовать сколь угодно сложные криптографические алгоритмы, однако если сертификаты, которыми защищены данные, хранятся там же, на сервере БД, то это все равно что поставить в дверь дорогой замок и положить ключ под коврик. Использование ЕКМ в SQL Server 2008 позволяет разделить данные и секрет. Во-первых, ключ шифрования может быть не цифровым, а аппаратным. Это значит, что для его взлома потребуется более трудоемкий процесс послойного травления схемы и разглядывания ее под микроскопом, который к тому же не дает гарантированного результата. Во-вторых, ключ может предоставляться удаленным веб-сервисом. Сами данные хранятся локально, процесс их обработки происходит тоже локально, однако обрыв соединения означает, что они не смогут быть расшифрованы. Аналогично ключ может храниться в цифровом представлении на обычной флэшке. В экстренной ситуации достаточно вынуть ее, и данные примут вид бессмысленного набора символов. Применение одного из известных в криптографии методов разделения секрета позволяет обобщить этот подход на ситуации, когда n человек обладают правом расшифровывать данные, при этом не менее m из них должны собраться вместе (грубо говоря, вставить свои флэшки, приложить отпечатки пальцев, повернуть ключи и т.д.), чтобы осуществить этот процесс. Выбывание любого из этих m опять-таки делает данные нечитаемыми. Наконец, это может быть не флэшка, а специализированный HSM, который разгрузит вычислительные мощности компьютера с установленным SQL Server 2008, взяв на себя функции шифрования/дешифрования.

КП: Что было сделано разработчиками SQL Server для увеличения производительности этой СУБД? Каким образом вам удалось достичь столь рекордных показателей при нагрузочном тестировании?

А.Ш.: В этом направлении было сделано очень много изменений. Однако большинство из них лежит в глубине исполнительного механизма SQL Server и рассказ о них будет достаточно узкоспециализированный. Например, когда запрос разделяется на несколько разделов фрагментированной таблицы, в предыдущей версии на каждый раздел выделялось по одному потоку. Несколько потоков могли работать одновременно по одному разделу лишь в случае, если запрашивался только один раздел. В SQL Server 2008 выделяются сразу все доступные потоки поочередно на каждый раздел таблицы, необходимый запросу, и далее по кругу. Это приблизительная картина, но ее хотя бы вкратце можно обрисовать. Со следующими моментами будет сложнее. Например, чтобы рассказать, почему в SQL Server 2008 улучшилась обработка «звездных» связей, характерных для аналитических запросов, нам придется вспомнить, чем OLAP-схема отличается от OLTP, какие алгоритмы отработки связей применяет оптимизатор, как видоизменяется Hash Join в случае параллельного выполнения, что такое битовый фильтр и чем он отличается от битового индекса, почему битовый фильтр полезен при разрешении полусвязей, и после этого плавно перейти к тому, что же было оптимизировано в битовых фильтрах в SQL Server 2008. Я боюсь, что в итоге рассказ выйдет за рамки интервью. Поэтому проще сказать, что все было хорошо, а стало еще лучше.

О предыдущей версии в свое время рассказывать было эффектней в том плане, что там было больше нововведений, лежавших, если можно так выразиться, на поверхности и носивших более наглядный характер. В связи с этим в отдельных резких высказываниях SQL Server 2008 иногда именуют «дот-релизом», подразумевая, что порядковый номер версии у нее должен быть не круглым (10), а, скажем, 9.5. Релиз SQL Server 2008 действительно является эволюционной по сравнению с SQL Server 2005, однако это не значит, что новшеств в ней реализовано существенно меньше. К тому же если мы посмотрим на историю линейки продуктов SQL Server, то увидим, что именно эволюционные релизы, такие как 6.5 и 2000, в бытность свою длительное время выступали в роли неприхотливых и безотказных рабочих лошадок на громадном числе предприятий — от небольших офисов до корпораций.

Из некоторых дополнительных улучшений в производительности хотелось бы отметить поддержку горячего добавления памяти и процессоров в корпоративной редакции; добавление новых операторов в язык Т-SQL в соответствии со стандартом, например MERGE, позволяющего за один проход массивной таблицы фактов применить к ней одновременно и новые записи (INSERT), и модификацию имеющихся (UPDATE); сжатие данных на уровне полей и страниц, а также разреженные колонки, что позволяет дополнительно поднять производительность за счет того, что мы начинаем оперировать большим объемом данных за одну операцию ввода-вывода — это опять-таки в основном ориентировано на работу с хранилищами; сокращение времени создания резервной копии благодаря компрессии резервных копий и др.

КП: Что нового теперь доступно в аналитических службах SQL Server и средствах создания отчетов? Чем они интереснее клиентам и разработчикам по сравнению с инструментами анализа данных других производителей?

А.Ш.: Сразу договоримся, что я не буду проводить сравнение с продуктами других производителей. Не оттого, что мы им в чем-то уступаем. Напротив, вы можете видеть, что Microsoft является абсолютным лидером на рынке OLAP (http://olapreport.com/market.htm) и занимает лидирующие позиции по средствам BI в целом (http://mediaproducts.gartner.com/reprints/microsoft/vol7/article3/article3.html). Просто для вынесения квалифицированного суждения, почему тот или иной продукт тем-то и тем-то хорош, его нужно хорошо знать. Поэтому остановимся на SQL Server. Новшествами аналитического сервера являются многочисленные улучшения в дизайне многомерных объектов; новые графические инструменты, позволяющие разработчикам витрин данных более эффективно решать задачи проектирования кубов и агрегатов, а также атрибутов измерений и отношений между ними. В процессе работы проектировщику выдаются предупреждения и подсказки на основе лучших практик, аккумулированных в продукт. Увеличена производительность выполнения запросов в различных сценариях благодаря применению таких механизмов, как блочные вычисления, обратная запись в куб на основе MOLAP (запросы типа «что если…»), усовершенствования в языке MDX (например, динамические множества). Расширены возможности по оптимизации аналитических решений и мониторинга ресурсов за счет использования DMV (Dynamic Management Views) для Analysis Services.

Изменения в службах отчетности можно разделить на две большие группы: архитектурные изменения и изменения в средствах дизайна отчетов. К первой группе прежде всего относится встроенная поддержка для HTTP.SYS, что исключает зависимость от веб-сервера. Сервер отчетности обеспечивает самостоятельный хостинг ASP .NET и других технологий .NET Framework, встроенных в SQL Server CLR. Ранее разрозненные службы, отвечавшие за интерактивную обработку отчетов, выполнение отчетов по расписанию и их доставку и др., сведены в единый сервис для удобства поддержки и сокращения административных издержек. Ко второй группе следует отнести дополнительные элементы управления, появившиеся в дизайнере отчетов. Это и пресловутый табликс, сочетающий возможности таблиц с фиксированным числом колонок, сводных таблиц и списков, и многочисленные новые типы графиков, лицензированные у компании Dundas, и возможность экспорта отчетов в формат MS Word, относительно добавления которой высказывались многочисленные пожелания. Эти и другие новшества делают более удобным процесс подготовки и восприятия отчетов, что, на мой взгляд, особенно важно, поскольку наглядная форма отчетности в значительной мере способствует претворению информации, хранящейся в базах данных, в управленческие решения, то есть именно в этой фазе мы достигаем осязаемого бизнес-эффекта от внедрения систем обработки данных.

КП: В новостях о выпуске новой СУБД сообщалось о поддержке хранения геопространственных данных. Можно ли подробнее узнать, в чем она заключается, какие стандарты хранения геопространственных данных поддерживаются, для каких ГИС-систем предназначен этот способ хранения данных? В чем преимущества SQL Server с этой точки зрения по сравнению с СУБД других производителей (например, Oracle или IBM), в которых подобная поддержка реализована достаточно давно?

А.Ш.: Поддержка геопространственных данных в SQL Server 2008 представлена на данный момент двумя основными типами: Geometry (плоская евклидова геометрия) и Geography (эллипсоид, аппроксимирующий земную поверхность). Эти типы построены в соответствии со стандартами Open Geospatial Consortium (OGC), к которому Microsoft присоединилась 23 октября 2007 года (http://www.businesswire.com/portal/site/home/index.jsp?epi-content=NEWS_VIEW_POPUP_TYPE&newsId=20071023006103&ndmHsc=v2*A1193137200000*B1193175376000*DgroupByDate*J1*N1000837&newsLang=en&beanID=202776713&viewID=news_view_popup), а именно OpenGIS Implementation Specification for Geographic information — Simple feature access, часть I (Common Architecture) и часть II (SQL Option) — см. http://portal.opengeospatial.org/files/?artifact_id=18241, http://portal.opengeospatial.org/files/?artifact_id=18242). Как и в случае со стандартами SQL, ни Microsoft, ни, насколько мне известно, другие производители СУБД не претендуют на полную реализацию всего, что значится в стандарте. Любой стандарт — это попытка гарантировать, что реализация сделана таким образом, чтобы быть совестимой с аналогичными реализациями других поставщиков. В то же время стандарт не удерживает поставщика от добавления расширений, продолжающих определенную в нем функциональность, поскольку потребности практической деятельности изменяются очень динамично, следовательно, инструменты разработки по природе своей менее консервативны, нежели стандарты, на основе которых они построены. Геопространственные типы в SQL Server реализованы на основе SQL CLR, но являются не пользовательскими, а системными, то есть доступными независимо от sp_configure ‘clr enabled’, и для работы с ними не требуется специально подключать сборку. Для CLR-типов в SQL Server 2008 максимальная длина была увеличена с 8000 байт до 2 Гбайт, что, в частности, позволяет хранить достаточно сложные области, определяемые множеством точек. Кроме того, геопространственные типы используют свою систему индексации. Пространственные индексы строятся на основе декомпозиции индексируемого пространства в иерархию координатных сеток. Геопространственные типы не только поставляются в составе SQL Server, но и могут применяться отдельно в приложении. Их можно получить, например, в составе SQL Server 2008 Feature Pack за август 2008 года (http://www.microsoft.com/downloads/details.aspx?FamilyID=c6c3e9ef-ba29-4a43-8d69-a2bed18fe73c&DisplayLang=en) — см. Microsoft SQL Server System CLR Types. Кроме того, существует Builder API — набор классов и интерфейсов в Microsoft.SqlServer.Types, который позволяет расширять существующие геопространственные типы, строя свои точку за точкой.

Обеспечивается интеграция геопространственных расширений SQL Server 2008 с Virtual Earth (http://www.microsoft.com/VIRTUALEARTH/), что неудивительно, поскольку и тот и другой продукты разрабатываются Microsoft. Компания ESRI объявила (http://www.esri.com/software/arcgis/geodatabase/about/sqlserver2008.html) о поддержке SQL Server 2008 в своем продукте ArcGIS 9.3, что является результатом тесной совместной работы по созданию геопространственных расширений в SQL Server 2008. Компания Autodesk подготовила для Open Source Geospatial Foundation (OSGeo) свободно распространяемый Feature Data Object (FDO) Provider, который позволяет управлять местоположением и дизайном в таких продуктах, как AutoCAD Map 3D, Autodesk MapGuide и Autodesk Topobase, на основе геопространственных расширений SQL Server 2008 (http://pressreleases.autodesk.com/index.php?s=press_releases&item=396%3C%2Ftd%3E). Более подробно узнать о партнерстве Microsoft в области геопространственной обработки можно на сайте http://www.microsoft.com/sqlserver/2008/en/us/spatial-partners.aspx.

КП: Есть еще какие-то новшества SQL Server 2008, которые, с вашей точки зрения, интересны для разработчиков, системных интеграторов и конечных пользователей, но о которых мы забыли спросить?

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

Во-первых, это усовершенствования в языке программирования Transact-SQL. Кроме отмеченного выше оператора MERGE, это табличные параметры, добавленные к переменным типа «таблица»; раздельные типы date и time в дополнение к datetime, возможность отслеживания изменений, то есть табличный взгляд на журнал транзакций; оператор CREATE AUDIT, расширенные события и интеграция с Event Tracing for Windows, IntelliSence в редакторе запросов; приятные небольшие улучшения типа одновременного объявления и инициализации переменных, конструкторы записей, вставка значений нескольких записей в одном операторе INSERT, операторы типа «+=» и т.д.

Во-вторых, это выход за границы реляционной модели. Наряду с геопространственными расширениями хотелось бы отметить интеграцию с файловой системой и возможность хранения в ней больших бинарных объектов, проще говоря, полей неструктурированного содержания, таких как документы, аудио- и видеозаписи и т.д. Можно рассматривать это как отголосок WinFS либо как слияние блобов и файлов — неважно. На практике мы получаем лучшее из двух миров: поточный доступ к двоичному контенту при полной транзакционности файловых операций. SQL Server сам следит за файлами, в которых он держит данные типа varbinary(max), и распространяет на них свои типовые действия по обеспечению целостности данных: резервное копирование, репликацию, полнотекстовый поиск и т.д. Особо хотелось бы отметить, что поточный доступ поддерживается также в «младшей» бесплатной редакции SQL Server Express и присутствующее в ней ограничение на размер базы данных в 4 Гбайт не распространяется на поля с этим атрибутом.

Администраторы, в зоне ответственности которых находятся многие серверы SQL Server, смогут упростить свою работу благодаря новой возможности, которая называется декларативной средой управления и позволяет выполнять централизованное администрирование на основе политик. Политики строятся при помощи шаблонов, представляющих собой абстракции всех основных объектов SQL Server: сервер, база данных, пользователь, схема, таблица, представление, процедура и т.д. С помощью шаблонов администратор задает правила, например SQL Mail должен быть отключен или все представления в схеме такой-то должны начинаться с ‘vw%’, и централизовано применяет их к группам удаленных серверов. В случае нарушения политики администратор может быть просто извещен об этом либо транзакция с запрещенным действием может откатываться. Частным случаем применения политики является выполнение скрипта T-SQL одновременно по группе серверов. Декларативная среда управления позволяет повысить управляемость рабочего окружения.

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

КП: Есть ли какие-то интересные проекты разработки или внедрения информационных систем, в которых используется новая СУБД и о которых уже можно рассказать читателям?

А.Ш.: Конечно. Как правило, работа над такими проектами начинается задолго до торжественного выхода продукта. 4 июня 2007 года на конференции TechEd впервые был публично представлен предварительный релиз Microsoft SQL Server 2008 — Katmai. С тех пор до окончательного ее выхода 6 августа 2008 года было еще три подобных промежуточных выпуска, или СТР (Community Technolgy Preview), не считая RC (Release Candidate). Это делалось для того, чтобы все желающие могли оценить готовящуюся в продукте функциональность, дать свои отзывы и предложения и заранее подготовиться к переходу на новую версию. В результате еще до официального выхода SQL Server 2008 мы могли объявить о таких крупных его внедрениях в России, как в «Военно-Страховой Компании» (ВСК), розничной торговой сети «Седьмой континент», пивоваренной компании «Балтика» и др. Посмотреть внедрения по всему миру можно на сайте Microsoft (http://www.microsoft.com/casestudies/).

В состав версии SQL Server 2008, помимо традиционных корпоративной, стандартной, экспресс-, компактной и других редакций, вошла новая Web Edition, впервые объявленная 9 апреля 2008 года на Microsoft Hostng Summit. В силу ее новизны я бы хотел несколько слов сказать о ней отдельно. Как следует из названия, она ориентирована в первую очередь на сценарии доступного веб-хостинга, в которых раньше преимущественно использовалась редакция Express, и расширяет ее функциональность по масштабированию и богатым программным возможностям. По сравнению с редакцией Express были сняты ограничения на размер базы и объем используемой памяти, добавлены возможности из старших редакций по отказоустойчивости и централизованному администрированию — как существовавшие ранее (например, Log Shipping), так и появившиеся в версии 2008 (например, декларативная среда управления, средства сбора и анализа данных по производительности). Обеспечивается усовершенствованный драйвер для приложений РНР и поддержка разработки на .NET, в том числе провайдер для LINQ. Отрадно, что, несмотря на новизну этой редакции, ее уже предлагают в пакетах своих услуг известнейшие российские хостинговые компании, такие как Parking.ru (http://www.hostobzor.ru/db/news.php?id=2525).

КП: Алексей, большое спасибо за подробные ответы на наши вопросы. Мы желаем вам и компании Microsoft успехов в проектах по разработке и внедрению решений на основе новой СУБД.

 

Интервью подготовила Наталия Елманова

 

В начало В начало

КомпьютерПресс 11'2008

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует