Вбеседе с Шейлой Молнар технический советник подразделения Microsoft Data and Platform Дэвид Кэмпбелл рассуждает о возможностях SQL Server 2008 и связанных с SQL Server продуктах Microsoft, готовящихся к выпуску, таких как Kilimanjaro, Madison и Azure Services Platform. При этом он касается и некоторых других тем — тенденций в сфере управления данными, механизма взаимодействия SQL Server с Visual Studio и Microsoft Office, а также вопросов, связанных с концентраторами данных.

Что вас больше всего радует в продукте SQL Server 2008?

То обстоятельство, что менее чем за три года нам удалось реализовать в нем так много различных возможностей. Мы полностью пересмотрели процесс проектирования SQL Server. Мы создали в своем воображении мир, где функционируют миллионы серверов и миллионы серверов баз данных уровня предприятия. Затем мы пересмотрели концепцию продукта с учетом этой картины. Нам нужен был продукт, который мог бы «сам позаботиться о себе» и был бы гораздо проще в обслуживании.

А какова была ваша роль в этом процессе?

В ходе проектирования SQL Server 2005 я возглавлял довольно большой коллектив разработчиков. Когда мы готовились к выпуску SQL Server 2005, я подошел к Полу Флесснеру, тогдашнему вице-президенту подразделения Microsoft Data and Storage, и сказал: «Мы уже не плетемся за другими участниками гонки. Теперь мы в группе лидеров, и существует масса вещей, которые мы можем сделать, чтобы выделиться на фоне остальных». Я сформировал группу сотрудников, и мы проанализировали ситуацию на рынке, потребности наших клиентов и независимых поставщиков программного обеспечения, а также отдачу, получаемую от услилий инженеров. Мы определили, какие задачи нужно решать в первую очередь, скажем инструкции merge, о чем нас просили в течение длительного времени, и решили эти задачи.

Мы выявили такую тенденцию: описывающие пространство и время данные становятся интегральными типами данных, и мы включили в SQL Server 2008 средства для работы с пространственными типами данных. Еще мы заметили, что, хотя управлять системами SQL Server на уровне «сервер-сервер» проще, чем многими другими продуктами для работы с базами данных, управление тысячами систем SQL Server все еще требует больших усилий. Так родилась концепция управления на основе политик. Жизнь администратора и в самом деле упрощается, если он может определить несколько классов обслуживания (жизненно важный сервер, сервер рабочей группы, сервер второго уровня, расположенный под рабочим столом сотрудника), политики для этих классов, связать каждый сервер с одним из классов и проследить за тем, чтобы они сохраняли соответствие требованиям.

Каковы, на ваш взгляд, основные тенденции в сфере управления данными?

Заслуживают внимания три обстоятельства. Мы вступаем в мир, где стоимость приобретения данных стремится к нулю. Сегодня все данные получаются в цифровом формате. Стоимость хранения данных стремится к стоимости носителей. Наконец, получают широкое распространение возможности сетевого соединения, а ширина полосы пропускания растет. Комбинация этих обстоятельств лежит в основе грядущих перемен.

Какое влияние на SQL Server окажет снижение стоимости хранения данных?

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

Вы имеете в виду проект Madison?

Мы отмечаем, что руководители многих компаний не хотят удалять данные из хранилищ; они строят все более вместительные хранилища данных. От возможности собирать, добывать информацию, анализировать и вновь предъявлять ее предприятию может зависеть успех бизнеса. Проект Madison, которым мы занялись после приобретения компании DATAllegro, позволит нам выйти на рынок средств хранения данных с решениями емкостью в сотни терабайт. Объемы просто умопомрачительные. Данных в хранилищах становится все больше, а их очистка проводится реже. Я думаю, что в таких условиях люди могут анализировать ситуацию на протяжении длительного времени и выявлять исторические тенденции. Эти тенденции являются основой, на которой мы строим прогностический анализ с целью выявления зависимостей во времени.

И какое место в этой картине занимает продукт Kilimanjaro?

Вторая половина задачи состоит в том, как извлекать данные и информацию из больших хранилищ данных и предъявлять их людям, которые выполняют работу и принимают решения изо дня в день. Мы хотим реализовать такие возможности и в очень крупных хранилищах данных, и в системах бизнес-аналитики на базе самообслуживания. Просто формировать отчеты недостаточно; нужно предоставлять информацию в руки конечных пользователей и аналитиков данных, чтобы те могли произвольно манипулировать данными и добавлять к ним информацию, которую они могут получить только в своих рабочих группах. Самообслуживание — одна из важнейших тем в версии Kilimanjaro.

Какие еще принципы наряду с самообслуживанием лежат в основе Kilimanjaro?

В версии Kilimanjaro реляционный процессор SQL Server будет иметь аппаратные средства для обработки более чем 64-разрядных потоков. Еще одна тема — управление множеством серверов. Только представьте себе, какие проблемы могут возникать в случае самообслуживания. Существует ли возможность без особых хлопот готовить серверы к работе? Администраторы компаний, эксплуатирующих сотни и тысячи систем SQL Server, после внедрения Kilimanjaro со средствами управления множеством серверов получат возможность управлять своими серверами как единой группой.

