FAQ: SQL Azure
В продолжение к FAQ по Windows Azure Platform публикую ответы на наиболее часто задаваемые вопросы по SQL Azure.
Каковы основные преимущества SQL Azure Database?
Использование SQL Azure обеспечивает множество преимуществ. К ним относятся управляемость, высокая доступность, масштабируемость, знакомая модель разработки и реляционная модель данных.
- Управляемость. SQL Azure предлагает масштаб и функции корпоративного центра обработки данных без административных издержек, с которыми обычно связаны локальные экземпляры SQL Server. Благодаря этой возможности самоуправления организации могут предоставлять службы данных приложениям на всем предприятии, не увеличивая нагрузку на центральный ИТ-отдел и не отвлекая грамотных ИТ-специалистов от их основных задач для обслуживания приложения базы данных в одном отделе. При использовании SQL Azure можно выполнять развертывание хранилищ данных за несколько минут. Это позволяет уменьшить первоначальные затраты на службы данных за счет возможности внедрить только необходимые ресурсы. Когда требуется изменить или расширить ресурсы, можно легко адаптировать облачное хранилище данных в соответствии со своими потребностями.
- Высокая доступность. SQL Azure опирается на проверенные технологии Windows Server и SQL Server и обладает достаточной гибкостью, чтобы справиться с любыми вариантами использования и нагрузками. Служба реплицирует резервные копии данных на несколько физических серверов для обеспечения доступности данных и непрерывности бизнеса. В случае аппаратного сбоя SQL Azure выполняет аварийное переключение для обеспечения максимальной доступности приложения.
- Масштабируемость. Главным преимуществом SQL Azure является легкость в масштабировании решения. После первоначальной настройки разделов служба масштабируется по мере роста объема данных. Ценовая модель, предусматривающая оплату по факту использования, позволяет оплачивать только реально занимаемое пространство, поэтому объем хранилища также при необходимости можно легко уменьшить.
- Знакомая модель разработки. Когда разработчики создают локальные приложения, использующие SQL Server, они применяют клиентские библиотеки, в которых взаимодействие между клиентом и сервером осуществляется по протоколу табличного потока данных (TDS). SQL Azure предоставляет такой же интерфейс TDS, что и SQL Server, благодаря чему при создании клиентских приложений, работающих с данными из SQL Azure, можно использовать такие же средства и библиотеки. Дополнительные сведения о TDS см. в разделе Сетевые протоколы и конечные точки TDS
- Реляционная модель данных. Система SQL Azure покажется очень знакомой разработчикам и администраторам, поскольку данные сохраняются в SQL Azure так же, как в SQL Server, с помощью Transact-SQL. Концептуально аналогичный локальному экземпляру SQL Server сервер SQL Azure является логической группой баз данных, выступающей в качестве границы авторизации.
В каждом сервере SQL Azure можно создать несколько баз данных с таблицами, представлениями, хранимыми процедурами, индексами и другими знакомыми объектами. Такая модель данных позволяет эффективно применять существующие навыки проектирования реляционных баз данных и программирования в Transact-SQL, а также упрощает перенос существующих приложений, работающих с локальной базой данных, на SQL Azure. Дополнительные сведения о Transact-SQL и связи с SQL Azure см. в разделе Поддержка Transact-SQL (SQL Azure Database). Серверы и базы данных SQL Azure являются виртуальными объектами и не связаны с физическими серверами и базами данных. За счет изолирования от физического внедрения SQL Azure позволяет сконцентрироваться на структуре базы данных.
Совместим ли существующий выпуск драйвера SQL Server для PHP с SQL Azure?
С помощью драйвера разработчики могут создавать приложения PHP, поддерживающие работу с реляционными базами данными SQL Server и SQL Azure. Были внесены некоторые важные изменения для повышения производительности, а также добавлены новые функции, среди которых поддержка кодировки UTF-8 и наборы результатов с возможностью прокрутки.
Как в SQL Azure Database реализовано физическое администрирование?
Несмотря на то что SQL Azure играет активную роль в управлении физическими ресурсами базы данных, не следует недооценивать огромное влияние администратора базы данных на администрирование приложений баз данных на основе SQL Azure. С помощью SQL Azure администраторы баз данных управляют созданием схем, сбором статистики, настройкой индекса, оптимизацией запросов и администрированием безопасности (вход, пользователи, роли и т. д.). Дополнительные сведения об администрировании безопасности в SQL Azure см. в разделе Управление данными для входа и пользователями в SQL Azure. Администрирование базы данных в SQL Azure в наибольшей степени отличается от SQL Server с точки зрения физического администрирования. SQL Azure автоматически реплицирует все данные для обеспечения высокой доступности. SQL Azure также управляет балансировкой нагрузки и в случае сбоя сервера осуществляет аварийное переключение. Для достижения такого уровня физического администрирования возможности управления физическими ресурсами SQL Azure были значительно ограничены. Например, нельзя указать физический жесткий диск или группу файлов, в которых будет находиться база данных или индекс. Поскольку файловая система компьютера недоступна и все данные автоматически реплицируются, команды резервного копирования и восстановления SQL Server не применяются в SQL Azure.
Как в SQL Azure Database реализованы возможности самостоятельной подготовки?
При подготовке к развертыванию локальной системы SQL Server в задачи администратора базы данных или ИТ-отдела может входить установка и настройка необходимого оборудования и программного обеспечения. При использовании SQL Azure эти задачи выполняются процессом подготовки SQL Azure. Подготовку баз данных SQL Azure можно начать после создания учетной записи платформы Windows Azure. Эта учетная запись обеспечивает доступ ко всем службам (Windows Azure, шина служб и управление доступом платформы Windows Azure, SQL Azure) и используется для настройки подписок и управления ими. Каждая подписка SQL Azure привязана к одному серверу SQL Azure в центре обработки данных от Microsoft. Сервер SQL Azure является абстрактным понятием, определяющим группировку баз данных. Для обеспечения балансировки нагрузки и высокой доступности базы данных, связанные с сервером SQL Azure, могут располагаться на разных физических компьютерах в центре обработки данных Microsoft. Дополнительные сведения о подготовке см. в разделе Модель подготовки SQL Azure.
Какие возможности Transact-SQL поддерживаются?
Многие инструкции Transact-SQL сервера SQL Server имеют параметры, позволяющие указывать группы файлов и физические пути к файлам. Данные параметры не поддерживаются в SQL Azure, поскольку они предусматривают связь с физической конфигурацией. В таких случаях команды считаются частично поддерживаемыми. Дополнительные сведения о поддержке Transact-SQL см. в разделе Поддержка (SQL Azure Database).
Какие функции и типы поддерживаются в SQL Azure Database?
SQL Azure поддерживает не все функции и типы данных, существующие в SQL Server. Службы аналитики, репликация, службы отчетов и Service Broker в настоящее время не предоставляются в качестве служб на платформе Windows Azure. Поскольку SQL Azure осуществляет физическое администрирование, любые инструкции и параметры, которые пытаются прямо манипулировать физическими ресурсами (регулятор ресурсов, ссылки на группы файлов и некоторые инструкции DDL физического сервера), будут заблокированы. Кроме того, нельзя установить параметры сервера и флаги трассировки SQL, а также использовать служебные программы SQL Server Profiler и Database Tuning Advisor. SQL Azure поддерживает многие типы данных SQL Server 2008 и не поддерживает такие типы, которые устарели для SQL Server 2008. Дополнительные сведения о поддерживаемых SQL Azure типах данных см. в разделе Типы данных (SQL Azure Database). Дополнительные сведения об устаревших типах SQL Server 2008 см. в разделе Устаревшие функции механизма базы данных в SQL Server 2008.
Как можно связать данные между локальным сервером SQL Server и SQL Azure Database?
Средство управления, предоставляемое для SQL Azure Data Sync, поможет выбрать базу данных и таблицы, которые необходимо синхронизировать, а затем создаст задачу службы агента SQL Server для автоматической синхронизации данных с SQL Azure по расписанию. Это может быть полезно, если, например, требуется создать веб-приложение в Windows Azure и подключить его к локальным источникам данных для создания отчетов и выполнения других действий.
Что такое SQL Azure Data Sync?
Microsoft SQL Azure Data Sync — это набор средств и среда выполнения для синхронизации данных с SQL Azure. Эта технология позволяет реализовать два ключевых сценария, которые в настоящее время недоступны в других платформах для облачных вычислений: расширение существующей локальной инфраструктуры для работы в облаке и предоставление клиентам поддержки автономного (кэшируемого) режима. Благодаря связыванию локальных данных с облачной инфраструктурой можно легко обмениваться информацией с мобильными пользователями, деловыми партнерами, удаленными офисами и корпоративными источниками данных, при этом используя преимущества новых служб в облаке. Эта технология создает мост, который обеспечивает взаимодействие между локальными и удаленными приложениями. Использование режима кэширования позволяет разрабатывать клиенты с улучшенными показателями благодаря уменьшенным задержкам и повышенной доступности. Кроме того, режим кэширования обеспечивает меньшее использование сети и улучшенное масштабирование сервера за счет снижения нагрузки и более удобного планирования работ.
Как получить дополнительные сведения о доступе к SQL Azure Data Sync?
Компонент SQL Azure Data Sync доступен в качестве CTP-версии, входящей в загружаемый пакет Microsoft Sync Framework Power Pack for SQL Azure. Дополнительные общие сведения об SQL Azure Data Sync см. по адресу https://www.microsoft.com/windowsazure/sqlazure/datasync. CTP-версия Power Pack не входит в состав CTP-версии SQL Azure, и ее необходимо загрузить отдельно.
Что входит в состав пакета Sync Framework Power Pack for SQL Azure Database?
Пакет Sync Framework Power Pack for SQL Azure Database содержит три ключевых компонента: инструмент Sync Framework Provider, настроенный для SQL Azure Database; средство управления, с помощью которого можно автоматически синхронизировать локальные базы данных SQL Server с базами данных SQL Azure; а также надстройку для Visual Studio, которая помогает реализовать сценарии с кэшированным режимом в SQL Azure.
Кто является целевой аудиторией и какие сегменты охватываются?
Компонент SQL Azure Database ориентирован на следующую аудиторию.
- Традиционные независимые поставщики программных продуктов, разрабатывающие пакетные приложения с поддержкой архитектуры обслуживания одним экземпляром приложения нескольких развертываний или специализированные бизнес-приложения для компаний, которым требуется масштабируемость корпоративного уровня, надежность, доступность и защита данных.
- Независимые поставщики программных продуктов SaaS для розничных клиентов, разрабатывающие новые веб-приложения на платформе Windows Azure.
- Разработчики заказных приложений (продавцы/партнеры), разрабатывающие корпоративные приложения уровня отделов на базе Windows Azure.
Какие сценарии будут реализованы при переходе на реляционную модель данных?
Компонент SQL Azure Database будет ориентирован на следующие сценарии.
- Масштабируемые веб-приложения: небольшие организации, любители и новые компании с веб-приложениями любого уровня, которым требуется система управления реляционной базой данных. Пакетные продукты и специализированные бизнес-приложения независимых поставщиков программных продуктов: традиционные независимые поставщики программных продуктов SaaS и разработчики заказных приложений, которые расширяют свои продукты; пакетное и специализированное ПО, размещаемое в облаке.
- Приложения уровня отделов: предприятия, разрабатывающие приложения уровня отделов и рабочих групп.
- Консолидация данных: компании, применяющие SQL Azure для объединения нескольких источников данных в облаке и предоставления безопасного доступа из различных мест, с ПК и устройств.
Как будут развиваться продукты SQL Azure для поддержки более крупных и сложных приложений?
В первоначальном выпуске SQL Azure Database будет предоставлять возможности, подходящие для реляционных приложений, в том числе с поддержкой архитектуры обслуживания одним экземпляром приложения нескольких развертываний, которым требуются высокие уровни масштабирования. В будущих выпусках SQL Azure будут реализованы расширенные функции, такие как запросы, распределенные по разделам, и автоматическое создание разделов.
Как при развитии SQL Azure Database планируется обеспечивать безопасность, доступность, надежность и качество данных?
SQL Azure Database будет по-прежнему создаваться на основе проверенной платформы и архитектуры технологии SQL Server, которая обеспечивает высокую надежность и доступность, а также предоставляет функции безопасности корпоративного уровня. Объединяя эти возможности, SQL Azure Database предлагает ориентированное на предприятия соглашение об уровне обслуживания, которое предусматривает применение встроенных автоматических средств обеспечения высокой доступности и отказоустойчивости.
Как изменилась модель программирования для SQL Azure Database?
Раньше компонент SQL Azure Database поддерживал гибкую модель данных на основе объектов. Однако после получения отзывов заказчиков стало очевидно, что в облаке требуется использовать полностью реляционную модель данных. В SQL Azure был совершен переход от модели программирования ACE к реляционной модели данных со многими знакомыми концепциями программирования, характерными для SQL Server. Разработчики смогут использовать существующий код Transact-SQL для доступа к данным в облаке, а также создавать и модифицировать приложения, в которых применяется код Transact-SQL, для взаимодействия с полностью реляционной облачной службой базы данных. Кроме того, они смогут легко предоставлять службы REST и SOAP для данных с помощью имеющихся средств доступа, таких как службы данных ADO.NET.
Как компонент Microsoft SQL Azure Database связан с традиционной локальной реляционной базой данных SQL Server?
Компонент SQL Azure Database создан на основе технологий баз данных SQL Server, используемых для критически важных приложений на предприятиях и в Интернете. Поскольку SQL Server является обширной платформой данных, способной обрабатывать все сведения от создания до архивации, наша платформа данных предоставляет очень широкий спектр возможностей. SQL Azure Database предоставляет крупный набор реляционных возможностей и расширяет их до уровня облака в виде служб, обеспечивая удобное использование заказчиками и партнерами через Интернет. Кроме того, SQL Azure Database предлагает встроенные возможности масштабирования, доступности, предоставления по требованию и другие. Несмотря на то что SQL Azure Database в своей первой реализации предоставляет очень ограниченные возможности по управлению реляционной базой данных по сравнению с платформой SQL Server, Microsoft планирует со временем значительно расширить их. Ожидается, что в будущем будут доступны такие функции, как создание отчетов, аналитика, извлечение, преобразование и загрузка, а также многие другие.
Как Microsoft дифференцирует SQL Azure и SQL Server?
В отличие от администрирования локального экземпляра SQL Server служба SQL Azure отделяет логическое администрирование от физического. Заказчики по-прежнему управляют базами данных, учетными данными, пользователями и ролями, однако администрирование физического оборудования (жестких дисков, серверов и хранилищ) осуществляет Microsoft. Благодаря такому подходу SQL Azure предоставляет широкомасштабную службу базы данных с поддержкой архитектуры обслуживания одним экземпляром нескольких развертываний, которая обеспечивает доступность, масштабируемость, безопасность и самообслуживание корпоративного уровня. Поскольку Microsoft администрирует все физические ресурсы, SQL Azure и локальные экземпляры SQL Server отличаются с точки зрения администрирования, подготовки, поддержки Transact-SQL, модели программирования и функций. Дополнительные сведения см. в документе «Сходства и различия SQL Azure и SQL Server».
Чем отличается работа с SQL Azure Database от работы с поставщиком услуг размещения с использованием SQL Server?
SQL Azure Database предоставляет высокодоступную, масштабируемую службу базы данных, поддерживающую архитектуру обслуживания одним экземпляром нескольких развертываний, которая размещается Microsoft в облаке. SQL Azure Database осуществляет самостоятельное управление и позволяет легко подготавливать и развертывать несколько баз данных. Разработчикам не нужно устанавливать, настраивать, исправлять ПО или управлять им. Функции высокой доступности и отказоустойчивости встроены в базу данных, и не требуется никакого физического администрирования оборудования, хранилищ и серверов. SQL Azure Database поддерживает язык Transact-SQL (T-SQL). Заказчики могут применять существующие навыки разработки в T-SQL и знакомую модель реляционной базы данных для симметрии с существующими локальными базами данных. SQL Azure Database обеспечивает значительные экономические преимущества, сокращая расходы на разработку за счет применения существующего набора средств и симметрии между локальными и облачными базами данных. Тем не менее при использовании размещенной базы данных разработчикам требуется устанавливать, настраивать, обновлять и применять исправления к ОС и ПО управления базой данных. Кроме того, размещенные решения баз данных должны обеспечивать высокую доступность и отказоустойчивость, а также предоставлять возможности управления несколькими масштабируемыми базами данных.
Поддерживает ли облачное решение службы отчетов или аналитики?
В ближайшее время планируется реализовать возможность использования SQL Azure в качестве источника данных для решений бизнес-аналитики, в том числе внедрить службы аналитики и отчетов. Однако уже сейчас при развертывании вместе с сервером SQL Server 2008 R2 можно получать доступ к SQL Azure из локальных проектов служб отчетов и аналитики.
Поддерживаются ли службы синхронизации в SQL Azure?
В настоящее время для поддержки таких сценариев можно использовать CTP-версию пакета Microsoft Sync Framework Power Pack for SQL Azure.
Как приложение заказчика масштабируется за рамки выделенного размера базы данных SQL Azure?
Заказчики SQL Azure могут подготавливать неограниченное количество баз данных в соответствии с требованиями их приложений. Данные могут быть распределены между несколькими базами данных без ограничения по размеру.
Каковы будут различия для заказчиков при использовании хранилища таблиц Windows Azure и SQL Azure Database?
SQL Azure Database будет предоставлять масштабируемую распределенную службу реляционной базы данных в облаке, используемую для хранения, обработки и анализа структурированных, полуструктурированных и неструктурированных данных. Хранилище таблиц Windows Azure — это нереляционное, масштабируемое, простое структурированное хранилище (ISAM) в облаке. Поскольку SQL Azure Database будет предоставлять службу баз данных приложениям, разработанным на платформе Windows Azure, заказчики смогут объединять эти службы в пул в соответствии со своими потребностями.
Могут ли заказчики использовать комбинацию облачных и локальных баз данных с одинаковыми средствами управления и языками программирования?
Благодаря поддержке реляционной модели данных на основе TSQL в SQL Azure (по протоколу TDS) заказчики могут использовать существующие средства, например Microsoft Visual Studio® и SQL Server Management Studio, то есть работать с локальными экземплярами SQL Server и облачными SQL Azure Database. Таким образом, заказчики могут создавать приложения, которые используют комбинации локальных и облачных баз данных.
Какое место в этой модели облачных служб занимают партнеры, в частности, продавцы, независимые поставщики программных продуктов, системные интеграторы и разработчики?
Деловые партнеры будут продолжать создавать пакетные приложения с поддержкой архитектуры обслуживания одним экземпляром приложения нескольких развертываний или специализированные бизнес-приложения, а также использовать SQL Azure Database с аналогичными навыками и средствами, как и для локальных экземпляров SQL Server. Партнеры также могут с минимальными усилиями расширить существующие бизнес-приложения для работы с SQL Azure. Независимые поставщики программных продуктов и партнеры также могут разрабатывать и предлагать новые приложения Saas для розничных клиентов на основе SQL Azure и Windows Azure с архитектурой обслуживания одним экземпляром приложения нескольких развертываний.
Будет ли SQL Azure Database работать с Windows Azure?
Да. SQL Azure Database предоставляет облачную службу реляционной базы данных для Windows Azure. Разработчики, создающие приложения Windows Azure, смогут получать доступ к SQL Azure в соответствии с их требованиями к базам данных.
Какие средства разработки могут использовать разработчики при создании бизнес-приложений для SQL Azure?
Разработчики смогут использовать Visual Studio для создания новых приложений и реализации поддержки SQL Azure в существующих. При разработке приложений они также могут применять элементы управления, конструкторы и средства ASP.NET. В будущем разработчики получат веб-инструменты управления для доступа к облачным данным и управления ими, а также средства и документацию для поддержки дополнительных языков программирования в SQL Azure.
На основе чего определяются цены для баз данных SQL Azure?
Плата за базу данных SQL Azure определяется на основе количества созданных баз данных и потребленных приложением в день. Оплата осуществляется помесячно.
У меня есть локальные экземпляры Windows Server, SQL Server. Могу ли я перенести их в Windows Azure, SQL Azure? Как это будет происходить?
Нет. В данный момент нельзя переносить существующие локальные экземпляры Windows Server, SQL Server в Windows Azure, SQL Azure.
Как соглашения об уровне обслуживания Windows Azure и SQL Azure будут совмещаться с текущими лицензионными соглашениями Microsoft для локальных продуктов?
Соглашения об уровне обслуживания Windows Azure и SQL Azure не зависят от лицензионных соглашений Microsoft для локальных продуктов. Соглашения об уровне обслуживания для платформы Windows Azure предоставляют гарантию относительно времени бесперебойной работы в каждом месяце для используемых облачных служб, и при несоблюдении установленного времени из сформированного счета для заказчика вычитается определенная сумма.
Полезные материалы:
Comments
Anonymous
February 08, 2011
Уважаемый Илья, настройте cut для gotdotnet.ru. Там специально просили об этом всех, читать не удобно, Вы там не один пишите. Спасибо.Anonymous
February 08, 2011
Спасибо! Исправил! Простите за недоразуменее с катом!