Upload
guy-barrette
View
52
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Introduction to Data in Microsoft Azure for DevTeach Oceanwide
Citation preview
Azure Data Overview
Microsoft Azure
Guy Barrette
MVP Windows AzureFreelance Solutions Architect
Co-animateur duVisual Studio Talk Show
@guybarrette
Agenda
SQL Databas
e
SQL on IaaS NoSQL
Blobs Files
SQL Database
IaaS SaaSPhysical Virtual
A Continuous Offering From Private To
Public Cloud
PaaS
A Server Is Not A Machine
SQL Server
A Machine
SQL Database
Server
A TDS Endpoint
The Basics
SQL DatabaseSQL Server database technology as a service Fully ManagedEnterprise-ready with automatic support for HADesigned to scale out elastically with demandIdeal for simple and complex applications
Server ProvisioningServer DefinedService head that contains databases
Connect via automatically generated FQDN (xxx.database.windows.net)
Initially contains only a master database
Provision Servers InteractivelyLog on to Microsoft Azure Management Portal
Create a SQL Database server
Specify admin login credentials
Add firewall rules and enable service access
Automate Server ProvisioningUse Microsoft Azure Platform PowerShell cmdlets (or use REST API directly)
wappowershell.codeplex.com
Selecting the right EditionService Tier
Performance Level
Common App Pattern
Performance Business Continuity
Max DB Size
Trans. Perf. Objective
DTUs PITR DR / GEO-Rep
Basic Basic Small DB, SQL opp
2 GB Reliability / Hr.
5 Past 7 Days
DB Copy + Manual Export
Standard
S1 / S2 Wrkgp/cloud app, multiple concurrent operations
250 GB
Reliability / Min.
15/ 50
Past 14 Days
DB Copy + Manual Export
Premium
P1 / P2 / P3 Mission Critical, High volume, Many concurrent Users
500 GB
Reliability / sec.
100/200/800
Past 35 Days
Active Geo-replication
Blob Storage
Blob Storage Concepts
BlobContainerAccount
http://<account>.blob.core.windows.net/<container>/<blobname>
Pages/ Blocks
contoso
PIC01.JPG
Block/Page
Block/Page
PIC02.JPG
images
VID1.AVIvideos
Two Types of Blobs Under the Hood
Block BlobTargeted at streaming workloads
Each blob consists of a sequence of blocks
Each block is identified by a Block ID
Size limit 200GB per blob
Optimistic Concurrency via Etags
Page BlobTargeted at random read/write workloads
Each blob consists of an array of pages
Each page is identified by its offset from the start of the blob
Size limit 1TB per blob
Optimistic or Pessimistic (locking) concurrency via leases
Queues
Queue ConsiderationsMessages are not orderedMessage
Will be processed at least onceMaybe returned more than once
Failover In case of failure, the message will be reprocessed by
another nodeMessage size<= 64KBStored up to 7 days
Why use Queue?The queue length directly reflects how well the backend processing nodes are catching up with the overall workload.
Decouples different parts of the application.
Allows the flexibility of efficient resource usage within an application
Buffering to absorb traffic bursts and reduce the impact of individual component failures.
Tables18
Table Storage Concepts
EntityTableAccount
contoso
Name =…Email = …
Name =…EMailAdd=
customers
Photo ID =…Date =…
photos
Photo ID =…Date =…
Table Details
InsertUpdate Merge – Partial update
Replace – Update entire entity
UpsertDeleteQueryEntity Group TransactionsMultiple CUD Operations in a single atomic transaction
Create, Query, DeleteTables can have metadata
Not an RDBMS! Table
Entities
No Fixed Schema
FIRST LAST BIRTHDATE
Wade Wegner 2/2/1981
Nathan Totten 3/15/1965
Nick Harris May 1, 1976
FAV SPORT
Canoeing
Questions?