Посещение таких мероприятий, как конференция SQL Server Magazine LIVE!, всегда дает обильную пищу для размышлений, и последняя конференция LIVE! не стала исключением. Главным открытием для меня стали долгосрочные перспективы использования хранимых процедур в грядущем мире Web-служб.
В настоящее время SQL Server обеспечивает представление хранимой процедуры в качестве Web-службы. Эта идея всегда казалась мне привлекательной, но непрактичной.
Вызов хранимой процедуры через Web-службу происходит слишком медленно для большинства практических применений. Однако, как выяснилось, эту проблему можно решить. В будущих архитектурах на базе .NET хранимым процедурам, представленным в качестве Web-служб, отводится роль, связанная с "экстремальной производительностью" ("extreme performance"), которую я несколько раз рассматривал в прошлых заметках.
Программист иногда вынужден поступиться временем отклика и производительностью в краткосрочной перспективе ради масштабируемости приложения.
Но что если отказаться от снижения времени отклика ради долгосрочной масштабируемости? Что если у программиста появится возможность реализовать максимум задач обработки на уровне базы данных, а затем, если базе данных не хватает ресурсов процессора, без труда перенести некоторые процессы на сервер приложений среднего уровня? Что если компромисс между масштабируемостью и временем отклика превратится из постоянной проблемы, закладываемой на этапе проектирования, в проблему динамического развертывания?
Следующая версия SQL Server, Yukon, появится не скоро, но представители Microsoft утверждают, что продукт будет теснее интегрирован с XML, чем с SQL Server 2000. Компания дала понять, что новые функции Yukon позволят решить многие проблемы производительности и интеграции, возникающие при использовании хранимых процедур, представленных как Web-службы. Кроме того, хранимые процедуры можно будет строить с использованием любого языка, совместимого с .NET Common Language Runtime (CLR). В результате, программисты смогут повысить быстродействие некоторых функций для сферы бизнеса, реализовав их в виде хранимых процедур.
Если вычислительные ресурсы сервера базы данных иссякнут, то хранимые процедуры на безе CLR легко переместить в масштабируемый Web-пул.
Таким образом, с появлением Yukon моя теория "экстремальной производительности" может потерять актуальность, и я смогу динамически изменять соотношение между временем отклика и масштабируемостью. Будущее SQL Server - Yukon, и открывающиеся перед нами перспективы впечатляют.
Брайан Моран - президент группы пользователей и директор по технологиям СУБД Spectrum Technology Group. Имеет сертификаты MCSE, MCSD и MCT. Ему можно написать по адресу: brian@spectrumtech.com.