SlideShare a Scribd company logo
1 of 78
Windows Azure Keynote

       Знакомство                  Создание приложений                   Решение задач
     с Windows Azure                  Windows Azure                     с Windows Azure

Windows Azure Internals          Сценарии хранения             Media Services - обработка медиа
                                 и обработки данных
Windows Azure Q&A                в Windows Azure
                                                                 Миграция имеющихся
                                 Использование Azure ACS         приложений в Windows Azure
Безопасность                     для решения задач
Windows Azure                    аутентификации                  Service Bus – связь облака
                                 пользователей                   с сервисами предприятия


Лабораторные работы
Введение в Windows Azure Virtual Machines        Продвинутые техники выявления проблем
Развертывание Active Directory в Windows Azure   для решений на базе Windows Azure
Миграция приложения ASP.NET на Windows Azure     Развертывание фермы SharePoint в Windows Azure
4.5
                                                                                                                                                 4.03
Кол-во объектов в триллионах



                                4
                               3.5
                                3                                                                                     2.89

                               2.5
                                2                                                          1.7
                               1.5                             1.33
                                     0.94
                                1
                               0.5
                                0


                                                                                       Axis Title


                                      Источник: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/07/20/windows-azure-storage-4-trillion-objects-and-counting.aspx
average          peak
                            1000000
Кол-во запросов в секунду




                             900000
                             800000
                             700000
                             600000
                             500000
                             400000
                             300000
                             200000
                             100000
                                  0




                                      Источник: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/07/20/windows-azure-storage-4-trillion-objects-and-counting.aspx
Некоторые клиенты Windows Azure
West US           East US


          South Central US
Container                              Blobs
          https://<account>.blob.core.windows.net/<container>




Account      Table                             Entities
           https://<account>.table.core.windows.net/<table>




           Queue                             Messages
          https://<account>.queue.core.windows.net/<queue>
http://myaccount.blob.core.windows.net/mycontainer/myblob
    http://myaccount.blob.core.windows.net/$root/myblob
    http://myaccount.blob.core.windows.net/myblob




http://myaccount.blob.core.windows.net/mycontainer/path/myblob
string storageConnectionString =
       CloudConfigurationManager.GetSetting("StorageConnectionString");

CloudStorageAccount storageAccount =
       CloudStorageAccount.Parse(storageConnectionString);

CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

CloudBlobContainer container = blobClient.GetContainerReference("files");
container.CreateIfNotExists();

BlobContainerPermissions publicPermissions = new BlobContainerPermissions
{
       PublicAccess = BlobContainerPublicAccessType.Blob
};
container.SetPermissions(publicPermissions);
using (Stream stream = System.IO.File.OpenRead(@"D:blob.txt"))
{
       CloudBlockBlob blob = container.GetBlockBlobReference("blob.txt");
       blob.UploadFromStream(stream);

      CloudBlockBlob blob2 = container.GetBlockBlobReference("demo/blob2.txt");
      blob2.UploadFromStream(stream);

      CloudBlockBlob blob3 = container.GetBlockBlobReference("demo/blob3.txt");
      blob3.UploadFromStream(stream);
}

foreach (IListBlobItem item in container.ListBlobs("demo/"))
{
       // Do some action
}
Прогресс обработки периодически сохраняется в сообщении
                          Увеличение visibility timeout на 5 минут
7:04 AM
7:00
7:09 AM
7:07         Получение сообщения с 5 минутным visibility timeout
                                                  Expires @ 7:05AM
                                                  Expires @ 7:09AM

           Azure Queue
                         7:09
                         7:05
                         7:14


                                    Получение прогресса и
                                    продолжение обработки
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

CloudQueue queue = queueClient.GetQueueReference("booking");
queue.CreateIfNotExists();

CloudQueueMessage message = new CloudQueueMessage("Flight: Kharkov - Moskow");
queue.AddMessage(message);

...

CloudQueueMessage message = queue.GetMessage();

