SlideShare a Scribd company logo
1 of 38
Data Options in the Cloud Joe Shirey joe.shirey@microsoft.com
Database Choices Value Props: Full h/w control – size/scale 100% of API surface area Roll-your-own HA/DR/scale Value Props: 100% of API surface area Roll-your-own HA/DR/scale Dedicated On-premise  SQL Server or other s/w on-premise  Resource governance @ machine  Security @ DB Server/OS Value Props: Auto HA, Fault-Tolerance Friction-free scale Self-provisioning Subset of API surface area Resources Hosted  Hosted SQL Server  Resource governance @ VM  Security @ DB Server/OS SQL Azure Database  Virtual DB server Resource governance @ DB  Security @ DB/Virtual Server Shared Low “Friction”/Control High SQL Azure V1 targets scenarios that live in the lower left quadrant
SQL Server 2008 R2 Focus Areas Improvements in Scalability and Performance Enhanced Manageability Self Service Business Intelligence Master Data Management
Master Data Management Single source of truth for Master Data Thin client management Safeguards of data integrity Data versioning Import/Export capabilities
SQL Server Versions New with SQL 2008 R2 ,[object Object]
Parallel Data Warehouse Edition (100+ TB support),[object Object]
Storage in the Cloud WEB & CLOUDS third party cloud web applications developer experience use existing skills and tools management management connectivity access control compute relational data storage ON-PREMISES lob Applications composite applications
Why Data in the Cloud Capital Costs DBA (or lack thereof) High Availability Performance Scalability
Windows Azure Storage The goal is to allow users and services Anywhere at anytime access Store data for any length of time  Scale to store any amount of data Be confident that the data will not be lost  Pay for only what they use/store
Windows Azure Storage Storage Durable Scalable (capacity and throughput) Highly available Rich storage concepts Large user data items:  blobs Service state:  tables Service communication:  queues Simple and familiar programming interfaces REST  (HTTP and HTTPS) .NET accessible
Fundamental data abstractions Blobs – provide a simple interface for storing named files along with metadata for the file Tables – provide structured storage.  a table is a set of entities, which contain a set of properties Queues – provide reliable storage and delivery of messages for an application
Blob Storage Concepts blob container account IMG001.JPG pictures MOV1.AVI IMG002.JPG sally movies
Blob Features and Functions Store large objects  (up to 200GB) Associate metadata with blob metadata is <name, value> pairs, up to 8KB per blob set/get with or separate from blob data bits Standard REST Interface PutBlob Inserts a new blob or overwrites the existing blob GetBlob Get whole blob or a specific range DeleteBlob
Windows Azure Tables Provides structured storage Massively scalable tables Billions of entities (rows) and TBs of data Automatically scales across servers as traffic grows Highly available Anywhere at anytime access to your data Durable Data is replicated at least 3 times Familiar and easy to use programming interfaces ADO.NET data services – .NET 3.5 SP1 .NET classes and LINQ REST - with any platform or language
Table Storage Concepts entity table account Name =… Email = … users Name =… Email = … sally Photo ID =… Date =… photo index Photo ID =… Date =…
Table Data Model Table A storage account can create many tables Table name is scoped by account Data is stored in tables A table is a set of entities (rows) An entity is a set of properties (columns) Entity Two “key” properties that together are the unique ID of the entity in the table PartitionKey – enables scalability RowKey – uniquely identifies the entity within the partition
Partition Deyand Partitions Every table has a partition key It is the first property (column) of your table Used to group entities in the table into partitions A table partition  All entities in a table with the same partition key value Partition key is exposed in the programming model  Allows application to control the granularity of the partitions and enable scalability
Partition Example Table partition – all entities in tablewith same partition key value Application controls granularity of partition Partition 1 Partition 2
Purpose of the Partition Key Entity locality Entities in the same partition will be stored together Efficient querying and cache locality Entity group transactions  Atomically perform multiple insert/update/delete over entities in same partition in a single transaction Table scalability We monitor the usage patterns of partitions Automatically load balance partitions Each partition can be served by a different storage node Scale to meet the traffic needs of your table
Choosing a Partition Key Granularity of entity group transactions Make the partition key only as big as you need it for  entity group transactions Spread out load across partitions More partitions – makes it easier to automatically balance load Currently have one primary index Important to use a partition key that is common in your queries If partition key is part of query Fast access to retrieve entities within a single partition If partition key is not specified in a query  Then every partition has to be scanned
Table Entities and Properties Each entity can have up to 255 properties Mandatory properties for every entity in table Partition key Row key		 All entities have a system maintained version No fixed schema for rest of properties Each property is stored as a <name, typed value> pair No schema stored for a table 2 entities within the same table can have different properties Properties can be the standard .NET types  String, binary, bool, DateTime, GUID, int, int64, and double
Table Programming Model Provide familiar and easy to use interfaces Leverage your .NET expertise Table entities are accessed as objects via ADO.NET Data Services – .NET 3.5 SP1 LINQ – language Integrated query RESTful access to table and entities Insert/update/delete entities over the table Query over tables Get back a list of structured entities
Web + Worker Role Pattern Web role Web farm that handles request from the internet Push work items onto storage queue Worker role Process work item off storage queue Public internet n m Web role Worker role Q Load  balancer Cloud storage (tables, blobs, queues)
Windows Azure Queues Provide reliable message delivery Simple, asynchronous work dispatch Programming semantics ensure that a message can be processed at least once Queues are highly available, durable and performance efficient Access is provided via REST
Queue Storage Concepts Message Queue Account 128x128, http://… thumbnail jobs 256x256, http://… sally http://… photo processing jobs http://…
Account, Queues and Messages An account can create many queues Queue name is scoped by the account Aqueue contains messages No limit on number of messages stored in a queue A message is stored for at most a week in a queue http://<Account>.queue.core.windows.net/<QueueName> Messages Message size  <= 8 KB To store larger data, store data in blob/entity storage, and the blob/entity name in the message
queue programming API queues create/delete/clear queues inspect queue length messages enqueue (queuename, message) dequeue (queueName, invisibility time T) returns  the message with a messageID makes the message invisible for time T delete(queuename, messageID)
Queue Best Practices Make message processing idempotent Need to deal with failures No fixed order for dequeue messages Invisible messages result in out of order processing  Use the queue length to scale your workers
Demowindows azure storage
SQL Azure SQL Server Data Services false start Familiar relational model Uses existing APIs & tools Friction free provisioning and reduced management Built for the cloud with availability and scale Clear feedback: “I want a SQL database in the cloud”
Service Provisioning Model Each account has zero or more servers Azure wide, provisioned in a common portal Billing instrument Each server has one or more databases Contains metadata about the databases and usage Unit of authentication Unit of geo-location Generated DNS based name Each database has standard SQL objects Unit of consistency Unit of multi-tenancy Contains users, tables, views, indices, etc. Most granular unit of billing SKU’s  Web edition -1 GB Business edition – 10 GB      account      server        database
Architecture Shared infrastructure at SQL database and below Request routing, security and isolation Scalable HA technology provides the glue Automatic replication and failover Provisioning, metering and billing infrastructure Machine 5 Machine 6 Machine 4 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB UserDB1 UserDB2 UserDB3 UserDB4 UserDB1 UserDB2 UserDB3 UserDB4 UserDB1 UserDB2 UserDB3 UserDB4 SDS Provisioning (databases,  accounts,  roles, …, Metering, and Billing Scalability and Availability: Fabric, Failover, Replication, and  Load balancing Scalability and Availability: Fabric, Failover, Replication, and  Load balancing
Sample of SQL compatibility In Scope for V1 Tables, indexes and views Stored Procedures Triggers Constraints Table variables, session temp tables (#t) ….. Out of Scope for V1 ,[object Object]
Distributed Query
CLR
Service Broker
Spatial
Physical server or catalog DDL and views,[object Object]

More Related Content

What's hot

ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
Azure - Data Platform
Azure - Data PlatformAzure - Data Platform
Azure - Data Platformgiventocode
 
Data Platform Overview
Data Platform OverviewData Platform Overview
Data Platform OverviewHamid J. Fard
 
Azure Data platform
Azure Data platformAzure Data platform
Azure Data platformMostafa
 
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
 
6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services6.Live Framework 和Mesh Services
6.Live Framework 和Mesh ServicesGaryYoung
 
Azure Platform
Azure Platform Azure Platform
Azure Platform Wes Yanaga
 
Azure architecture
Azure architectureAzure architecture
Azure architectureAmal Dev
 
Migrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft AzureMigrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft AzureIlyas F ☁☁☁
 
Introducing Azure Services Platform V1
Introducing Azure Services Platform V1Introducing Azure Services Platform V1
Introducing Azure Services Platform V1guest120d945
 
AppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppDynamics
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure
 
Cloud Native Apps
Cloud Native AppsCloud Native Apps
Cloud Native AppsDavid Chou
 
Microsoft And Cloud Computing
Microsoft And Cloud ComputingMicrosoft And Cloud Computing
Microsoft And Cloud ComputingDavid Chou
 
Data Management Gateway - Deep Dive
Data Management Gateway - Deep DiveData Management Gateway - Deep Dive
Data Management Gateway - Deep DiveJean-Pierre Riehl
 
SQL Server Data Services
SQL Server Data ServicesSQL Server Data Services
SQL Server Data ServicesEduardo Castro
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeSpiffy
 
ZK MVVM, Spring & JPA On Two PaaS Clouds
ZK MVVM, Spring & JPA On Two PaaS CloudsZK MVVM, Spring & JPA On Two PaaS Clouds
ZK MVVM, Spring & JPA On Two PaaS CloudsSimon Massey
 

What's hot (20)

ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
Azure - Data Platform
Azure - Data PlatformAzure - Data Platform
Azure - Data Platform
 
Data Platform Overview
Data Platform OverviewData Platform Overview
Data Platform Overview
 
Azure Data platform
Azure Data platformAzure Data platform
Azure Data platform
 
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]
 
6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Azure Platform
Azure Platform Azure Platform
Azure Platform
 
Azure architecture
Azure architectureAzure architecture
Azure architecture
 
Migrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft AzureMigrating Existing ASP.NET Web Applications to Microsoft Azure
Migrating Existing ASP.NET Web Applications to Microsoft Azure
 
Introducing Azure Services Platform V1
Introducing Azure Services Platform V1Introducing Azure Services Platform V1
Introducing Azure Services Platform V1
 
AppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOps
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
 
Cloud Native Apps
Cloud Native AppsCloud Native Apps
Cloud Native Apps
 
Microsoft And Cloud Computing
Microsoft And Cloud ComputingMicrosoft And Cloud Computing
Microsoft And Cloud Computing
 
Unplugged
UnpluggedUnplugged
Unplugged
 
Data Management Gateway - Deep Dive
Data Management Gateway - Deep DiveData Management Gateway - Deep Dive
Data Management Gateway - Deep Dive
 
SQL Server Data Services
SQL Server Data ServicesSQL Server Data Services
SQL Server Data Services
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar Kakade
 
ZK MVVM, Spring & JPA On Two PaaS Clouds
ZK MVVM, Spring & JPA On Two PaaS CloudsZK MVVM, Spring & JPA On Two PaaS Clouds
ZK MVVM, Spring & JPA On Two PaaS Clouds
 

Similar to Microsoft Database Options

Azure, Cloud Computing & Services
Azure, Cloud Computing & ServicesAzure, Cloud Computing & Services
Azure, Cloud Computing & ServicesAlan Dean
 
Tech Days09 Sqldev
Tech Days09 SqldevTech Days09 Sqldev
Tech Days09 Sqldevllangit
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developersllangit
 
SQL Server 2008 for .NET Developers
SQL Server 2008 for .NET DevelopersSQL Server 2008 for .NET Developers
SQL Server 2008 for .NET Developersllangit
 
Sql azure dec_2010 Lynn & Ike
Sql azure dec_2010 Lynn & IkeSql azure dec_2010 Lynn & Ike
Sql azure dec_2010 Lynn & IkeIke Ellis
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developersukdpe
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Rajesh Kumar
 
Azure: Lessons From The Field
Azure: Lessons From The FieldAzure: Lessons From The Field
Azure: Lessons From The FieldRob Gillen
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformMarcelo Paiva
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud StorageGanga R Jaiswal
 
Windows Azure: Lessons From The Field
Windows Azure: Lessons From The FieldWindows Azure: Lessons From The Field
Windows Azure: Lessons From The FieldRob Gillen
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesComunidade NetPonto
 
Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000ukdpe
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseJames Serra
 

Similar to Microsoft Database Options (20)

Azure, Cloud Computing & Services
Azure, Cloud Computing & ServicesAzure, Cloud Computing & Services
Azure, Cloud Computing & Services
 
Tech Days09 Sqldev
Tech Days09 SqldevTech Days09 Sqldev
Tech Days09 Sqldev
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developers
 
SQL Server 2008 for .NET Developers
SQL Server 2008 for .NET DevelopersSQL Server 2008 for .NET Developers
SQL Server 2008 for .NET Developers
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Microsoft cloud 101
Microsoft cloud 101Microsoft cloud 101
Microsoft cloud 101
 
Azure Data Storage
Azure Data StorageAzure Data Storage
Azure Data Storage
 
Sql azure dec_2010 Lynn & Ike
Sql azure dec_2010 Lynn & IkeSql azure dec_2010 Lynn & Ike
Sql azure dec_2010 Lynn & Ike
 
SQL Server 2008 for Developers
SQL Server 2008 for DevelopersSQL Server 2008 for Developers
SQL Server 2008 for Developers
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
India Webinar
India WebinarIndia Webinar
India Webinar
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture
 
Azure: Lessons From The Field
Azure: Lessons From The FieldAzure: Lessons From The Field
Azure: Lessons From The Field
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data Plaraform
 
Introduction to Azure Cloud Storage
Introduction to Azure Cloud StorageIntroduction to Azure Cloud Storage
Introduction to Azure Cloud Storage
 
Windows Azure: Lessons From The Field
Windows Azure: Lessons From The FieldWindows Azure: Lessons From The Field
Windows Azure: Lessons From The Field
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
 
Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data Warehouse
 

More from David Chou

Windows Phone app development overview
Windows Phone app development overviewWindows Phone app development overview
Windows Phone app development overviewDavid Chou
 
Microsoft AI Platform Overview
Microsoft AI Platform OverviewMicrosoft AI Platform Overview
Microsoft AI Platform OverviewDavid Chou
 
Designing Artificial Intelligence
Designing Artificial IntelligenceDesigning Artificial Intelligence
Designing Artificial IntelligenceDavid Chou
 
Immersive Computing
Immersive ComputingImmersive Computing
Immersive ComputingDavid Chou
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows AzureDavid Chou
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft AzureDavid Chou
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows AzureDavid Chou
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabricDavid Chou
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)David Chou
 