Могли бы вы сказать, почему системами SQL Server и средствами хранения данных в Microsoft занимается одно и то же подразделение?

Это далеко не случайно! Помните, я сказал о том, что все данные получаются сегодня в цифровом формате? Так вот, даже те сведения, которые не введены непосредственно в базу данных, нужно как-то учитывать, ими требуется управлять — подобно тому, как мы управляем информацией в базе данных. Мир неструктурированных данных и мир структурированных данных сближаются. Это происходит под воздействием трех сил. Во-первых, имеется огромное множество неструктурированных данных. Неужели вам не хотелось бы, к примеру, чтобы всеми файлами на вашем компьютере можно было управлять с помощью базы данных? Во-вторых, неструктурированные данные часто имеют другие атрибуты. Так, к числу атрибутов мгновенных сообщений относятся имя отправителя, имя получателя и дата. Третье обстоятельство — извлечение данных. Мы можем осуществить текстовое индексирование мгновенных сообщений. Возможность выполнения запросов по тексту таких сообщений дает определенные преимущества.

Одно из больших достоинств системы SQL Server 2008 — реализованный в ней тип данных FILESTREAM. Если вам придется создавать приложения для хранения блогов, будете ли вы размещать их в файловой системе, а имя хранить в базе данных, или разместите их в базе данных? У каждого свое мнение на этот счет. Мы будем использовать файловую систему там, где она дает наилучшие результаты, а базу данных — там, где она наиболее эффективна. Благодаря сотрудничеству со специалистами по хранению данных нам удалось сблизить два этих разных мира и создать дополнительные возможности.

В ходе нашей беседы невольно вспоминается файловая система WinFS.

С WinFS связано многое из того, что мы выпускали за последние год-два: технология entity framework, модель entity data model, архитектура synchronization framework. Это просто еще один способ довести систему до рынка. Когда мы приняли решение не включать WinFS в ту версию Windows, которая позднее получила название Vista, мы объявили, что выпуск этой технологии откладывается. Она будет реализована в SQL Server.

Как SQL Server взаимодействует с Microsoft Visual Studio и с Microsoft Office?

Десять лет назад потребители принимали решение о покупке в зависимости от возможностей процессора реляционной базы данных. Сейчас мы уже не считаем SQL Server сервером баз данных. Мы относим эту систему к категории платформ data platform с более широкими горизонтальными службами. Для бизнес-аналитики у нас в системе имеются средства извлечения, преобразования и загрузки (extraction, transformation, and loading, ETL). Кроме того, мы можем обеспечить подключение системы к средствам SharePoint. Имеются функции для подключения к Visual Studio. Мы уже пользуемся оболочкой Visual Studio для среды проектирования ETL, так что в обоих случаях требуются одни и те же навыки. Мы реализовали сценарий Occasionally Connected Systems с использованием Visual Studio 2008. Он предназначен для создателей мобильных приложений, которые не хотят отвлекаться на выяснение состояния данных (connected или not connected). Ключевым компонентом платформы данных является синхронизация. Все это реализовано в нашем продукте.

В чем смысл добавления синтаксиса языка запросов LINQ к продукту SQL Server 2008?

Я думаю о том, как уменьшить трения, возникающие при создании приложений. Между логикой приложения и уровнем интерфейса базы данных возникает рассогласование нагрузки. А если вернуться лет на 15–20 назад, шла ли речь об интеграции баз данных с помощью языка COBOL или о предварительных компиляторах, в каком-то смысле мы находились в более благоприятных условиях, чем тогда, когда обращались к интерфейсам уровня вызова. Так вот, подумайте об интерфейсе ODBC: он открывал базы данных для взаимодействия с более широким классом сред разработки. Правда, задача разработчика на какое-то время становилась сложнее. Я думаю, LINQ сделает большое дело — позволит разработчикам выражать запросы с помощью естественных средств, легко воспринимаемых их программами, и при этом неважно, как они относятся к базам данных, к структурам внутренней памяти или к XML.

Что вы думаете о платформе Azure Services Platform и о предоставлении платформы обработки данных в качестве услуги?

Наша позиция — расширить платформу обработки данных до уровня Internet. Платформа Azure — еще одно измерение самообслуживания. Сегодня, чтобы подготовить к работе базу данных, вам нужно разыскать сервер, найти дисковое пространство. А теперь представьте себе такую картину. Вы готовите к работе c базой данных конечную систему, и после этого, где бы вы ни находились, если у вас есть выход в Internet, вы можете получить соединение с упомянутой конечной системой. Это один из аспектов самообслуживания. Azure — это перенос баз данных из «мира земного» (клиент-сервер) в мир Internet. Вспомним, как клиент-серверные базы данных высвободили данные и позволили нам донести их до пользователей настольных систем. Мир служб освободит данные от оков локальных сетей и сделает их достоянием всех имеющих на то полномочия пользователей, располагающих доступом к Internet.