queue.DeleteMessage(message);
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

CloudTable table = tableClient.GetTableReference("people");

TableQuery<CustomerEntity> query = new TableQuery<CustomerEntity>()
       .Where(TableQuery.GenerateFilterCondition("PartitionKey",
       QueryComparisons.Equal, "Smith"));

foreach (CustomerEntity entity in table.ExecuteQuery(query))
{
       Console.WriteLine("{0}, {1}t{2}t{3}", entity.PartitionKey,
           entity.RowKey,
       entity.Email, entity.PhoneNumber);
}
«In "Avatar," every blade of grass, every cloud in the sky, every vine
in the jungle existed digitally and had to be stored somewhere.»

                                                    Jon Landau, Producer




                               Источник: http://www.microsoft.com/microsoftservices/en/uk/article_Microsoft_Role_In_Avatar.aspx
Более миллиона уникальных пользователей
                     посетили сайт компании в период проката
                     фильма в 2010 году.




     «We developed an interactive game where users try to navigate a
     course maze in a Volvo car in the fastest time and using the shortest
     route.»

               David Holecek, Digital Strategy Manager at Volvo Car Corporation




                                  Около 400 000 активных пользователей игры



Источник: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000008490
Microsoft Zune Media
Storage and Delivery
Язык запросов HiveQL
CREATE TABLE logs(t1 string, t2 string, t3 string, t4 string, t5 string, t6
string, t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';

LOAD DATA LOCAL INPATH 'sample.log' OVERWRITE INTO TABLE logs;

SELECT t5 AS sev, COUNT(*) AS cnt FROM logs
WHERE t5 LIKE '[%'
GROUP BY t5;
“We take in raw data and make it into something that is
actionable for our consumers, brands, and partners.”

           David Mariani Vice President of Engineering at Klout




                         “Klout chose the best of both worlds by marrying the
                         Microsoft BI platform with Hadoop and Hive.”

                                         David Mariani Vice President of Engineering at Klout




                     Источник: http://www.microsoft.com/casestudies/Microsoft-SQL-Server-2012-Enterprise/Klout/Data-Services-Firm-Uses-Microsoft-BI-and-
                     Hadoop-to-Boost-Insight-into-Big-Data/710000000129
Account         Server             Database

• Работа с     • Информация о     • Аналог SQL
  порталом       базах данных       Server базы
• Инструмент   • Аутентификация     данных
  оплаты         и безопасность   • Содержит
                                    таблицы,
                                    процедуры,
                                    индексы, и т.п.
SQL Azure Network                                                        Applications use standard SQL client
                Topology                                       Application               libraries: ODBC, ADO.Net, PHP, …


                                                                  Internet
                                                                Azure Cloud


                                                   TDS (tcp)
          Security Boundary                                                             Load balancer forwards „sticky‟ sessions to
                                                                    LB                  TDS protocol tier



    TDS (tcp)



                  Gateway           Gateway            Gateway                Gateway            Gateway                Gateway

                Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to CloudDB
    TDS (tcp)


L                           SQL                       SQL                          SQL                            SQL


                              Scalability and Availability: Fabric, Failover, Replication, and Load balancing
Запрос к базе SQL Azure
                                1
                                                  TDS Gateway
                                                 Front-end Node
                                TDS Session                         Protocol Parser
                                                        2
                                                                    3
                                          Gateway Logic


                                                                                                               Master Cluster

                                                                                                                 Master Node
                                                                                         4
                                                                                                           Master Node Components



      7
                                                    5       8                                          6

  Backend Node 1                              Backend Node 2                                               Backend Node 3
    SQL Instance                                 SQL Instance                                                SQL Instance
      SQL DB                                       SQL DB                                                      SQL DB




                   Scalability and and Availability: Fabric,Failover,Replication, and Load balancing
                        Scalability Availability: Fabric, Failover, Replication, and Load balancing
Federations

SalesDB
                      CustomerFederationeration
                        CustomerFederationeration
                            CustomerFederation



          Federation Root
                                                 Federation Members
Federations                               member: Range [1000, 2000)


SalesDB                                                                  AU                       AU                        AU


                        CustomerFederationeration
                                                                        PK=5                     PK=25                     PK=35



                          CustomerFederationeration
                                                                                AU                        AU                        AU


                              CustomerFederation
                                                                               PK=5                      PK=25                     PK=35
                                                                                        AU                         AU                        AU
                                                                                      PK=1005                    PK=1025                   PK=1035




          Federation Root
                                                   Federation Members                    Atomic Units
Central Tables

                                                     Federations

SalesDB                                                                                Federated Tables
                       CustomerFederationeration
                         CustomerFederationeration
                             CustomerFederation
                                                                                       Reference Tables



          User Database and
          Federation root                        Federation members
USE FEDERATION CustomerFederation(customer_id = 5075) …



              SalesDB
                                         CustomerFederationeration
                                           CustomerFederationeration
                                               CustomerFederation




            Range Distribution [min,1000, 2000, 3000 …..               5000, 10000, Max]
USE FEDERATION CustomerFederation(cid = 55)
                                                      WITH RESET, FILTERING=OFF
                                                      GO

FILTERING=OFF
Работаем с данными всего Federation member
     Неограниченный доступ к данным базы: Всѐ равно что соединиться по имени БД
          DDL, DML и доступ ко всем Atomic Units внутри Federation Member

Хорошо для…
     Management Tasks: Обновление схемы данных
     Fan-out Querying – получение данных нескольких
     atomic units
                                                                                 member: Range [100,200)

                                                                               Products
                                                                               (referece)     Customer_id=55
SalesDB
                             CustomerFederation
                               CustomerFederation                               Customers                         Orders
                                                                                (federated)                    (federated)

                                                 Microsoft Confidential     Microsoft Confidential
USE FEDERATION CustomerFederation(cid = 55)
                                            WITH RESET, FILTERING=ON
                                            GO

FILTERING=ON
Работаем с данными одного Atomic Unit
     Полностью доступны данные Reference Tables
     Запрещены любые изменения глобального состояния Federation Member
Хорошо для…
     Безопасной модели разработки
     Предотвращения утечки данных

                                                                   member: Range [100,200)

                                                                 Products
                                                                 (referece)     Customer_id=55
SalesDB
                     CustomerFederation
                       CustomerFederation                         Customers                         Orders
                                                                  (federated)   Customer_id=55   (federated)

                                      Microsoft Confidential
ALTER FEDERATION CustomerFederation SPLIT AT (tenant_id=7500)


  SalesDB
                                  Orders_federation
                                CustomerFederationeration
                                     CustomerFederation




Range Distribution [min,1000, 2000, 3000 …..                5000, 10000, Max]
App
                                            member: Range [100,200)


                                      PostalCode
SalesDB                              (reference)

              CustomerFederationeration
                CustomerFederationeration
                    CustomerFederation Customer           CustomerAddress
                                      (federated)           (federated)




          Member: Range [100,150)                             Member: Range [150,200)
“We can be selling a few hundred tickets an hour for most
                                   of the week, but when a big event goes on sale at 9:00 in
                                   the morning, we get an enormous spike in load against
                                   our application.”

                                                                Matthew Davey, Founder, TicketDirect




Источник: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000005890
Windows Azure Roles                                                                                Client Applications

                                                                                      Service Bus      Castellan.Azure
                                                                                                       • Box Office sales
                                                                                                       • Ticket Printing
                                                                                                       • System Administration
                                                                                                       • Venue/Event
http:// TicketDirect .* Dynamic Worker Distributed            Partitioner                  WCF         Management
                         (tasks uploaded Cache Worker           Worker                                 • Partitioning
                             as blobs)




Windows Azure Storage                                                                                      On Premises
     Blobs to   -- -- Tables to
                 --                                                 Queues for
                                                                                                           SQL Server
     store web
     and worker ---   record
                 --- server &
                                                                    communication
                                                                    between clients
     role
     resources
                ----  partition
                      information
                                                                    and roles

                                                                                                         Castellan      Venue

SQL Azure
                     Castellan
                    Castellan            Castellan
                                        Castellan            Castellan
                                                            Castellan
  Castellan         Venue DB 1
                       Venue
                       Venue            Venue DB 2
                                           Venue
                                           Venue            Venue DB N
                                                               Venue
                                                               Venue            ...
                      Partition(s)
                        DB‟s              Partition(s)
                                            DB‟s              Partition(s)
                                                                DB‟s                                       Castellan.old (VB6)

One application DB, many venue DB‟s – each partitioned in to many parts (40+)
Monitor/Comm
 [SLA & Usage]
         Monitor/Comm
 [Performance]
[Traces &[SLA & Usage]
           Logs]
          [Performance]
         [Traces & Logs]


RS Engine
    RS Engine
Источник: http://weblogs.asp.net/scottgu/archive/2012/08/21/windows-azure-media-services-and-the-london-2012-olympics.aspx
http://sigops.org/sosp/sosp11/current/2011-
Cascais/printable/11-calder.pdf

http://research.google.com/archive/mapreduce-osdi04.pdf

http://social.technet.microsoft.com/wiki/contents/articles/1695.i
nside-windows-azure-sql-database.aspx

http://www.microsoft.com/casestudies
denisreznik@live.ru
http://reznik.uneta.com.ua
TechEd 2012 - Сценарии хранения и обработки данных в windows azure

More Related Content

What's hot

a Running Tour of Cloud Foundry
a Running Tour of Cloud Foundrya Running Tour of Cloud Foundry
a Running Tour of Cloud FoundryJoshua Long
 
Capture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninjaCapture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninjaVito Flavio Lorusso
 
Graph Connect: Importing data quickly and easily
Graph Connect: Importing data quickly and easilyGraph Connect: Importing data quickly and easily
Graph Connect: Importing data quickly and easilyMark Needham
 
Spring4 security
Spring4 securitySpring4 security
Spring4 securitySang Shin
 
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - EuropeThe Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - EuropeJoshua Long
 
Hibernate
HibernateHibernate
Hibernateksain
 
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundGet Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundDataGeekery
 

What's hot (8)

a Running Tour of Cloud Foundry
a Running Tour of Cloud Foundrya Running Tour of Cloud Foundry
a Running Tour of Cloud Foundry
 
Capture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninjaCapture, record, clip, embed and play, search: video from newbie to ninja
Capture, record, clip, embed and play, search: video from newbie to ninja
 
Graph Connect: Importing data quickly and easily
Graph Connect: Importing data quickly and easilyGraph Connect: Importing data quickly and easily
Graph Connect: Importing data quickly and easily
 
Spring4 security
Spring4 securitySpring4 security
Spring4 security
 
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - EuropeThe Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
 
Hibernate
HibernateHibernate
Hibernate
 
Lecture17
Lecture17Lecture17
Lecture17
 
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaroundGet Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
Get Back in Control of your SQL with jOOQ - GeekOut by ZeroTurnaround
 

Viewers also liked

Viewers also liked (8)

MS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application LifecycleMS Swit 2012 - Windows 8 Application Lifecycle
MS Swit 2012 - Windows 8 Application Lifecycle
 
MS Swit 2012 - SQL Server 2012
MS Swit 2012 - SQL Server 2012MS Swit 2012 - SQL Server 2012
MS Swit 2012 - SQL Server 2012
 
SqlSaturday199 - Deadlocks
SqlSaturday199 - DeadlocksSqlSaturday199 - Deadlocks
SqlSaturday199 - Deadlocks
 
масштабирование в Sql azure
масштабирование в Sql azureмасштабирование в Sql azure
масштабирование в Sql azure
 
Sql rally 2013 columnstore indexes
Sql rally 2013   columnstore indexesSql rally 2013   columnstore indexes
Sql rally 2013 columnstore indexes
 
SQL Server 2012 Deep Dive (rus)
SQL Server 2012 Deep Dive (rus)SQL Server 2012 Deep Dive (rus)
SQL Server 2012 Deep Dive (rus)
 
MS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for DevelopersMS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for Developers
 
iForum 2015: SQL vs. NoSQL
iForum 2015: SQL vs. NoSQLiForum 2015: SQL vs. NoSQL
iForum 2015: SQL vs. NoSQL
 

Similar to TechEd 2012 - Сценарии хранения и обработки данных в windows azure

Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devicesPatric Boscolo
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]vaishalisahare123
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Maarten Balliauw
 