Scale as a Competitive Advantage
Scale as a Competitive AdvantageScale as a Competitive Advantage
Scale as a Competitive AdvantageDavid Chou
 
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978David Chou
 
Kelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud ComputingKelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud ComputingDavid Chou
 
Windows Phone 7
Windows Phone 7Windows Phone 7
Windows Phone 7David Chou
 
Silverlight 4 Briefing
Silverlight 4 BriefingSilverlight 4 Briefing
Silverlight 4 BriefingDavid Chou
 
SOA And Cloud Computing
SOA And Cloud ComputingSOA And Cloud Computing
SOA And Cloud ComputingDavid Chou
 
Microsoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformMicrosoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformDavid Chou
 
Microsoft Cloud Computing
Microsoft Cloud ComputingMicrosoft Cloud Computing
Microsoft Cloud ComputingDavid Chou
 
Windows Azure Platform in 3 Minutes
Windows Azure Platform in 3 MinutesWindows Azure Platform in 3 Minutes
Windows Azure Platform in 3 MinutesDavid Chou
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure PlatformDavid Chou
 

More from David Chou (20)

Windows Phone app development overview
Windows Phone app development overviewWindows Phone app development overview
Windows Phone app development overview
 
Microsoft AI Platform Overview
Microsoft AI Platform OverviewMicrosoft AI Platform Overview
Microsoft AI Platform Overview
 
