Share via


Поддержка новой встроенной базы данных в 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.

clip_image001

Вдобавок к уже известным вам 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 и другими более крутыми штуками, о которых я еще напишу) на следующей неделе.

Оригинал статьи

Comments

  • Anonymous
    July 29, 2010
    А есть для SQL CE 4 аналог Aspnetdb.mdf? Есть ли стандартные провайдеры членства, профилей и т.д. для работы с SQL CE 4?

  • Anonymous
    August 01, 2010
    Как и в случае с IIS Express должен сказать: Наконец-то!!! Даже не ожидал, что это сделают так скоро. Надеюсь, что и наши хостинг провайдеры не станут банить SQL CE 4.

  • Anonymous
    August 01, 2010
    Вова, ну мне кажется, что провайдеры тут пойдут стандартные для MS SQL. Они же работают на ADO.NET. Просто поменять ConnectionString в Web.config и все.

  • Anonymous
    August 02, 2010
    Iliya Tretyakov, дай бог. Только базу стандартную Aspnetdb.mdf придётся конвертировать в sdf т.к.: "SQL CE хранит базы данных в виде файлов (с расширением .sdf)."