Azure Administration.docx
Azure  Administration.docxAzure  Administration.docx
Azure Administration.docxFuturepoint13
 
Build 2015 – Azure overview
Build 2015 – Azure overviewBuild 2015 – Azure overview
Build 2015 – Azure overviewLars Yde
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMaarten Balliauw
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - DevClint Edmonson
 
Understanding The Azure Platform March 2010
Understanding The Azure Platform   March 2010Understanding The Azure Platform   March 2010
Understanding The Azure Platform March 2010DavidGristwood
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBill Wilder
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overviewgjuljo
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introductionbrunoterkaly
 
Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureEduardo Castro
 
Containers on Microsoft Azure
Containers on Microsoft AzureContainers on Microsoft Azure
Containers on Microsoft AzureToru Makabe
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud StorageGanga R Jaiswal
 

Similar to TechEd 2012 - Сценарии хранения и обработки данных в windows azure (20)

Azure and Umbraco CMS
Azure and Umbraco CMSAzure and Umbraco CMS
Azure and Umbraco CMS
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
 
App Modernization with Microsoft Azure
App Modernization with Microsoft AzureApp Modernization with Microsoft Azure
App Modernization with Microsoft Azure
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
Microsoft cloud 101
Microsoft cloud 101Microsoft cloud 101
Microsoft cloud 101
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)
 