Designing Artificial Intelligence
Designing Artificial IntelligenceDesigning Artificial Intelligence
Designing Artificial Intelligence
 
Immersive Computing
Immersive ComputingImmersive Computing
Immersive Computing
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows Azure
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows Azure
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)
 
Scale as a Competitive Advantage
Scale as a Competitive AdvantageScale as a Competitive Advantage
Scale as a Competitive Advantage
 
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
 
Kelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud ComputingKelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud Computing
 
Windows Phone 7
Windows Phone 7Windows Phone 7
Windows Phone 7
 
Silverlight 4 Briefing
Silverlight 4 BriefingSilverlight 4 Briefing
Silverlight 4 Briefing
 
SOA And Cloud Computing
SOA And Cloud ComputingSOA And Cloud Computing
SOA And Cloud Computing
 
Microsoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure PlatformMicrosoft Cloud Computing - Windows Azure Platform
Microsoft Cloud Computing - Windows Azure Platform
 
Microsoft Cloud Computing
Microsoft Cloud ComputingMicrosoft Cloud Computing
Microsoft Cloud Computing
 
Windows Azure Platform in 3 Minutes
Windows Azure Platform in 3 MinutesWindows Azure Platform in 3 Minutes
Windows Azure Platform in 3 Minutes
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 

