Поддержка новой встроенной базы данных в ASP.NET
Буквально на днях я рассказал о новом IIS Express и поведал о нашей работе над улучшениями, которые мы произвели для облегчения жизни ASP.NET разработчикам.
И сегодняшний пост продолжит тему упрощения разработки и раскроет информацию о наших разработках в области баз данных. Фактически я хочу анонсировать завершение нашей работы над бесплатным SQL Server Compact Edition (SQL CE) в ASP.NET приложениях. Это позволяет упростить разработку и со стороны баз данных.
SQL Server Compact Edition 4
SQL CE абсолютно бесплатный, встроенный движок баз данных. Мы предоставим доступ к первой публичной бета-версии очень скоро. 4-я версия была разработана и тестировалась с ориентацией на работу с ASP.NET веб-приложениями.
Работа с существующими API
SQL CE работает с существующими .NET API и поддерживает SQL Server совместимый синтаксис запросов. Это означает, что с SQL CE. вы можете использовать существующие API для работы с данными такие, как ADO.NET, а также более высокоуровневые ORM, как Entity Framework и NHibernate. Работать будет почти любое существующее API для работы с данными, которое поддерживает модель провайдера ADO.NET.
Все это позволяет вам использовать отлаженные навыки программирования при работе с данными уже сегодня.
Не требует никакой инсталляции
Для того, чтобы использовать SQL CE от вас не требуется запускать установку или инсталлировать сервер баз данных. Теперь достаточно просто скопировать SQL CE исполняемые файлы в папку \bin вашего ASP.NET приложения, а дальше ваше веб-приложение может использовать его, как движок баз данных. Не требуется никакой инсталляции или дополнительных прав безопасности, просто запустил и работает.
Приложения могут свободно включать в поставку SQL CE. Вы просто копируете веб-приложение на любой сервер и оно работает.
Файлы базы данных хранятся на диске
SQL CE хранит базы данных в виде файлов (с расширением .sdf). Вы можете хранить эти файлы в директории проекта \App_Data, нет нужды регистрировать их для использования в приложении.
Движок SQL CE запускается в памяти вашего ASP.NET приложения. Когда приложение завершает свою работу, он автоматически выгружается.
Shared-хостинги уже поддерживают SQL CE 4
SQL CE 4 уже может работать на ASP.NET 4 хостингах со средним уровнем доверия к приложениям, хостеру ничего не нужно устанавливать. Хостерам вообще ничего не нужно делать для работы SQL CE.
Разворачивать приложение теперь можно вообще с помощью одного FTP, просто копируем папку проекта и все готово.
SQL CE сам запустится в вашем приложении на удаленном хосте.
Поддержка в Visual Studio 2010 и Visual Web Developer 2010 Express
В ближайшем будущем у VS 2010 и Visual Web Developer 2010 Express появятся инструменты, поддерживающие работу с SQL CE 4. Вы сможете добавлять SQL CE файлы в ASP.NET проекты, использовать Visual Studio Server Explorer для создания и редактирования таблиц, а также использовать высокоуровневые конструкторы, как Entity Framework(см.ниже) для моделирования и привязки базы данных к классам, которые в дальнейшем использовать в LINQ.
Вдобавок к уже известным вам API для работы с данными, вы сможете использовать те же инструменты разработки для SQL CE.
Разработка и Продакшн
SQL может использоваться, на машине разработчика и для простых сайтов на продакшене. C 4-ой версий SQL CE мы провели техническую работу и удостоверились, что SQL CE не будет падать или происходить взаимная блокировка, когда происходят многопоточные сценарии, как в случае с ASP.NET. Это огромное изменение, по сравнению с предыдущей версией SQL CE, которые мы разрабатывали только для клиентской части, плюс – он блокировал работу в веб-окружении. А теперь SQL CE 4 можно без проблем использовать на веб-серверах.
Не существует никаких лицензионных ограничений для использования SQL CE.
Простая миграция на SQL Server
SQL CE является встроенной базой данных, что делает её идеальной для простых сценариев. Для высоконагруженных же сайтов и приложений вы, наверное, захотите мигрировать на SQL Server Express(бесплатен), SQL Server или SQL Azure. Данные сервера обладают лучшей масштабируемостью, больше возможностей для разработки (включая такие возможности, как хранимые процедуры, которые не поддерживаются в SQL CE), а также более расширенные возможности для управления данных.
Мы предоставим инструменты для миграции, которые позволят взять базу данных SQL CE и с легкостью обновится до SQL Server Express, SQL Server или SQL Azure. Вам не придется вносить изменения в код для обновления базы данных SQL CE до SQL Server или SQL Azure. Нашей целью – дать вам возможность просто изменить строку соединение с базой данных в web.config и продолжить работать с приложением.
Итог
SQL CE 4 предоставляет простую, легкую базу данных, которую вы можете использовать в ASP.NET приложения. Позволяет вам быстро начать работу над проектом, не требуя инсталляции полноценной базы данных на локальной машине разработчика. В следствии совместимости с полной версией SQL Server, ваш код использует все те же API (ADO.NET, Entity Framework, NHibernate и т.п)
У вас появится возможность быстро разворачивать SQL CE базы данных на хостингах для простых сайтов и приложений. В дальнейшем, при росте трафика и нагрузки вы сможете обновить базу данных до SQL Server Express, SQL Server или SQL Azure, не изменяя код.
Мы предоставим доступ к первой публичной бета-версии SQL CE 4 (вместе с IIS Express и другими более крутыми штуками, о которыз я еще напишу) на следующей неделе.
Источник – Scott Gu