Какие еще задачи могут быть решены разработчиками с помощью платформы Azure?

Мне доставляет удовольствие наблюдать за тем, как разрабатываются новые типы приложений. Многие рассуждают так: «Переносить свои профильные бизнес-приложения в Internet я не буду». И я разделяю эту точку зрения. Но я могу представить себе массу ситуаций, таких как использование цепочек снабжения, контакты «предприятие — предприятие», электронные средства автоматизации проектирования и управления жизненным циклом продуктов, в которых корпорации могут обмениваться данными, размещать информацию в концентраторах данных и предоставлять одним устройствам данные, хранящиеся на других устройствах.

На конференции профессиональных разработчиков Professional Developers Conference (PDC) мы объявили о том, что в лаборатории SQL Services Labs начались работы по проекту Huron. Его реализация даст возможность взять базу данных Access, опубликовать ее в службе SQL Services, после чего на эту базу подпишутся уполномоченные на то пользователи. При этом приложение будет ликвидировано, но все имеющиеся данные синхронизируются. Образуется концентратор данных. Нет необходимости в том, чтобы отдельные клиенты были связаны друг с другом; им достаточно иметь возможность подключения к концентратору. Данные защищены и резервируются в концентраторе. Для разработчиков открывается ряд новых сценариев. Кроме того, мы объявили о том, что в лаборатории SQL Services Labs будут выполняться работы по поддержке таких процессов, как добыча данных и подготовка отчетов. Еще одно интересное направление — службы интеграции данных. Пользователи получат возможность размещать данные из ряда источников в концентраторе и подвергать их бизнес-анализу.

Что еще читателям следует знать о концентраторах данных?

С помощью служб SQL Services пользователи смогут создавать концентраторы данных наиболее общего типа и уменьшать количество проблем. Совместно с разработчиками .NET Services, которые тоже участвуют в создании платформы Azure, мы будем проектировать средства управления доступом к ней. Пользователи смогут брать существующие сведения из каталога Active Directory (AD) и объединять их, перенося эти данные в Internet. К тому же они смогут создавать политики авторизации применительно к этим данным, чтобы сделать безопасной процедуру совместного использования информации различными приложениями и людьми.

Какие преимущества даст, на ваш взгляд, оснащение платформы для обработки данных в Internet службой SQL Data Services (SDS)?

SDS — всего лишь первая из целого ряда служб. При наличии этой службы пользователю не обязательно знать, где находится нужная ему система. По своей природе модель SDS «многопользовательская». Если вы разрабатываете приложение, вы можете концентрировать на нем все внимание, и в процессе установки инициализировать конечную систему. Вам не нужно ломать голову над тем, как масштабировать базы данных до уровня петабайтов. В SDS мы строили абстрактные конструкции с учетом того, что с ними будут работать представители различных организаций.

SDS полностью меняет наше представление о корпоративной базе данных. Ваши базы данных становятся гораздо более абстрактными, чем были раньше.

Сегодня одна из проблем, с которыми сталкиваются корпорации, состоит в том, где размещать базы данных. Раньше было принято размещать базу данных под рабочим столом одного из служащих. Теперь представьте себе, что сотрудник ИТ-подразделения предлагает: «Я дам вам возможность инициализировать базы данных в конечных системах в Internet». Разработчику остается только ответить: «Подготовьте мне конечную систему на 10 Гбайт». Многие крупные корпорации имеют средства самостоятельной подготовки сайтов SharePoint; это делается без особых затруднений. Представьте себе, что в корпорации, где действует такая модель, разработчикам не приходится дожидаться установки новых аппаратных компонентов. Им не нужно ждать, пока представится случай договориться с сотрудником ИТ-подразделения о настройке виртуальной машины. Нужно только заполнить формуляр с запросом на базу данных, получить конечную систему — и можно приступать к разработке приложения. Таким образом будет повышена оперативность действий и снижена напряженность на данном участке работы.

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

Абсолютно с этим не согласен. На мой взгляд, перед ИТ-подразделениями откроются новые возможности. Надо сказать, что многие путают вычисления в Internet с переходом к хостингу у сторонних подрядчиков — дескать, собирайте все и отдавайте мне. Я же думаю, что если обработка данных в Internet будет организована правильно, люди смогут сосредоточиться на своей работе. И потом, перед сотрудниками ИТ-подразделений открывается возможность добиться более высокой степени взаимозависимости и преобразовать производственно-сбытовую цепь, а не только снабженческую.

Какие же навыки должны в таком случае приобрести администраторы баз данных?

Я думаю о цикле жизни данных от их зарождения до архивирования. Нам нужно взглянуть в глаза реальности и понять, что мы будем жить в мире, где стоимость приобретения данных сведена к нулю. Стоимость хранения данных уже упала до нуля. Ширина полосы пропускания в каком-то смысле является сдерживающим фактором.

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

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

Шейла Молнар (smolnar@windowsitpro.com) — редактор Windows IT Pro и SQL Server Magazine, ведет сайт для разработчиков www.WinDevPro.com