Azure Administration.docx
Azure  Administration.docxAzure  Administration.docx
Azure Administration.docx
 
Build 2015 – Azure overview
Build 2015 – Azure overviewBuild 2015 – Azure overview
Build 2015 – Azure overview
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows Azure
 
Real World Azure - Dev
Real World Azure - DevReal World Azure - Dev
Real World Azure - Dev
 
Understanding The Azure Platform March 2010
Understanding The Azure Platform   March 2010Understanding The Azure Platform   March 2010
Understanding The Azure Platform March 2010
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows Azure
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introduction
 
Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azure
 
Containers on Microsoft Azure
Containers on Microsoft AzureContainers on Microsoft Azure
Containers on Microsoft Azure
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud Storage
 

More from Денис Резник

More from Денис Резник (12)

SqlSaturday199 - Columnstore Indexes
SqlSaturday199 - Columnstore IndexesSqlSaturday199 - Columnstore Indexes
SqlSaturday199 - Columnstore Indexes
 
24 hop - Deadlocks
24 hop - Deadlocks24 hop - Deadlocks
24 hop - Deadlocks
 
Масштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsМасштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure Federations
 
Масштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure FederationsМасштабирование в SQL Azure - SQL Azure Federations
Масштабирование в SQL Azure - SQL Azure Federations
 
