Инфоурок Другое ПрезентацииВведение в SQL Data Services

Введение в SQL Data Services

Скачать материал
Скачать материал "Введение в SQL Data Services"

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Заведующий хозяйством

Описание презентации по отдельным слайдам:

  • Введение в SQL Data ServicesАлексей Шуленин
эксперт по технологиям обработки...

    1 слайд

    Введение в SQL Data Services
    Алексей Шуленин
    эксперт по технологиям обработки и анализа информации
    департамент стратегических технологий
    Российское представительство Microsoft
    Microsoft Corporation

  • Развитие компонентного подходаИдея повторного использования кода Процедуры (п...

    2 слайд

    Развитие компонентного подхода
    Идея повторного использования кода
    Процедуры (подпрограммы)
    DLL/Сборки
    RPC
    объекты
    Компоненты
    DCOM/.net REMOTING
    Сервисы
    Идея
    Статические библиотеки
    Динамические библиотеки
    Сеть
    Абстракция

  • Эволюция хостинга

    3 слайд

    Эволюция хостинга

  • Преимущества облачной модели с точки зрения заказчикаНе требует крупных предв...

    4 слайд

    Преимущества облачной модели с точки зрения заказчика
    Не требует крупных предварительных инвестиций
    В случае неудачи проекта не нужно ломать голову, куда пристроить дорогостоящее оборудование
    В случае удачи автоматически решается проблема масштабирования со 100 пользователей на 1000, на 10000, ...
    Меньше операционных издержек
    Размещение громадных количеств пользователей на высокомасштабируемом сервере дает стоимость в расчете на пользователя на порядки меньше, чем в случае развертывания системы на предприятии
    Пересекает границы организации
    Файрвол не преграда
    Ценность информации многократно возрастает, если расширить ее на партнеров, поставщиков, клиентов
    Проще, чем строить экстранет
    Быстрая подготовка к работе
    Пользователям не требуется ждать внедрения и настройки специализированных средств
    Позволяет IT сфокусироваться на инновациях

  • Три модели DaaSMultitenancy hosted model
Несколько организаций шарят одну баз...

    5 слайд

    Три модели DaaS
    Multitenancy hosted model
    Несколько организаций шарят одну базу
    Грубо говоря, каждый эккаунт привязан к своей схеме
    Стандартный доступ через SOAP, REST, XML, ODBC, JDBC, SQL
    Можно создавать таблички, DRI, запрашивать, добавлять, изменять данные
    Нет задачи сопровождать и поддерживать
    Dedicated database hosted model
    Каждой организации выделяется по БД
    Все БД шарят общую инфраструктуру: сервера, сторидж, ...
    Доступ по стандартным протоколам, что и в пред.случае
    DBA клиента может апгрейдить, тюнить базу, вообще делать с ней, что хочет – она же его выделенная
    Database container model
    Обращаемся уже не к таблицам, а к сущностям
    Более высокий уровень абстракции
    Сущности, вообще говоря, нереляционны, хотя основываются на реляционных таблицах
    Базовая сущность – набор свойств со значениями, сущности могут наследовать друг от друга
    Доступ к контейнеру сущностей как к веб-сервису (REST, SOAP)

  • Azure Services PlatformMicrosoft Dynamics CRM ServicesMicrosoft SharePoint S...

    6 слайд


    Azure Services Platform
    Microsoft Dynamics CRM Services
    Microsoft SharePoint Services
    Платформа Windows Azure

  • Задачи и решенияТранспорт и инфраструктура сервисов
Windows Communication Fou...

    7 слайд

    Задачи и решения
    Транспорт и инфраструктура сервисов
    Windows Communication Foundation
    Масштабируемый хостинг сервисов и приложений
    Windows Azure
    Связь разнородных сервисов между собой
    .NET Services
    Авторизация
    LiveID, CardSpace (Client), .Net Services
    Масштабируемая свободно структурированная база данных, доступная по REST и SOAP
    SQL Services
    Структурированная база данных в виде REST
    ADO.NET Data Services
    Синхронизация данных
    ADO.NET Synchronization Services, Sync Framework, Live Framework

  • Характеристики SDSМасштабируемостьМиллионы геораспределенных машин, распредел...

    8 слайд

    Характеристики SDS
    Масштабируемость
    Миллионы геораспределенных машин, распределяемая по географическому принципу доставка информации петабайты данных, петафлопы вычислительной мощности
    Уменьшение капиталозатрат
    Недорогие процессоры, диски IDE/SATA
    Уменьшение операционных издержек
    Самомониторинг, самонастройка, самоизлечение
    Предсказуемое детерминированное последовательное поведение
    На которое не оказывают влияния программные, аппаратные и коммуникационные сбои
    Высокая производительность
    Инновационные алгоритмы

  • Параллельная обработка Все запросы обрабатываются через слой SDS Front End
З...

    9 слайд

    Параллельная обработка
    Все запросы обрабатываются через слой
    SDS Front End
    Запрос, разбитый на части, будет адресован нескольким серверам

  • В открытом тестировании с сентября 2008 г.

    10 слайд

    В открытом тестировании с сентября 2008 г.

  • Создание облачного приложенияWindows Azure SDK - примеры
Windows Azure Tools...

    11 слайд

    Создание облачного приложения
    Windows Azure SDK - примеры
    Windows Azure Tools for Microsoft Visual Studio - шаблоны проектов
    Подробнее - см., напр., http://habrahabr.ru/blogs/Azure/49389/

  • SDS SDKСостав
SDS Explorer - графическая утилита для управления authorities /...

    12 слайд

    SDS SDK
    Состав
    SDS Explorer - графическая утилита для управления authorities / контейнерами / сущностями
    Утилита командной строки SDS Command Prompt
    Размер - 553 КБ
    Ставится отсюда:
    https://www.microsoft.com/downloads/details.aspx?FamilyId=0B1FA5C6-EC9D-440B-939E-481DD05F2627&displaylang=en

  • SDS ExplorerСоздание Authority

    13 слайд

    SDS Explorer
    Создание Authority

  • SDS ExplorerПросмотр набора имеющихся у эккаунта authorities:

    14 слайд

    SDS Explorer
    Просмотр набора имеющихся у эккаунта authorities:

  • SDS ExplorerПолучение сущности Metadata Properties (служебные поля)KindIdVers...

    15 слайд

    SDS Explorer
    Получение сущности
    Metadata Properties (служебные поля)
    Kind
    Id
    Version
    Flexible Properties
    (пользовательские поля)

  • Гибкая схема сущностиРазные наборы свойств в разных сущностях
Разные типы дан...

    16 слайд

    Гибкая схема сущности
    Разные наборы свойств в разных сущностях
    Разные типы данных у свойств с одинаковым именем
    Каждая сущность создается отдельно
    <Книга xmlns:s="http://schemas.microsoft.com/sitka/2008/03/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema">
    <s:Id>1</s:Id>
    <Название xsi:type="x:string">Руслан и Людмила</Название>
    <Жанр xsi:type="x:string">ж1</Жанр>
    </Книга>
     
    <Книга xmlns:s="http://schemas.microsoft.com/sitka/2008/03/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema">
    <s:Id>2</s:Id>
    <Название xsi:type="x:string">Борис Годунов</Название>
    <Жанр xsi:type="x:string">ж1</Жанр>
    <Год_издания xsi:type="x:decimal">1831</Год_издания>
    </Книга>
     
    <Книга xmlns:s="http://schemas.microsoft.com/sitka/2008/03/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema">
    <s:Id>3</s:Id>
    <Название xsi:type="x:string">Герой нашего времени</Название>
    <Жанр xsi:type="x:string">ж1</Жанр>
    <Год_издания xsi:type="x:string">1841</Год_издания>
    </Книга>
     
    <Книга xmlns:s="http://schemas.microsoft.com/sitka/2008/03/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2001/XMLSchema">
    <s:Id>4</s:Id>
    <Название xsi:type="x:string">Введение в SDS</Название>
    <Жанр xsi:type="x:string">ж2</Жанр>
    <Кол-во_в_наличии xsi:type="x:decimal">10</Кол-во_в_наличии>
    </Книга>

  • ЗапросыLINQ-подобный язык запросов
Подробнее - см. BOL на SDS (http://msdn.mi...

    17 слайд

    Запросы
    LINQ-подобный язык запросов
    Подробнее - см. BOL на SDS (http://msdn.microsoft.com/en-us/library/cc512417.aspx)
    Пример
    (from жанр in entities.OfKind("Жанр")
    where жанр["Жанр"] == "Классика"
    from книга in entities.OfKind("Книга")
    where книга["Жанр"] == жанр.Id
    orderby книга["Название"]
    select книга).Take(2)
    Комментарии
    Обращение к служебным св-вам: книга.Id, к пользовательским - книга["Жанр"]
    Case sensitive: книга["жанр"] не поймет
    В то же время и ошибки не будет - схема-то гибкая
    entities.OfKind("Жанр") то же, что where жанр.Kind == "Жанр": && …
    Результат метода OfKind() сам является selectом (как и entities)
    Можно просто написать в качестве запроса entities.OfKind(...).
    Можно использовать «статическое звучание» метода
    Вместо (select ...).Take(n) - Take(select ..., n)

  • Работа по протоколу RESTHTTP-методы POST, GET, PUT, DELETE преобразуются в CR...

    18 слайд

    Работа по протоколу REST
    HTTP-методы POST, GET, PUT, DELETE преобразуются в CRUD
    Иными словами, в INSERT / SELECT / UPDATE / DELETE
    На самом деле мы ее все это время наблюдали
    SDS Explorer – это приложение, работающее с SDS по REST
    Имеется полезная кнопка Request-Response, которая позволяет посмотреть, что уходит/приходит по HTTP во время выполнения действий над объектами SDS
    Существенно облегчает создание собственного REST-приложения

  • Создание собственного REST-приложенияВсе, что требуется – сформировать соотве...

    19 слайд

    Создание собственного REST-приложения
    Все, что требуется – сформировать соответствующий HTTP Request и отправить его на URL SDS
    . C:\Events\"09-02 TechDays"\SDS\REST\SDS_GetSitkaPwd.ps1

    [string] $login = "alexejs"; [string] $password = GetSitkaPwd

    function GetWebPage([string] $url)
    {
    [net.httpWebRequest] $req = [net.webRequest]::create($url)
    $req.Credentials = new-object Net.NetworkCredential($login, $password)
    [net.httpWebResponse] $rep = $req.getResponse()
    [IO.StreamReader]$sr = new-object IO.StreamReader($rep.getResponseStream())
    return $sr.ReadToEnd()
    }

    [string] $url = "https://leshik.data.database.windows.net/v1/Библиотека?q='entities.OfKind(`"Книга`").Take(2)'"
    [string] $output = GetWebPage($url)
    [console]::WriteLine(); [console]::WriteLine($output); [console]::WriteLine()
    Взято из Request на пред.слайде

  • Работа по протоколу SOAPСоздание ссылки на Windows Communication Foundation-с...

    20 слайд

    Работа по протоколу SOAP
    Создание ссылки на Windows Communication Foundation-сервис SDS
    https://database.windows.net/soap/v1/

  • Работа по протоколу SOAPЧитается wsdl, создается прокси
Становится доступной...

    21 слайд

    Работа по протоколу SOAP
    Читается wsdl, создается прокси
    Становится доступной объектная модель
    IntelliSense

  • Выполнение запроса
SitkaSoapServiceClient.Query(scope, «текст запроса»)запрос

    22 слайд

    Выполнение запроса
    SitkaSoapServiceClient.Query(scope, «текст запроса»)
    запрос

  • Аутентификация по SOAPВ отличие от REST, помимо базовой, поддерживаются:
// A...

    23 слайд

    Аутентификация по SOAP
    В отличие от REST, помимо базовой, поддерживаются:
    // Access Control Service
    proxy = new SitkaSoapServiceClient("UsernameTokenEndpoint");
    proxy.ClientCredentials.UserName.UserName = "solutionname";
    proxy.ClientCredentials.UserName.Password = "solutionpassword";

    //CardSpace
    proxy = new SitkaSoapServiceClient("CardSpaceTokenEndpoint");
    proxy.DisplayInitializationUI(); //вызывает CardSpace prompt
    proxy.Open(); //для CardSpace требуется явное открытие прокси

    //X.509
    proxy = new SitkaSoapServiceClient("CertificateTokenEndpoint");
    proxy.ClientCredentials.ClientCertificate.SetCertificate(
    "CN=localhost", StoreLocation.LocalMachine, StoreName.My
    ); //предварительно требуется создать сертификат (с закрытым ключом) и установить его куда-нибудь на данную машину (например, в Local Computer\Personal\Certificates), Personal Conainer – это StoreName.My).
    //Также создать самогенерящийся открытый ключ сертификата в Local Computer\Trusted People\Certificates, чтобы он валидировался

    Адрес службы https://data.database.windows.net/soap/v1/zurich

  • static void Main(string[] args)
    {
        SitkaSoapServiceClient proxy =...

    24 слайд

    static void Main(string[] args)
    {
    SitkaSoapServiceClient proxy = new SitkaSoapServiceClient("BasicAuthEndpoint");
    proxy.ClientCredentials.UserName.UserName = "alexejs";
    proxy.ClientCredentials.UserName.Password = Settings.Default.SitkaPassword;
     
    Scope scope = new Scope();
    scope.AuthorityId = "leshik"; scope.ContainerId = "Библиотека"; scope.EntityId = "1";
     
    Entity entity = proxy.Get(scope);
    Debug.WriteLine("Старое значение версии = " + entity.Version);
     
    entity.Properties["Название"] = "Руслан и Людмила";
     
    scope.VersionMatch = new VersionMatch();
    scope.VersionMatch.Version = entity.Version;
    scope.VersionMatch.MatchType = VersionMatchType.Match;
     
    try
    { scope = proxy.Update(scope, entity); }

    catch (System.ServiceModel.FaultException<Error> e)
    {
    string errMsg;  
    switch (e.Detail.StatusCode)
    {
    case ErrorCodes.EntityNotFound: errMsg = String.Format("Эвона! А сущность с Id {0} уже кто-то прихлопнул :(", entity.Id); break;
    case ErrorCodes.PreconditionFailed: errMsg = String.Format("Дык ить сущность с Id {0} с тех пор вроде как того, поменялась :(", entity.Id); break;
    default: errMsg = "Чета случилось, а че - хтож ево знаить :("; break;
    }
    Debug.WriteLine(errMsg);

    Debug.WriteLine("Новое значение версии = " + scope.VersionMatch.Version);
      proxy.Close();
    }
    Совместный доступ

  • static void Main(string[] args)
    {
        string login = &quot;alexejs&quot;, passw...

    25 слайд

    static void Main(string[] args)
    {
    string login = "alexejs", password = Settings.Default.SitkaPassword;
    string authorityId = "leshik", containerId = "Библиотека", entityId = "1";
    string url = "https://" + authorityId + ".data.database.windows.net/v1/" + containerId + "/" + entityId;
    XmlDocument entityXml = new XmlDocument();

    HttpWebRequest req = (HttpWebRequest) WebRequest.Create(url);
    req.Credentials = new NetworkCredential(login, password);
    req.ContentType = "application/x-ssds+xml";

    //Читаем сущность c Id = entityId в entityXml (XmlDocument).
    req.Method = "GET";
    HttpWebResponse rep = (HttpWebResponse) req.GetResponse();
    string xml_сущности_в_виде_текста = new StreamReader(rep.GetResponseStream()).ReadToEnd();
    entityXml.LoadXml(xml_сущности_в_виде_текста);
    rep.Close();
    Debug.WriteLine("\nУспешно прочитана сущность:\n" + xml_сущности_в_виде_текста);

    //Из XML вытаскиваем и запоминаем версию
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(entityXml.NameTable);
    nsmgr.AddNamespace("s", "http://schemas.microsoft.com/sitka/2008/03/");
    XmlNode x = entityXml.DocumentElement.SelectSingleNode("s:Version", nsmgr);
    string версия = x.InnerText;

    //Меняем какие-нибудь св-ва сущности
    entityXml.SelectSingleNode("Книга/Название").InnerText = "Руслан и Людмила";
    xml_сущности_в_виде_текста = entityXml.InnerXml;
    Debug.WriteLine("Изменяем сущность к виду:\n" + xml_сущности_в_виде_текста);
    ...
    То же самое в случае REST (1)

  • //Апдейтим сущность на сервер
        req = (HttpWebRequest)WebReques...

    26 слайд

    //Апдейтим сущность на сервер
    req = (HttpWebRequest)WebRequest.Create(url);
    req.Credentials = new NetworkCredential(login, password);
    req.ContentType = "application/x-ssds+xml";
    req.Method = "PUT";
    req.Headers["If-Match"] = версия; //если на сервере будет уже другая версия, выкинется исключение
    Encoding кодировка = Encoding.UTF8;
    req.ContentLength = кодировка.GetByteCount(xml_сущности_в_виде_текста);
    req.GetRequestStream().Write(кодировка.GetBytes(xml_сущности_в_виде_текста), 0, (int)req.ContentLength);
    try
    {
    rep = (HttpWebResponse)req.GetResponse();
    Debug.WriteLine("Обновление прошло успешно. Новая версия записи = " + rep.Headers["eTag"]);
    rep.Close();
    }
    catch (WebException e)
    {
    rep = (HttpWebResponse)e.Response;
    if (e.Status == WebExceptionStatus.ProtocolError)
    switch (rep.StatusCode)
    {
    case HttpStatusCode.NotFound:
    Debug.WriteLine(String.Format("Эвона! А сущность с Id {0} уже кто-то прихлопнул :(", entityId)); break;
    //rep.StatusDescription == "Not Found"
    //e.Message == "The remote server returned an error: (404) Not Found."
    case HttpStatusCode.PreconditionFailed:
    Debug.WriteLine(String.Format("Дык ить сущность с Id {0} с тех пор вроде как того, поменялась :(", entityId)); break;
    //rep.StatusDescription == "A precondition, such as Version, could not be met."
    //e.Message == {"The remote server returned an error: (412) A precondition, such as Version, could not be met."
    }
    else
    Debug.WriteLine("Чета случилось, а че - хтож яво таперича знаить :(");
    }
    Debug.WriteLine("");
    }
    То же самое в случае REST (2)

  • Массовая загрузкаПодготовить из таблицы XML с определениями сущностей
Превращ...

    27 слайд

    Массовая загрузка
    Подготовить из таблицы XML с определениями сущностей
    Превращаем каждую запись в сущность
    Делается элементарным запросом SELECT … FOR XML
    Загрузить полученный XML с определениями сущностей на SDS
    Делается при помощи утилиты st.exe (вторая в составе SDK)
    Мне неизвестно о существовании у SDS специализированных интерфейсов массовой загрузки
    Поэтому я полагаю, что чуда не происходит
    Утилита разбивает пакетный XML на куски по числу заказанных потоков
    Чтобы на каждый поток пришлось примерно равное кол-во сущностей
    И создает их по заказанному протоколу аналогично рассмотренным выше способам

  • Массовая загрузкаsqlcmd -S (local) -d Northwind -E -i c:\temp\CustomerQuery.s...

    28 слайд

    Массовая загрузка
    sqlcmd -S (local) -d Northwind -E -i c:\temp\CustomerQuery.sql -o Customers.xml

  • Массовая загрузка&quot;%programfiles%&quot;\&quot;Microsoft SQL Data Services SDK&quot;\st.exe lo...

    29 слайд

    Массовая загрузка
    "%programfiles%"\"Microsoft SQL Data Services SDK"\st.exe loadbatch leshik Northwind c:\Temp\Customers.xml /rest /overwrite /verbose /parallel:4

  • Чтоб ты жил в эпоху перемен(старинное китайское проклятие)На конференции MIX...

    30 слайд

    Чтоб ты жил в эпоху перемен
    (старинное китайское проклятие)
    На конференции MIX’09 в марте было объявлено (http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx), что SDS будут поддерживать произвольный T-SQLный доступ по обычному протоколу TDS
    Таким образом, работа с SQL Server в Облаке не будет отличаться от работы с локальным SQL Server
    Это здорово, но означает, что только что расказанное уже не актуально
    До мая закрытое тестирование, май - июнь - по приглашениям, с июля - все желающие
    Модель ACE и доступ по REST/SOAP в настоящее время остаются, но впоследствии перейдут в Azure Storage

  • То же самое на картинкеEvolvesSDS NextTDS + TSQL ModelWeb AppSQL Client*Windo...

    31 слайд

    То же самое на картинке
    Evolves
    SDS Next
    TDS + TSQL Model
    Web App
    SQL Client*
    Windows Azure
    Browser
    Application
    Application
    REST Client
    REST (Astoria)
    ADO.Net + EF
    Application
    SQL Client*
    Cloud
    HTTP
    HTTP+REST
    TDS
    * Client access enabled using TDS for ODBC,
    ADO.Net, OLEDB, PHP-SQL, Ruby, …
    Data Center
    ODBC, OLEDB, ADO.Net PHP, Ruby, …

    SDS Current
    REST/SOAP + ACE Model
    Web App
    REST Client
    Windows Azure
    Browser
    Application
    Application
    REST Client
    HTTP
    HTTP+REST
    Data Center
    Cloud

  • Преимущества новой моделиСочетание преимуществ привычной работы с SQL Server...

    32 слайд

    Преимущества новой модели
    Сочетание преимуществ привычной работы с SQL Server и неограниченной доступности и масштабируемости Облака ценой минимальных административных издержек
    Знакомая реляционная модель SQL Server
    Использование существующих инструментов и API
    Поддерживается работа из PHP, Ruby, Java
    Просто БД в Облаке

  • Service Provisioning ModelКаждый account
объект биллинга
владеет одним или не...

    33 слайд

    Service Provisioning Model
    Каждый account
    объект биллинга
    владеет одним или несколькими виртуальными серверами
    Каждый server
    хостит одну или несколько БД, включая virtual master
    каждая БД ограничена в размерах
    На сервере заводятся logins
    Каждая database
    имеет много SQL users
    Account
    Server
    Database
    Server=server1.data.database.windows.net
    Database=testDB
    Login=nigele[@server1] (отображается на testuser)

  • Логические базы данных (ЛБД)По-прежнему автоматическая репликация, избыточнос...

    34 слайд

    Логические базы данных (ЛБД)
    По-прежнему автоматическая репликация, избыточность, контроль здоровья и восстановление в случае сбоя
    Machine 5
    SQL Instance
    SQL DB
    DB5
    DB1
    DB3
    DB2
    Provisioning (databases, accounts, roles…), Metering, and Billing
    Machine 6
    SQL Instance
    SQL DB
    DB1
    DB6
    DB2
    DB3
    Machine 4
    SQL Instance
    SQL DB
    DB1
    DB2
    DB3
    DB4
    Machine 7
    SQL Instance
    SQL DB
    DB4
    DB5
    DB1
    DB7
    Scalability and Availability: Fabric, Failover, Replication, and Load Balancing

  • Пример в рамках новой моделиhttp://blogs.msdn.com/ssds/archive/2009/03/27/95...

    35 слайд

    <?php
    $host = "server.data.dev.mscds.com";
    $dbname = "database";
    $dbuser = "user@server";
    $dbpwd = "password";
    $driver = "{SQL Server Native Client 10.0}";


    // Build connection string
    $dsn="Driver=$driver;Server=$host;Database=$dbname;Encrypt=true;TrustServerCertificate=true";
    if (!($conn = @odbc_connect($dsn, $dbuser, $dbpwd))) {
    die("Connection error: " . odbc_errormsg());
    }
     
    // Got a connection, run simple query
    if ($qh = @odbc_exec($conn, "SELECT A, B FROM myTable")) {
    // Dump query result
    $rows = 0;
    while ( $row = @odbc_fetch_object($qh) ) {
    echo("$rows: $row->A $row->B\r\n");
    $rows++;
    }

    @odbc_free_result($qh);
    }
    else {
    // Error running query
    echo("Query error: " . odbc_errormsg($conn));
    }
     
    // Free the connection
    @odbc_close($conn);
    ?>
    Пример в рамках новой модели
    http://blogs.msdn.com/ssds/archive/2009/03/27/9515262.aspx

  • Расширяя SQL в ОблакоSQL Data Services (SDS)
Database-as-a-ServiceData SyncRe...

    36 слайд

    Расширяя SQL в Облако
    SQL Data Services (SDS)
    Database-as-a-Service
    Data Sync
    Reference Data
    Reporting
    Business Intelligence
    Symmetric Programming Model
    Предложение начального уровня – базовая функциональность СУБД в качестве сервиса (SDS), синхронизация и концентрация данных
    Дальнейшие предложения
    Дополнительные сервисы платформы данных: BI/DSS, DW
    Новые сервисы: Reference Data, Secure Data Hub
    Data Hub Aggregation

  • Вопросы?

    37 слайд

    Вопросы?

  • © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Window...

    38 слайд

    © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
    The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
    MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Получите профессию

Няня

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 664 409 материалов в базе

Скачать материал

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 29.02.2020 116
    • PPTX 5.5 мбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Лапшина Валерия Андрееевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Лапшина Валерия Андрееевна
    Лапшина Валерия Андрееевна
    • На сайте: 3 года и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 80199
    • Всего материалов: 228

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Фитнес-тренер

Фитнес-тренер

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Специалист в области охраны труда

72/180 ч.

от 1750 руб. от 1050 руб.
Подать заявку О курсе
  • Сейчас обучается 34 человека из 21 региона
  • Этот курс уже прошли 154 человека

Курс профессиональной переподготовки

Организация деятельности библиотекаря в профессиональном образовании

Библиотекарь

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 284 человека из 66 регионов
  • Этот курс уже прошли 849 человек

Курс профессиональной переподготовки

Руководство электронной службой архивов, библиотек и информационно-библиотечных центров

Начальник отдела (заведующий отделом) архива

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Этот курс уже прошли 25 человек

Мини-курс

Мастерство влияния и успешных переговоров

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 33 человека из 19 регионов

Мини-курс

Читательская грамотность у школьников

2 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 32 человека из 16 регионов
  • Этот курс уже прошли 68 человек

Мини-курс

Проектный подход к рекламе: эффективные стратегии и инструменты

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе