SlideShare a Scribd company logo
1 of 43
Database options
on Azure
Himanshu Desai
Principal Consultant, Technical Specialist (WCF)
1
Page
Agenda
› Understand Azure Database Offering
› Overview of Azure SQL Database
› Overview of Azure Table Storage
› Overview of DocumentDB
› Suitability of Each options
/ Copyright ©2014 by Readify Pty Ltd2
Page / Copyright ©2015 by Readify Pty Ltd4
DB
SQL
DB
SQL
DB
SQL
App
SQL Azure
DB
Virtual Machine
SQL Server
Document DB
Partition Key
Partition
1
2
A
Table Storage
1
A
Row Key
Entity
Page
Who is responsible?
› Developers
› Testers
› Operations
/ Copyright ©2014 by Readify Pty Ltd5
SQL Azure
Page
Features
› Databaseasaservice
› ElasticScale withSharding*
› Predicatableperformance
› AvailabilitybackedbyreplicaandSLA
› Dataprotectionviaauditing,restoreandgeo-replication
› Selfmanaged
› Threereplicaarerunningatonetime(oneprimaryandtwoormoreseconday)
› Availabilityin3Tiers:Basic(2GB),Standard(250GB)&Premium(500GB)
/ Copyright ©2014 by Readify Pty Ltd7
Page
Sharding – Why?
› Thetotalamountofdataistoolargetofitwithintheconstraintsofasingledatabase
› Thetransactionthroughputoftheoverallworkloadexceedsthecapabilitiesofasingle
database
› Tenantsmayrequirephysicalisolationfromeachother,soseparatedatabasesareneeded
foreachtenant
› Differentsectionsofadatabasemayneedtoresideindifferentgeographiesfor
compliance,performanceorgeopoliticalreasons.
/ Copyright ©2014 by Readify Pty Ltd8
Page
Horizontal Vs Vertical Scaling
/ Copyright ©2014 by Readify Pty Ltd9
Page
Single Vs Multi-Tenant
/ Copyright ©2014 by Readify Pty Ltd10
Page
Backup & Restore
› Pointintimerestore
› Geo-Restore
› StandardGeo-replication
› ActiveGeo-replication.
/ Copyright ©2014 by Readify Pty Ltd11
Page
Management
› SQLManagementStudio
› RESTAPI’s
› PowershellScripts
› AzureManagementportal
/ Copyright ©2014 by Readify Pty Ltd12
Page
What is not supported
› https://msdn.microsoft.com/en-us/library/azure/ee336281.aspx
/ Copyright ©2014 by Readify Pty Ltd13
Page
Demo
/ Copyright ©2014 by Readify Pty Ltd14
Page
Azure Table Storage
/ Copyright ©2014 by Readify Pty Ltd15
Page
What is Table Storage
› Auto-sharded, key value store
› Single table can contain upto 500TB at a cost of
7c/Gb/month
› Scalability Target of 20K ops/second
/ Copyright ©2014 by Readify Pty Ltd16
Page
Key Features
› Schema less with only 3 predefined fields
› Structured Storage
› Massively scalable tables
› Highly available and durable
› Data is replicated several times
› Usage via REST API or Windows Azure Storage client
libraries
› Storing data for efficient retrieval and presistence/ Copyright ©2014 by Readify Pty Ltd17
Page
Required Entity Properties
› PartitionKey & RowKey
› Uniquely Identifies an entity
› Defines the sort order
› Use them to scale your app
› Timestamp
› Readonly
› Optimistic concurrency
/ Copyright ©2014 by Readify Pty Ltd18
Page
Table Storage Concepts
/ Copyright ©2014 by Readify Pty Ltd19
BooksOnline
Users
Books
Email
Name
Email
Name
Title
ISBN
Title
ISBN
Accounts Tables Entities
Page
Table Data Model
› Table
› A Storage account can create many tables
› Table name is scoped by account
› Set of entities (i.e. rows)
› Entity
› Set of properties (columns)
› Required properties
› PartitionKey, RowKey & Timestamp
/ Copyright ©2014 by Readify Pty Ltd20
PagePage / Copyright ©2014 by Readify Pty Ltd21
Partition Key
1
A
Row Key
Entity
Partition: ABC / Machine 1
1
2
A
Partition: DEF / Machine 2
1
2
A
Partition : HIJ / Machine 3
1
2
A
PartitionId RowKey Name Address Timestamp
ABC 1 …
ABC 2 ….
ABC 3 ….
PartitionId RowKey Name Address Timestam
p
DEF 4
DEF 5
DEF 6
PartitionId RowKe
y
Name Address Timestam
p
HIJ 7
HIJ 8
HIJ 9
Page
PartitionKey and Partitions
› PartitionKey
› Used to group entities in the table into parititions
› A table partition
› All entities with same partition key value
› Unit of scale
› Control entity locality
› Row key provides uniqueness within a partition
/ Copyright ©2014 by Readify Pty Ltd22
Page
Partitioning Tables- Why
› Scale
› Eachindividualpartitionsaredistributedacrossmultiplestoragenodes
› Systemmonitorsthepartitionsusageandautomaticallybalances
partitionsacrossmultiple storagenodes
› Apartitionsi.e.allentitieswithsamepartitionkey,willbeservedbya
singlenode
› Entitygrouptransactions
› AllowtheapplicationtoautoperformmultipleCreate/Update/Delete
operationsacrossmultipleentitiesusingbatchrequest
/ Copyright ©2014 by Readify Pty Ltd23
Page
Query Speed
› Fast
› Singleparitionkeyandrowkeywithequality
› Medium
› Singlepartionbutasmallrangeofrowkey
› Entirepartitionortablethatissmall
› Slow
› Largesinglescan
› Largetablescan
› “OR”predicatesonkeys=>noqueryoptimisation =>resultsinscan
› ExpectContinuationtokens
/ Copyright ©2014 by Readify Pty Ltd24
Page
Make Faster Queries
› LargeScans
› Splittherangeandparallelizequeries
› Createandmaintainownviewsthathelpqueries
› “Or”Predicates
› Executeindividualqueryinparallel
› UserInteractive
› Cachetheresulttoreducescanfrequency
/ Copyright ©2014 by Readify Pty Ltd25
Page
Continuation token
› Maxof1krowsinaresponse
› Attheendofpartitionrangeboundary
› Maxof5secstoexecutethequery
› Expectcontinuationtokenalways
› Ifthequerytimesout,Serverreturnscontinuationtokensothatclient
canmakeanotherquery
› Whenthescancrossesthepartitionboundaries,continuatin tokenis
returned.
/ Copyright ©2014 by Readify Pty Ltd26
Page
Pagination
› UseIQueryable<>.Take(N)tofetchthetopresults
› Usecontinuation
› http://<serviceUri>/Something?<originalQuery>&NextPartitionKey=<
someValue>&NextRowKey=<someOtherValue>
/ Copyright ©2014 by Readify Pty Ltd27
Page
Retrieve latest value
› Have the row key as
› DateTime.MaxValue.Ticks-DateTime.UtcNow.Ticks
/ Copyright ©2014 by Readify Pty Ltd28
Page
Prefix based retrieval
› Use CompareTo and ‘>’ and ‘<‘ function effectively
› myTable.Partitionkey.CompareTo(“somekey”)>=0
/ Copyright ©2014 by Readify Pty Ltd29
Page
Demo
/ Copyright ©2014 by Readify Pty Ltd30
Page
DocumentDB
/ Copyright ©2014 by Readify Pty Ltd31
Page
What is DocumentDB?
› Document database that supports fully manage
storage of JSON documents in a highly performant
way.
› Fully managed distributed database.
› (Still in preview and available in West US,North & West
Europe, cost around 73 cents a day which includes 50%
discount.)
/ Copyright ©2014 by Readify Pty Ltd32
Page
Key Features
› Schemaless,NoSQLdocumentdatabase
› Fullymanaged,withprovisionedcapacity
› AllowsforSQLlikequeriesonSemistructureddata(i.e.JSONfiles)
› Supportsstrongconsistencyfortransactionalapplications
› Designedtoscaleintopetabytes
› Includeslibraries forNode,.NET, REST,Javascript(Client&Server),Python
› IncludesHekatontechnologies(InMemorySQL)
/ Copyright ©2014 by Readify Pty Ltd33
Page
Management
› Supportedinnewportal
› Managedatabaseaccount,collections,usersetc
› Viewconsumptionstatistics
› http://portal.azure.com
› Usetoolslike
› Queryexplorer
› Documentexplorer
› DocumentDBstudio
/ Copyright ©2014 by Readify Pty Ltd34
Page
Overview of DocumentDB
/ Copyright ©2014 by Readify Pty Ltd35
Page
Database Accounts
/ Copyright ©2014 by Readify Pty Ltd36
Page
Resource Model
› DatabaseAccount
› Database
› Collection
› Document
› Attachment
› StoredProcedure
› Trigger
› User-definedfunctions
› User
› Permission
› Media
/ Copyright ©2014 by Readify Pty Ltd37
Page
Resource Addresssing
› Restful
› UniqueID
› APIUrl:
› https://{databaseaccount}.documents.azure.com
› DocumentPath
› /dbs/{database id}/colls/{collectionid}/docs/{documentid}
› Clientlibraries
› .NET
› Javascript
› Python/ Copyright ©2014 by Readify Pty Ltd38
Page
Capacity Unit
› Databaseaccountscomeswithadministrative quotaof
› 100databases
› 500,000users
› 2,000,000permissions
Itincludesquotaforcollections*
IfyourunoutofCU,addmore.TheyarestackablebackedbySSD.
EachCUcomeswith3elasticcollections,2000RU&10GBofSSD
backeddocumentstorage
› Elasticbydefault.Documentportionedbycollectioncanhaveunlimited
storage.Notscopedtomachine.Actsasatransactiondomain
/ Copyright ©2014 by Readify Pty Ltd39
Page
REST API
› Standard Operations
› Create,Delete,Put,Get,Post
› Permanent Uri on Create
› HMAC authentication using management or resource
key
› DocumentDB request headers
/ Copyright ©2014 by Readify Pty Ltd40
Page
.NET Development
› You need following from the portal after provision a
database
› Endpoint Url
› Authorization key
› Nu-get package
› Install-Package Microsoft.Azure.Documents.Client –
Pre
› Use them to create DocumentClient
/ Copyright ©2014 by Readify Pty Ltd41
Page
Demo
/ Copyright ©2014 by Readify Pty Ltd42
PagePage / Copyright ©2014 by Readify Pty Ltd43
Table Storage SQL Azure DocumentDB
Semi-structured Fully Structured Semi-Structured
Loosely typed Strongly typed Document Based Access
Non-Relational (Not RDMS) Relational (RDMS) Non-Relational
Massively scalable Highly Scalable Massively Scalable
REST API & Client SDK for
querying
Full SQL Support Good SQL Support for
querying hierarchical data
within a collection
N/A Stored Procs, UDFs etc Stored Procs, UDFs etc
Each CU comes with 3
collections. In Preview,
collection can grow upto
10GB and 2K RU of
throughput.
Page
Thank you
Himanshu Desai
Himanshu.desai@readify.net
/ Copyright ©2014 by Readify Pty Ltd44

More Related Content

What's hot

EDB Postgres Backup and Recovery
EDB Postgres Backup and RecoveryEDB Postgres Backup and Recovery
EDB Postgres Backup and RecoveryEDB
 
EDB Postgres Ark
EDB Postgres ArkEDB Postgres Ark
EDB Postgres ArkEDB
 
Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services Mohamed Tawfik
 
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...DataStax
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
Azure for Data Platform
Azure for Data PlatformAzure for Data Platform
Azure for Data PlatformMariano Kovo
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Databaserockplace
 
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...Provectus
 
Azure Hd insigth news
Azure Hd insigth newsAzure Hd insigth news
Azure Hd insigth newsnnakasone
 
Deep Dive DMG (september update)
Deep Dive DMG (september update)Deep Dive DMG (september update)
Deep Dive DMG (september update)Jean-Pierre Riehl
 
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)Chad Green
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsMaria Colgan
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP SystemMongoDB
 
Making Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterMaking Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterEDB
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBMongoDB
 
Managing Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at ScaleManaging Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at ScaleMongoDB
 
Big Data on Azure Tutorial
Big Data on Azure TutorialBig Data on Azure Tutorial
Big Data on Azure Tutorialrustd
 
How SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GameHow SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GamePARIKSHIT SAVJANI
 

What's hot (20)

EDB Postgres Backup and Recovery
EDB Postgres Backup and RecoveryEDB Postgres Backup and Recovery
EDB Postgres Backup and Recovery
 
Technical overview of Azure Cosmos DB
Technical overview of Azure Cosmos DBTechnical overview of Azure Cosmos DB
Technical overview of Azure Cosmos DB
 
EDB Postgres Ark
EDB Postgres ArkEDB Postgres Ark
EDB Postgres Ark
 
Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services Microsoft Azure Offerings and New Services
Microsoft Azure Offerings and New Services
 
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
The Promise and Perils of Encrypting Cassandra Data (Ameesh Divatia, Baffle, ...
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Azure for Data Platform
Azure for Data PlatformAzure for Data Platform
Azure for Data Platform
 
FAQ
FAQFAQ
FAQ
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Database
 
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...
 
Azure Hd insigth news
Azure Hd insigth newsAzure Hd insigth news
Azure Hd insigth news
 
Deep Dive DMG (september update)
Deep Dive DMG (september update)Deep Dive DMG (september update)
Deep Dive DMG (september update)
 
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOps
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
 
Making Postgres Central in Your Data Center
Making Postgres Central in Your Data CenterMaking Postgres Central in Your Data Center
Making Postgres Central in Your Data Center
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
 
Managing Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at ScaleManaging Multi-Tenant SaaS Applications at Scale
Managing Multi-Tenant SaaS Applications at Scale
 
Big Data on Azure Tutorial
Big Data on Azure TutorialBig Data on Azure Tutorial
Big Data on Azure Tutorial
 
How SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GameHow SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the Game
 

Similar to Storage Options on Windows Azure

Sydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentationSydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentationAaron Saikovski
 
Azure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture PresentationAzure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture PresentationAaron Saikovski
 
EDB: Power to Postgres
EDB: Power to PostgresEDB: Power to Postgres
EDB: Power to PostgresAshnikbiz
 
いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編
いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編
いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編Miho Yamamoto
 
Remote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needsRemote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needsEDB
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQLUn guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQLEDB
 
EDB Database Servers and Tools
EDB Database Servers and Tools EDB Database Servers and Tools
EDB Database Servers and Tools Ashnikbiz
 
An Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQLAn Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQLEDB
 
Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2Ashnikbiz
 
Expert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to PostgresExpert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to PostgresEDB
 
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19cMaximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19cGlen Hawkins
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...EDB
 
AWS Meetup June - Windows Workloads
AWS Meetup June - Windows Workloads AWS Meetup June - Windows Workloads
AWS Meetup June - Windows Workloads PolarSeven Pty Ltd
 
Remote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needsRemote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needsEDB
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolEDB
 
The Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data HubThe Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data HubCloudera, Inc.
 
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_Cloud
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_CloudKoprowskiT-Difinify2017-SQL_ServerBackup_In_The_Cloud
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_CloudTobias Koprowski
 

Similar to Storage Options on Windows Azure (20)

Sydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentationSydney 2015 Azure bootcamp PaaS presentation
Sydney 2015 Azure bootcamp PaaS presentation
 
Azure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture PresentationAzure Sydney 2015 BootCamp Architecture Presentation
Azure Sydney 2015 BootCamp Architecture Presentation
 
Diving into sql server 2016
Diving into sql server 2016Diving into sql server 2016
Diving into sql server 2016
 
EDB: Power to Postgres
EDB: Power to PostgresEDB: Power to Postgres
EDB: Power to Postgres
 
いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編
いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編
いそがしいひとのための Microsoft Ignite 2018 最新情報 Data 編
 
Remote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needsRemote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needs
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQLUn guide complet pour la migration de bases de données héritées vers PostgreSQL
Un guide complet pour la migration de bases de données héritées vers PostgreSQL
 
EDB Database Servers and Tools
EDB Database Servers and Tools EDB Database Servers and Tools
EDB Database Servers and Tools
 
An Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQLAn Expert Guide to Migrating Legacy Databases to PostgreSQL
An Expert Guide to Migrating Legacy Databases to PostgreSQL
 
Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2Enterprise-class security with PostgreSQL - 2
Enterprise-class security with PostgreSQL - 2
 
Expert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to PostgresExpert Guide to Migrating Legacy Databases to Postgres
Expert Guide to Migrating Legacy Databases to Postgres
 
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19cMaximum Availability Architecture - Best Practices for Oracle Database 19c
Maximum Availability Architecture - Best Practices for Oracle Database 19c
 
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
Using PEM to understand and improve performance in Postgres: Postgres Tuning ...
 
AWS Meetup June - Windows Workloads
AWS Meetup June - Windows Workloads AWS Meetup June - Windows Workloads
AWS Meetup June - Windows Workloads
 
Remote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needsRemote DBA Service: Powering your DBA needs
Remote DBA Service: Powering your DBA needs
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic Tool
 
The Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data HubThe Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data Hub
 
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_Cloud
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_CloudKoprowskiT-Difinify2017-SQL_ServerBackup_In_The_Cloud
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_Cloud
 
Optimiser votre infrastructure SQL Server avec Azure
Optimiser votre infrastructure SQL Server avec AzureOptimiser votre infrastructure SQL Server avec Azure
Optimiser votre infrastructure SQL Server avec Azure
 

More from Himanshu Desai

Service fabric overview
Service fabric overviewService fabric overview
Service fabric overviewHimanshu Desai
 
App insights and testhub
App insights and testhubApp insights and testhub
App insights and testhubHimanshu Desai
 
Cross Platform Devops with Visual Studio Team Services
Cross Platform Devops with Visual Studio Team ServicesCross Platform Devops with Visual Studio Team Services
Cross Platform Devops with Visual Studio Team ServicesHimanshu Desai
 
Visual Studio Team Services Release Management Overview
Visual Studio Team Services Release Management OverviewVisual Studio Team Services Release Management Overview
Visual Studio Team Services Release Management OverviewHimanshu Desai
 
Visual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewVisual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewHimanshu Desai
 
Multitenancy Options on Azure
Multitenancy Options on AzureMultitenancy Options on Azure
Multitenancy Options on AzureHimanshu Desai
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015Himanshu Desai
 
How to Improve agile team efficiency
How to Improve agile team efficiencyHow to Improve agile team efficiency
How to Improve agile team efficiencyHimanshu Desai
 
Web api scalability and performance
Web api scalability and performanceWeb api scalability and performance
Web api scalability and performanceHimanshu Desai
 
ASP.NET Web API O to 100
ASP.NET Web API O to 100ASP.NET Web API O to 100
ASP.NET Web API O to 100Himanshu Desai
 
Wcf rest api introduction
Wcf rest api introductionWcf rest api introduction
Wcf rest api introductionHimanshu Desai
 

More from Himanshu Desai (12)

Service fabric overview
Service fabric overviewService fabric overview
Service fabric overview
 
App insights and testhub
App insights and testhubApp insights and testhub
App insights and testhub
 
Devops
Devops Devops
Devops
 
Cross Platform Devops with Visual Studio Team Services
Cross Platform Devops with Visual Studio Team ServicesCross Platform Devops with Visual Studio Team Services
Cross Platform Devops with Visual Studio Team Services
 
Visual Studio Team Services Release Management Overview
Visual Studio Team Services Release Management OverviewVisual Studio Team Services Release Management Overview
Visual Studio Team Services Release Management Overview
 
Visual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewVisual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services Overview
 
Multitenancy Options on Azure
Multitenancy Options on AzureMultitenancy Options on Azure
Multitenancy Options on Azure
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015
 
How to Improve agile team efficiency
How to Improve agile team efficiencyHow to Improve agile team efficiency
How to Improve agile team efficiency
 
Web api scalability and performance
Web api scalability and performanceWeb api scalability and performance
Web api scalability and performance
 
ASP.NET Web API O to 100
ASP.NET Web API O to 100ASP.NET Web API O to 100
ASP.NET Web API O to 100
 
Wcf rest api introduction
Wcf rest api introductionWcf rest api introduction
Wcf rest api introduction
 

Recently uploaded

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Recently uploaded (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Storage Options on Windows Azure

  • 1. Database options on Azure Himanshu Desai Principal Consultant, Technical Specialist (WCF) 1
  • 2. Page Agenda › Understand Azure Database Offering › Overview of Azure SQL Database › Overview of Azure Table Storage › Overview of DocumentDB › Suitability of Each options / Copyright ©2014 by Readify Pty Ltd2
  • 3. Page / Copyright ©2015 by Readify Pty Ltd4 DB SQL DB SQL DB SQL App SQL Azure DB Virtual Machine SQL Server Document DB Partition Key Partition 1 2 A Table Storage 1 A Row Key Entity
  • 4. Page Who is responsible? › Developers › Testers › Operations / Copyright ©2014 by Readify Pty Ltd5
  • 6. Page Features › Databaseasaservice › ElasticScale withSharding* › Predicatableperformance › AvailabilitybackedbyreplicaandSLA › Dataprotectionviaauditing,restoreandgeo-replication › Selfmanaged › Threereplicaarerunningatonetime(oneprimaryandtwoormoreseconday) › Availabilityin3Tiers:Basic(2GB),Standard(250GB)&Premium(500GB) / Copyright ©2014 by Readify Pty Ltd7
  • 7. Page Sharding – Why? › Thetotalamountofdataistoolargetofitwithintheconstraintsofasingledatabase › Thetransactionthroughputoftheoverallworkloadexceedsthecapabilitiesofasingle database › Tenantsmayrequirephysicalisolationfromeachother,soseparatedatabasesareneeded foreachtenant › Differentsectionsofadatabasemayneedtoresideindifferentgeographiesfor compliance,performanceorgeopoliticalreasons. / Copyright ©2014 by Readify Pty Ltd8
  • 8. Page Horizontal Vs Vertical Scaling / Copyright ©2014 by Readify Pty Ltd9
  • 9. Page Single Vs Multi-Tenant / Copyright ©2014 by Readify Pty Ltd10
  • 10. Page Backup & Restore › Pointintimerestore › Geo-Restore › StandardGeo-replication › ActiveGeo-replication. / Copyright ©2014 by Readify Pty Ltd11
  • 11. Page Management › SQLManagementStudio › RESTAPI’s › PowershellScripts › AzureManagementportal / Copyright ©2014 by Readify Pty Ltd12
  • 12. Page What is not supported › https://msdn.microsoft.com/en-us/library/azure/ee336281.aspx / Copyright ©2014 by Readify Pty Ltd13
  • 13. Page Demo / Copyright ©2014 by Readify Pty Ltd14
  • 14. Page Azure Table Storage / Copyright ©2014 by Readify Pty Ltd15
  • 15. Page What is Table Storage › Auto-sharded, key value store › Single table can contain upto 500TB at a cost of 7c/Gb/month › Scalability Target of 20K ops/second / Copyright ©2014 by Readify Pty Ltd16
  • 16. Page Key Features › Schema less with only 3 predefined fields › Structured Storage › Massively scalable tables › Highly available and durable › Data is replicated several times › Usage via REST API or Windows Azure Storage client libraries › Storing data for efficient retrieval and presistence/ Copyright ©2014 by Readify Pty Ltd17
  • 17. Page Required Entity Properties › PartitionKey & RowKey › Uniquely Identifies an entity › Defines the sort order › Use them to scale your app › Timestamp › Readonly › Optimistic concurrency / Copyright ©2014 by Readify Pty Ltd18
  • 18. Page Table Storage Concepts / Copyright ©2014 by Readify Pty Ltd19 BooksOnline Users Books Email Name Email Name Title ISBN Title ISBN Accounts Tables Entities
  • 19. Page Table Data Model › Table › A Storage account can create many tables › Table name is scoped by account › Set of entities (i.e. rows) › Entity › Set of properties (columns) › Required properties › PartitionKey, RowKey & Timestamp / Copyright ©2014 by Readify Pty Ltd20
  • 20. PagePage / Copyright ©2014 by Readify Pty Ltd21 Partition Key 1 A Row Key Entity Partition: ABC / Machine 1 1 2 A Partition: DEF / Machine 2 1 2 A Partition : HIJ / Machine 3 1 2 A PartitionId RowKey Name Address Timestamp ABC 1 … ABC 2 …. ABC 3 …. PartitionId RowKey Name Address Timestam p DEF 4 DEF 5 DEF 6 PartitionId RowKe y Name Address Timestam p HIJ 7 HIJ 8 HIJ 9
  • 21. Page PartitionKey and Partitions › PartitionKey › Used to group entities in the table into parititions › A table partition › All entities with same partition key value › Unit of scale › Control entity locality › Row key provides uniqueness within a partition / Copyright ©2014 by Readify Pty Ltd22
  • 22. Page Partitioning Tables- Why › Scale › Eachindividualpartitionsaredistributedacrossmultiplestoragenodes › Systemmonitorsthepartitionsusageandautomaticallybalances partitionsacrossmultiple storagenodes › Apartitionsi.e.allentitieswithsamepartitionkey,willbeservedbya singlenode › Entitygrouptransactions › AllowtheapplicationtoautoperformmultipleCreate/Update/Delete operationsacrossmultipleentitiesusingbatchrequest / Copyright ©2014 by Readify Pty Ltd23
  • 23. Page Query Speed › Fast › Singleparitionkeyandrowkeywithequality › Medium › Singlepartionbutasmallrangeofrowkey › Entirepartitionortablethatissmall › Slow › Largesinglescan › Largetablescan › “OR”predicatesonkeys=>noqueryoptimisation =>resultsinscan › ExpectContinuationtokens / Copyright ©2014 by Readify Pty Ltd24
  • 24. Page Make Faster Queries › LargeScans › Splittherangeandparallelizequeries › Createandmaintainownviewsthathelpqueries › “Or”Predicates › Executeindividualqueryinparallel › UserInteractive › Cachetheresulttoreducescanfrequency / Copyright ©2014 by Readify Pty Ltd25
  • 25. Page Continuation token › Maxof1krowsinaresponse › Attheendofpartitionrangeboundary › Maxof5secstoexecutethequery › Expectcontinuationtokenalways › Ifthequerytimesout,Serverreturnscontinuationtokensothatclient canmakeanotherquery › Whenthescancrossesthepartitionboundaries,continuatin tokenis returned. / Copyright ©2014 by Readify Pty Ltd26
  • 26. Page Pagination › UseIQueryable<>.Take(N)tofetchthetopresults › Usecontinuation › http://<serviceUri>/Something?<originalQuery>&NextPartitionKey=< someValue>&NextRowKey=<someOtherValue> / Copyright ©2014 by Readify Pty Ltd27
  • 27. Page Retrieve latest value › Have the row key as › DateTime.MaxValue.Ticks-DateTime.UtcNow.Ticks / Copyright ©2014 by Readify Pty Ltd28
  • 28. Page Prefix based retrieval › Use CompareTo and ‘>’ and ‘<‘ function effectively › myTable.Partitionkey.CompareTo(“somekey”)>=0 / Copyright ©2014 by Readify Pty Ltd29
  • 29. Page Demo / Copyright ©2014 by Readify Pty Ltd30
  • 30. Page DocumentDB / Copyright ©2014 by Readify Pty Ltd31
  • 31. Page What is DocumentDB? › Document database that supports fully manage storage of JSON documents in a highly performant way. › Fully managed distributed database. › (Still in preview and available in West US,North & West Europe, cost around 73 cents a day which includes 50% discount.) / Copyright ©2014 by Readify Pty Ltd32
  • 32. Page Key Features › Schemaless,NoSQLdocumentdatabase › Fullymanaged,withprovisionedcapacity › AllowsforSQLlikequeriesonSemistructureddata(i.e.JSONfiles) › Supportsstrongconsistencyfortransactionalapplications › Designedtoscaleintopetabytes › Includeslibraries forNode,.NET, REST,Javascript(Client&Server),Python › IncludesHekatontechnologies(InMemorySQL) / Copyright ©2014 by Readify Pty Ltd33
  • 33. Page Management › Supportedinnewportal › Managedatabaseaccount,collections,usersetc › Viewconsumptionstatistics › http://portal.azure.com › Usetoolslike › Queryexplorer › Documentexplorer › DocumentDBstudio / Copyright ©2014 by Readify Pty Ltd34
  • 34. Page Overview of DocumentDB / Copyright ©2014 by Readify Pty Ltd35
  • 35. Page Database Accounts / Copyright ©2014 by Readify Pty Ltd36
  • 36. Page Resource Model › DatabaseAccount › Database › Collection › Document › Attachment › StoredProcedure › Trigger › User-definedfunctions › User › Permission › Media / Copyright ©2014 by Readify Pty Ltd37
  • 37. Page Resource Addresssing › Restful › UniqueID › APIUrl: › https://{databaseaccount}.documents.azure.com › DocumentPath › /dbs/{database id}/colls/{collectionid}/docs/{documentid} › Clientlibraries › .NET › Javascript › Python/ Copyright ©2014 by Readify Pty Ltd38
  • 38. Page Capacity Unit › Databaseaccountscomeswithadministrative quotaof › 100databases › 500,000users › 2,000,000permissions Itincludesquotaforcollections* IfyourunoutofCU,addmore.TheyarestackablebackedbySSD. EachCUcomeswith3elasticcollections,2000RU&10GBofSSD backeddocumentstorage › Elasticbydefault.Documentportionedbycollectioncanhaveunlimited storage.Notscopedtomachine.Actsasatransactiondomain / Copyright ©2014 by Readify Pty Ltd39
  • 39. Page REST API › Standard Operations › Create,Delete,Put,Get,Post › Permanent Uri on Create › HMAC authentication using management or resource key › DocumentDB request headers / Copyright ©2014 by Readify Pty Ltd40
  • 40. Page .NET Development › You need following from the portal after provision a database › Endpoint Url › Authorization key › Nu-get package › Install-Package Microsoft.Azure.Documents.Client – Pre › Use them to create DocumentClient / Copyright ©2014 by Readify Pty Ltd41
  • 41. Page Demo / Copyright ©2014 by Readify Pty Ltd42
  • 42. PagePage / Copyright ©2014 by Readify Pty Ltd43 Table Storage SQL Azure DocumentDB Semi-structured Fully Structured Semi-Structured Loosely typed Strongly typed Document Based Access Non-Relational (Not RDMS) Relational (RDMS) Non-Relational Massively scalable Highly Scalable Massively Scalable REST API & Client SDK for querying Full SQL Support Good SQL Support for querying hierarchical data within a collection N/A Stored Procs, UDFs etc Stored Procs, UDFs etc Each CU comes with 3 collections. In Preview, collection can grow upto 10GB and 2K RU of throughput.
  • 43. Page Thank you Himanshu Desai Himanshu.desai@readify.net / Copyright ©2014 by Readify Pty Ltd44

Editor's Notes

  1. Standard Geo-Replication http://azure.microsoft.com/blog/2014/09/03/azure-sql-database-standard-geo-replication/ Point in Time restore http://azure.microsoft.com/blog/2014/10/01/azure-sql-database-point-in-time-restore/ Point-in-time restore Point-in-time restore is the most basic restore option, which you get automatically with basic, standard, and premium databases. You can use point-in-time restore to return your database to an earlier point in time. Go back 7 days with basic, 14 days with standard, and 35 days with premium. See Azure SQL Database Backup and Restore and Azure SQL Database Point in Time Restore (blog) for more information. Watch the video Restore a SQL Database Using Point in Time Restore to see how easy it is to use point-in-time restore. Geo-restore Geo-restore is similar to point-in-time restore. You also get it automatically with basic, standard, and premium databases. Geo-restore, however, is designed to be a basic recovery option when a database is unavailable because of a large scale incident or outage in the region where your database is hosted. The feature uses Azure read-access geo-redundant storage to store the most recent daily backup of your databases in a different geographical location. Consider geo-restore as a basic disaster recovery solution if your application can tolerate up to 24 hours downtime and data loss. For more information, read Azure SQL Database Geo-Restore (blog), and watch the video Restore a SQL Database Using Geo-Restore to see how to recover a database using geo-restore. Standard geo-replication Standard geo-replication is available for standard and premium databases. It’s designed for less write-intensive applications that nevertheless process high volumes of data and have more aggressive recovery requirements than geo-restore can offer. When the primary database fails, it shows as degraded, and you can initiate failover to a non-readable secondary database stored in a different region. For more information, see Standard Geo-Replication for Azure SQL Database and Azure SQL Database Standard Geo-Replication (blog), which has a thorough comparison of active geo-replication and standard geo-replication. Active geo-replication Active Geo-Replication is available for premium databases. It’s designed for write-intensive applications with the most aggressive recovery requirements. Using active geo-replication, you can create up to four readable secondaries on servers in different regions. These secondaries are maintained as continuous copies of the primary, and you can initiate failover to a secondary in the same way as standard geo-replication. Active geo-replication provides the highest degree of resiliency to temporary connection problems and high latency, so can support online application upgrade or relocation scenarios, as well as load balancing for read-only workloads. For more information, see Active Geo-Replication for Azure SQL Database and Spotlight on SQL Database Active Geo-Replication (blog). Additional business continuity features Database copy allows you to create a copy of a database either on the same or different servers in the same or different regions. The copy is transactionally consistent with the source when the database copy operation is complete. It is however a one-time copy, and not continuously replicated from the source. The feature can be used for data migration or ad hoc copy needs. For more information, see Copying Databases in Azure SQL Database. The import and export service lets you manually or automatically export a BACPAC file, which contains a logical copy of data and schema of a database, and then import the file to restore the database. Use import and export for Web and Business databases, which do not support other business continuity features. Or use it in addition to other business continuity features for long-term storage of daily backups or to retain backups beyond the retention period for point-in-time restore. For more information, see How to: Use the Import and Export Service in Azure SQL Database
  2. Standard Geo-Replication http://azure.microsoft.com/blog/2014/09/03/azure-sql-database-standard-geo-replication/ Point in Time restore http://azure.microsoft.com/blog/2014/10/01/azure-sql-database-point-in-time-restore/ Point-in-time restore Point-in-time restore is the most basic restore option, which you get automatically with basic, standard, and premium databases. You can use point-in-time restore to return your database to an earlier point in time. Go back 7 days with basic, 14 days with standard, and 35 days with premium. See Azure SQL Database Backup and Restore and Azure SQL Database Point in Time Restore (blog) for more information. Watch the video Restore a SQL Database Using Point in Time Restore to see how easy it is to use point-in-time restore. Geo-restore Geo-restore is similar to point-in-time restore. You also get it automatically with basic, standard, and premium databases. Geo-restore, however, is designed to be a basic recovery option when a database is unavailable because of a large scale incident or outage in the region where your database is hosted. The feature uses Azure read-access geo-redundant storage to store the most recent daily backup of your databases in a different geographical location. Consider geo-restore as a basic disaster recovery solution if your application can tolerate up to 24 hours downtime and data loss. For more information, read Azure SQL Database Geo-Restore (blog), and watch the video Restore a SQL Database Using Geo-Restore to see how to recover a database using geo-restore. Standard geo-replication Standard geo-replication is available for standard and premium databases. It’s designed for less write-intensive applications that nevertheless process high volumes of data and have more aggressive recovery requirements than geo-restore can offer. When the primary database fails, it shows as degraded, and you can initiate failover to a non-readable secondary database stored in a different region. For more information, see Standard Geo-Replication for Azure SQL Database and Azure SQL Database Standard Geo-Replication (blog), which has a thorough comparison of active geo-replication and standard geo-replication. Active geo-replication Active Geo-Replication is available for premium databases. It’s designed for write-intensive applications with the most aggressive recovery requirements. Using active geo-replication, you can create up to four readable secondaries on servers in different regions. These secondaries are maintained as continuous copies of the primary, and you can initiate failover to a secondary in the same way as standard geo-replication. Active geo-replication provides the highest degree of resiliency to temporary connection problems and high latency, so can support online application upgrade or relocation scenarios, as well as load balancing for read-only workloads. For more information, see Active Geo-Replication for Azure SQL Database and Spotlight on SQL Database Active Geo-Replication (blog). Additional business continuity features Database copy allows you to create a copy of a database either on the same or different servers in the same or different regions. The copy is transactionally consistent with the source when the database copy operation is complete. It is however a one-time copy, and not continuously replicated from the source. The feature can be used for data migration or ad hoc copy needs. For more information, see Copying Databases in Azure SQL Database. The import and export service lets you manually or automatically export a BACPAC file, which contains a logical copy of data and schema of a database, and then import the file to restore the database. Use import and export for Web and Business databases, which do not support other business continuity features. Or use it in addition to other business continuity features for long-term storage of daily backups or to retain backups beyond the retention period for point-in-time restore. For more information, see How to: Use the Import and Export Service in Azure SQL Database
  3. Standard Geo-Replication http://azure.microsoft.com/blog/2014/09/03/azure-sql-database-standard-geo-replication/ Point in Time restore http://azure.microsoft.com/blog/2014/10/01/azure-sql-database-point-in-time-restore/ Point-in-time restore Point-in-time restore is the most basic restore option, which you get automatically with basic, standard, and premium databases. You can use point-in-time restore to return your database to an earlier point in time. Go back 7 days with basic, 14 days with standard, and 35 days with premium. See Azure SQL Database Backup and Restore and Azure SQL Database Point in Time Restore (blog) for more information. Watch the video Restore a SQL Database Using Point in Time Restore to see how easy it is to use point-in-time restore. Geo-restore Geo-restore is similar to point-in-time restore. You also get it automatically with basic, standard, and premium databases. Geo-restore, however, is designed to be a basic recovery option when a database is unavailable because of a large scale incident or outage in the region where your database is hosted. The feature uses Azure read-access geo-redundant storage to store the most recent daily backup of your databases in a different geographical location. Consider geo-restore as a basic disaster recovery solution if your application can tolerate up to 24 hours downtime and data loss. For more information, read Azure SQL Database Geo-Restore (blog), and watch the video Restore a SQL Database Using Geo-Restore to see how to recover a database using geo-restore. Standard geo-replication Standard geo-replication is available for standard and premium databases. It’s designed for less write-intensive applications that nevertheless process high volumes of data and have more aggressive recovery requirements than geo-restore can offer. When the primary database fails, it shows as degraded, and you can initiate failover to a non-readable secondary database stored in a different region. For more information, see Standard Geo-Replication for Azure SQL Database and Azure SQL Database Standard Geo-Replication (blog), which has a thorough comparison of active geo-replication and standard geo-replication. Active geo-replication Active Geo-Replication is available for premium databases. It’s designed for write-intensive applications with the most aggressive recovery requirements. Using active geo-replication, you can create up to four readable secondaries on servers in different regions. These secondaries are maintained as continuous copies of the primary, and you can initiate failover to a secondary in the same way as standard geo-replication. Active geo-replication provides the highest degree of resiliency to temporary connection problems and high latency, so can support online application upgrade or relocation scenarios, as well as load balancing for read-only workloads. For more information, see Active Geo-Replication for Azure SQL Database and Spotlight on SQL Database Active Geo-Replication (blog). Additional business continuity features Database copy allows you to create a copy of a database either on the same or different servers in the same or different regions. The copy is transactionally consistent with the source when the database copy operation is complete. It is however a one-time copy, and not continuously replicated from the source. The feature can be used for data migration or ad hoc copy needs. For more information, see Copying Databases in Azure SQL Database. The import and export service lets you manually or automatically export a BACPAC file, which contains a logical copy of data and schema of a database, and then import the file to restore the database. Use import and export for Web and Business databases, which do not support other business continuity features. Or use it in addition to other business continuity features for long-term storage of daily backups or to retain backups beyond the retention period for point-in-time restore. For more information, see How to: Use the Import and Export Service in Azure SQL Database
  4. http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/06/windows-azure-storage-client-library-2-0-tables-deep-dive.aspx
  5. In Preview, collections quota can be between 0-10GB http://azure.microsoft.com/en-us/documentation/articles/documentdb-manage/ CU: Measure of Provisioned Storage(GB) and Throughput (Req/s)