SQL Server Denali
SQL Server DenaliSQL Server Denali
SQL Server Denali
 
Sql azure и все, все, все...
Sql azure и все, все, все...Sql azure и все, все, все...
Sql azure и все, все, все...
 
начинаем работать с Sql server compact
начинаем работать с Sql server compactначинаем работать с Sql server compact
начинаем работать с Sql server compact
 
Sql server 2011
Sql server 2011Sql server 2011
Sql server 2011
 
MS Swit 2010
MS Swit 2010MS Swit 2010
MS Swit 2010
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
SQL Server StreamIinsight - data processing in real time
SQL Server StreamIinsight - data processing in real timeSQL Server StreamIinsight - data processing in real time
SQL Server StreamIinsight - data processing in real time
 

TechEd 2012 - Сценарии хранения и обработки данных в windows azure

  • 1.
  • 2.
  • 3. Windows Azure Keynote Знакомство Создание приложений Решение задач с Windows Azure Windows Azure с Windows Azure Windows Azure Internals Сценарии хранения Media Services - обработка медиа и обработки данных Windows Azure Q&A в Windows Azure Миграция имеющихся Использование Azure ACS приложений в Windows Azure Безопасность для решения задач Windows Azure аутентификации Service Bus – связь облака пользователей с сервисами предприятия Лабораторные работы Введение в Windows Azure Virtual Machines Продвинутые техники выявления проблем Развертывание Active Directory в Windows Azure для решений на базе Windows Azure Миграция приложения ASP.NET на Windows Azure Развертывание фермы SharePoint в Windows Azure
  • 4.
  • 5.
  • 6. 4.5 4.03 Кол-во объектов в триллионах 4 3.5 3 2.89 2.5 2 1.7 1.5 1.33 0.94 1 0.5 0 Axis Title Источник: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/07/20/windows-azure-storage-4-trillion-objects-and-counting.aspx
  • 7. average peak 1000000 Кол-во запросов в секунду 900000 800000 700000 600000 500000 400000 300000 200000 100000 0 Источник: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/07/20/windows-azure-storage-4-trillion-objects-and-counting.aspx
  • 9. West US East US South Central US
  • 10.
  • 11. Container Blobs https://<account>.blob.core.windows.net/<container> Account Table Entities https://<account>.table.core.windows.net/<table> Queue Messages https://<account>.queue.core.windows.net/<queue>
  • 12. http://myaccount.blob.core.windows.net/mycontainer/myblob http://myaccount.blob.core.windows.net/$root/myblob http://myaccount.blob.core.windows.net/myblob http://myaccount.blob.core.windows.net/mycontainer/path/myblob
  • 13. string storageConnectionString = CloudConfigurationManager.GetSetting("StorageConnectionString"); CloudStorageAccount storageAccount = CloudStorageAccount.Parse(storageConnectionString); CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); CloudBlobContainer container = blobClient.GetContainerReference("files"); container.CreateIfNotExists(); BlobContainerPermissions publicPermissions = new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob }; container.SetPermissions(publicPermissions);
  • 14. using (Stream stream = System.IO.File.OpenRead(@"D:blob.txt")) { CloudBlockBlob blob = container.GetBlockBlobReference("blob.txt"); blob.UploadFromStream(stream); CloudBlockBlob blob2 = container.GetBlockBlobReference("demo/blob2.txt"); blob2.UploadFromStream(stream); CloudBlockBlob blob3 = container.GetBlockBlobReference("demo/blob3.txt"); blob3.UploadFromStream(stream); } foreach (IListBlobItem item in container.ListBlobs("demo/")) { // Do some action }
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Прогресс обработки периодически сохраняется в сообщении Увеличение visibility timeout на 5 минут 7:04 AM 7:00 7:09 AM 7:07 Получение сообщения с 5 минутным visibility timeout Expires @ 7:05AM Expires @ 7:09AM Azure Queue 7:09 7:05 7:14 Получение прогресса и продолжение обработки
  • 20. CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); CloudQueue queue = queueClient.GetQueueReference("booking"); queue.CreateIfNotExists(); CloudQueueMessage message = new CloudQueueMessage("Flight: Kharkov - Moskow"); queue.AddMessage(message); ... CloudQueueMessage message = queue.GetMessage(); queue.DeleteMessage(message);
  • 21.
  • 22.
  • 23.
  • 24. CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); CloudTable table = tableClient.GetTableReference("people"); TableQuery<CustomerEntity> query = new TableQuery<CustomerEntity>() .Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "Smith")); foreach (CustomerEntity entity in table.ExecuteQuery(query)) { Console.WriteLine("{0}, {1}t{2}t{3}", entity.PartitionKey, entity.RowKey, entity.Email, entity.PhoneNumber); }
  • 25.
  • 26.
  • 27.
  • 28. «In "Avatar," every blade of grass, every cloud in the sky, every vine in the jungle existed digitally and had to be stored somewhere.» Jon Landau, Producer Источник: http://www.microsoft.com/microsoftservices/en/uk/article_Microsoft_Role_In_Avatar.aspx
  • 29.
  • 30.
  • 31. Более миллиона уникальных пользователей посетили сайт компании в период проката фильма в 2010 году. «We developed an interactive game where users try to navigate a course maze in a Volvo car in the fastest time and using the shortest route.» David Holecek, Digital Strategy Manager at Volvo Car Corporation Около 400 000 активных пользователей игры Источник: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000008490
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42. Язык запросов HiveQL CREATE TABLE logs(t1 string, t2 string, t3 string, t4 string, t5 string, t6 string, t7 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '; LOAD DATA LOCAL INPATH 'sample.log' OVERWRITE INTO TABLE logs; SELECT t5 AS sev, COUNT(*) AS cnt FROM logs WHERE t5 LIKE '[%' GROUP BY t5;
  • 43.
  • 44. “We take in raw data and make it into something that is actionable for our consumers, brands, and partners.” David Mariani Vice President of Engineering at Klout “Klout chose the best of both worlds by marrying the Microsoft BI platform with Hadoop and Hive.” David Mariani Vice President of Engineering at Klout Источник: http://www.microsoft.com/casestudies/Microsoft-SQL-Server-2012-Enterprise/Klout/Data-Services-Firm-Uses-Microsoft-BI-and- Hadoop-to-Boost-Insight-into-Big-Data/710000000129
  • 45.
  • 46. Account Server Database • Работа с • Информация о • Аналог SQL порталом базах данных Server базы • Инструмент • Аутентификация данных оплаты и безопасность • Содержит таблицы, процедуры, индексы, и т.п.
  • 47. SQL Azure Network Applications use standard SQL client Topology Application libraries: ODBC, ADO.Net, PHP, … Internet Azure Cloud TDS (tcp) Security Boundary Load balancer forwards „sticky‟ sessions to LB TDS protocol tier TDS (tcp) Gateway Gateway Gateway Gateway Gateway Gateway Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to CloudDB TDS (tcp) L SQL SQL SQL SQL Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 48. Запрос к базе SQL Azure 1 TDS Gateway Front-end Node TDS Session Protocol Parser 2 3 Gateway Logic Master Cluster Master Node 4 Master Node Components 7 5 8 6 Backend Node 1 Backend Node 2 Backend Node 3 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB Scalability and and Availability: Fabric,Failover,Replication, and Load balancing Scalability Availability: Fabric, Failover, Replication, and Load balancing
  • 49.
  • 50. Federations SalesDB CustomerFederationeration CustomerFederationeration CustomerFederation Federation Root Federation Members
  • 51. Federations member: Range [1000, 2000) SalesDB AU AU AU CustomerFederationeration PK=5 PK=25 PK=35 CustomerFederationeration AU AU AU CustomerFederation PK=5 PK=25 PK=35 AU AU AU PK=1005 PK=1025 PK=1035 Federation Root Federation Members Atomic Units
  • 52. Central Tables Federations SalesDB Federated Tables CustomerFederationeration CustomerFederationeration CustomerFederation Reference Tables User Database and Federation root Federation members
  • 53. USE FEDERATION CustomerFederation(customer_id = 5075) … SalesDB CustomerFederationeration CustomerFederationeration CustomerFederation Range Distribution [min,1000, 2000, 3000 ….. 5000, 10000, Max]
  • 54. USE FEDERATION CustomerFederation(cid = 55) WITH RESET, FILTERING=OFF GO FILTERING=OFF Работаем с данными всего Federation member Неограниченный доступ к данным базы: Всѐ равно что соединиться по имени БД DDL, DML и доступ ко всем Atomic Units внутри Federation Member Хорошо для… Management Tasks: Обновление схемы данных Fan-out Querying – получение данных нескольких atomic units member: Range [100,200) Products (referece) Customer_id=55 SalesDB CustomerFederation CustomerFederation Customers Orders (federated) (federated) Microsoft Confidential Microsoft Confidential
  • 55. USE FEDERATION CustomerFederation(cid = 55) WITH RESET, FILTERING=ON GO FILTERING=ON Работаем с данными одного Atomic Unit Полностью доступны данные Reference Tables Запрещены любые изменения глобального состояния Federation Member Хорошо для… Безопасной модели разработки Предотвращения утечки данных member: Range [100,200) Products (referece) Customer_id=55 SalesDB CustomerFederation CustomerFederation Customers Orders (federated) Customer_id=55 (federated) Microsoft Confidential
  • 56. ALTER FEDERATION CustomerFederation SPLIT AT (tenant_id=7500) SalesDB Orders_federation CustomerFederationeration CustomerFederation Range Distribution [min,1000, 2000, 3000 ….. 5000, 10000, Max]
  • 57. App member: Range [100,200) PostalCode SalesDB (reference) CustomerFederationeration CustomerFederationeration CustomerFederation Customer CustomerAddress (federated) (federated) Member: Range [100,150) Member: Range [150,200)
  • 58.
  • 59. “We can be selling a few hundred tickets an hour for most of the week, but when a big event goes on sale at 9:00 in the morning, we get an enormous spike in load against our application.” Matthew Davey, Founder, TicketDirect Источник: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000005890
  • 60. Windows Azure Roles Client Applications Service Bus Castellan.Azure • Box Office sales • Ticket Printing • System Administration • Venue/Event http:// TicketDirect .* Dynamic Worker Distributed Partitioner WCF Management (tasks uploaded Cache Worker Worker • Partitioning as blobs) Windows Azure Storage On Premises Blobs to -- -- Tables to -- Queues for SQL Server store web and worker --- record --- server & communication between clients role resources ---- partition information and roles Castellan Venue SQL Azure Castellan Castellan Castellan Castellan Castellan Castellan Castellan Venue DB 1 Venue Venue Venue DB 2 Venue Venue Venue DB N Venue Venue ... Partition(s) DB‟s Partition(s) DB‟s Partition(s) DB‟s Castellan.old (VB6) One application DB, many venue DB‟s – each partitioned in to many parts (40+)
  • 61.
  • 62.
  • 63. Monitor/Comm [SLA & Usage] Monitor/Comm [Performance] [Traces &[SLA & Usage] Logs] [Performance] [Traces & Logs] RS Engine RS Engine
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 73.
  • 74.
  • 76.

Editor's Notes

  1. Netflix accounts for 33%of peak traffic today, doubling Google Inc.&apos;s YouTubeAll of this needs to be encoded, hosted &amp; delivered at a minimum which directly translates to Compute, Storage &amp; Bandwidth &amp; hence we care about media on Azure According to the NPD Group&apos;s Retail Tracking Service, “In the U.S., the Xbox 360 not only sold more than any other game console in 2011, it also outsold other individual TV-connected devices like DVD players, as well as digital media receivers and home theater systems.&quot;Comcast moving to adopt our video platform for OTTPortugal Telecom, Turkish Telecom, Telecom Italia, Swisscom, Telstra, Cable &amp; Wireless, etc.Broadcasters moving to IP video platformNBC, CTV, CBS: Want to do more events onlineCanal+, BSkyB, NRK, RAI, TV2 Norway, France24: Already launched subscription services on our platform
  2. By “Media Services”, we mean a collection of components and technologies from Microsoft and third parties that are curated, ready-to-use, and integrated into a single platform to simplify the creation of end-to-end media solutions.