Recently uploaded

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Microsoft Database Options

  • 1. Data Options in the Cloud Joe Shirey joe.shirey@microsoft.com
  • 2. Database Choices Value Props: Full h/w control – size/scale 100% of API surface area Roll-your-own HA/DR/scale Value Props: 100% of API surface area Roll-your-own HA/DR/scale Dedicated On-premise SQL Server or other s/w on-premise Resource governance @ machine Security @ DB Server/OS Value Props: Auto HA, Fault-Tolerance Friction-free scale Self-provisioning Subset of API surface area Resources Hosted Hosted SQL Server Resource governance @ VM Security @ DB Server/OS SQL Azure Database Virtual DB server Resource governance @ DB Security @ DB/Virtual Server Shared Low “Friction”/Control High SQL Azure V1 targets scenarios that live in the lower left quadrant
  • 3. SQL Server 2008 R2 Focus Areas Improvements in Scalability and Performance Enhanced Manageability Self Service Business Intelligence Master Data Management
  • 4. Master Data Management Single source of truth for Master Data Thin client management Safeguards of data integrity Data versioning Import/Export capabilities
  • 5.
  • 6.
  • 7. Storage in the Cloud WEB & CLOUDS third party cloud web applications developer experience use existing skills and tools management management connectivity access control compute relational data storage ON-PREMISES lob Applications composite applications
  • 8. Why Data in the Cloud Capital Costs DBA (or lack thereof) High Availability Performance Scalability
  • 9. Windows Azure Storage The goal is to allow users and services Anywhere at anytime access Store data for any length of time Scale to store any amount of data Be confident that the data will not be lost Pay for only what they use/store
  • 10. Windows Azure Storage Storage Durable Scalable (capacity and throughput) Highly available Rich storage concepts Large user data items: blobs Service state: tables Service communication: queues Simple and familiar programming interfaces REST (HTTP and HTTPS) .NET accessible
  • 11. Fundamental data abstractions Blobs – provide a simple interface for storing named files along with metadata for the file Tables – provide structured storage. a table is a set of entities, which contain a set of properties Queues – provide reliable storage and delivery of messages for an application
  • 12. Blob Storage Concepts blob container account IMG001.JPG pictures MOV1.AVI IMG002.JPG sally movies
  • 13. Blob Features and Functions Store large objects (up to 200GB) Associate metadata with blob metadata is <name, value> pairs, up to 8KB per blob set/get with or separate from blob data bits Standard REST Interface PutBlob Inserts a new blob or overwrites the existing blob GetBlob Get whole blob or a specific range DeleteBlob
  • 14. Windows Azure Tables Provides structured storage Massively scalable tables Billions of entities (rows) and TBs of data Automatically scales across servers as traffic grows Highly available Anywhere at anytime access to your data Durable Data is replicated at least 3 times Familiar and easy to use programming interfaces ADO.NET data services – .NET 3.5 SP1 .NET classes and LINQ REST - with any platform or language
  • 15. Table Storage Concepts entity table account Name =… Email = … users Name =… Email = … sally Photo ID =… Date =… photo index Photo ID =… Date =…
  • 16. Table Data Model Table A storage account can create many tables Table name is scoped by account Data is stored in tables A table is a set of entities (rows) An entity is a set of properties (columns) Entity Two “key” properties that together are the unique ID of the entity in the table PartitionKey – enables scalability RowKey – uniquely identifies the entity within the partition
  • 17. Partition Deyand Partitions Every table has a partition key It is the first property (column) of your table Used to group entities in the table into partitions A table partition All entities in a table with the same partition key value Partition key is exposed in the programming model Allows application to control the granularity of the partitions and enable scalability
  • 18. Partition Example Table partition – all entities in tablewith same partition key value Application controls granularity of partition Partition 1 Partition 2
  • 19. Purpose of the Partition Key Entity locality Entities in the same partition will be stored together Efficient querying and cache locality Entity group transactions Atomically perform multiple insert/update/delete over entities in same partition in a single transaction Table scalability We monitor the usage patterns of partitions Automatically load balance partitions Each partition can be served by a different storage node Scale to meet the traffic needs of your table
  • 20. Choosing a Partition Key Granularity of entity group transactions Make the partition key only as big as you need it for entity group transactions Spread out load across partitions More partitions – makes it easier to automatically balance load Currently have one primary index Important to use a partition key that is common in your queries If partition key is part of query Fast access to retrieve entities within a single partition If partition key is not specified in a query Then every partition has to be scanned
  • 21. Table Entities and Properties Each entity can have up to 255 properties Mandatory properties for every entity in table Partition key Row key All entities have a system maintained version No fixed schema for rest of properties Each property is stored as a <name, typed value> pair No schema stored for a table 2 entities within the same table can have different properties Properties can be the standard .NET types String, binary, bool, DateTime, GUID, int, int64, and double
  • 22. Table Programming Model Provide familiar and easy to use interfaces Leverage your .NET expertise Table entities are accessed as objects via ADO.NET Data Services – .NET 3.5 SP1 LINQ – language Integrated query RESTful access to table and entities Insert/update/delete entities over the table Query over tables Get back a list of structured entities
  • 23. Web + Worker Role Pattern Web role Web farm that handles request from the internet Push work items onto storage queue Worker role Process work item off storage queue Public internet n m Web role Worker role Q Load balancer Cloud storage (tables, blobs, queues)
  • 24. Windows Azure Queues Provide reliable message delivery Simple, asynchronous work dispatch Programming semantics ensure that a message can be processed at least once Queues are highly available, durable and performance efficient Access is provided via REST
  • 25. Queue Storage Concepts Message Queue Account 128x128, http://… thumbnail jobs 256x256, http://… sally http://… photo processing jobs http://…
  • 26. Account, Queues and Messages An account can create many queues Queue name is scoped by the account Aqueue contains messages No limit on number of messages stored in a queue A message is stored for at most a week in a queue http://<Account>.queue.core.windows.net/<QueueName> Messages Message size <= 8 KB To store larger data, store data in blob/entity storage, and the blob/entity name in the message
  • 27. queue programming API queues create/delete/clear queues inspect queue length messages enqueue (queuename, message) dequeue (queueName, invisibility time T) returns the message with a messageID makes the message invisible for time T delete(queuename, messageID)
  • 28. Queue Best Practices Make message processing idempotent Need to deal with failures No fixed order for dequeue messages Invisible messages result in out of order processing Use the queue length to scale your workers
  • 30. SQL Azure SQL Server Data Services false start Familiar relational model Uses existing APIs & tools Friction free provisioning and reduced management Built for the cloud with availability and scale Clear feedback: “I want a SQL database in the cloud”
  • 31. Service Provisioning Model Each account has zero or more servers Azure wide, provisioned in a common portal Billing instrument Each server has one or more databases Contains metadata about the databases and usage Unit of authentication Unit of geo-location Generated DNS based name Each database has standard SQL objects Unit of consistency Unit of multi-tenancy Contains users, tables, views, indices, etc. Most granular unit of billing SKU’s Web edition -1 GB Business edition – 10 GB account server database
  • 32. Architecture Shared infrastructure at SQL database and below Request routing, security and isolation Scalable HA technology provides the glue Automatic replication and failover Provisioning, metering and billing infrastructure Machine 5 Machine 6 Machine 4 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB UserDB1 UserDB2 UserDB3 UserDB4 UserDB1 UserDB2 UserDB3 UserDB4 UserDB1 UserDB2 UserDB3 UserDB4 SDS Provisioning (databases, accounts, roles, …, Metering, and Billing Scalability and Availability: Fabric, Failover, Replication, and Load balancing Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 33.
  • 35. CLR
  • 38.
  • 39. Programming Model Small data sets Use a single database Same model as on-premise SQL Server Large data sets Partition data across many databases Use parallel fan-out queries to fetch the data Application code must be partition aware
  • 41. Management Tooling SQL Server 2008 R2 Management Studio SQLCMD Third party/ communityadd-ons
  • 42. Data Migration BCP SSIS SQL Azure Migration Wizard
  • 43. Customer Learning’s from TAP program Use SQL Azure to store metadata and BLOB storage for large files Highly elastic load patterns in a cost effective way is an industry challenge Combination of different SKUs
  • 44. Sync Framework SQL Azure Local SQL DB Sync Process Sync Process Local Computer MSDN - http://msdn.microsoft.com/en-us/sync/default.aspx
  • 46. Pricing Windows Azure Storage Bandwidth: $0.10 in / $0.15 out / GB $0.15/GB stored/month SQL Azure Storage Bandwidth: $0.10 in / $0.15 out / GB Web edition (1GB): $9.99/month Business edition (10GB): $99.99/month
  • 47. Data Options in the Cloud joe.shirey@microsoft.com http://www.joeshirey.com