user experiencesapp development data platform 8
TRANSCRIPT
![Page 1: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/1.jpg)
Spark the future.
May 4 – 8, 2015Chicago, IL
![Page 2: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/2.jpg)
SELECT Latest FROM Microsoft Azure DocumentDBJohn MacintyreAzure DocumentDB@johnmacputs
BRK2551
![Page 3: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/3.jpg)
1B,
“websites” :
85B,
“apps” :
22M
“repos” :
{
}
![Page 4: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/4.jpg)
user experiences app development
{ modern }
![Page 5: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/5.jpg)
data platform
8
{ modern }
![Page 6: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/6.jpg)
SQL
![Page 7: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/7.jpg)
SQL
![Page 8: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/8.jpg)
BlobSQL SearchKey Value Document
![Page 9: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/9.jpg)
BlobSQL SearchKey Value Document
![Page 10: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/10.jpg)
Part of NoSQL family Built for simplicity, scale and performance Non-relational, no enforced schema
Document Databases
![Page 11: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/11.jpg)
Part of NoSQL family Built for simplicity, scale and performance Non-relational, no enforced schema
Document Databases
Great for these documents …
{ "name": "SmugMug", "permalink": "smugmug", "homepage_url": "http://www.smugmug.com", "blog_url": "http://blogs.smugmug.com/", "category_code": "photo_video", "products": [ { "name": "SmugMug", "permalink": "smugmug" } ], "offices": [ { "description": "", "address1": "67 E. Evelyn Ave, Suite 200", "address2": "", "zip_code": "94041", "city": "Mountain View", "state_code": "CA", "country_code": "USA", "latitude": 37.390056, "longitude": -122.067692 } ] }
![Page 12: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/12.jpg)
Part of NoSQL family Built for simplicity, scale and performance Non-relational, no enforced schema
Document Databases
Not ideal for these documents …
{ “id": “itemdata2344", “data": “TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhp cyByZWFzb24sIGJ1dCBieSB0aGlzHNpbmd1bGFyIHBhc3Npb24gZ nJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaW
dodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdl bmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9y
dCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=” }
![Page 13: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/13.jpg)
Part of NoSQL family Built for simplicity, scale and performance Non-relational, no enforced schema
Document Databases
Definitely not these documents …
![Page 14: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/14.jpg)
Common use cases
Catalog Data
Preferences & State
Events & Logging
User Data & Content
Data Exchange
![Page 15: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/15.jpg)
Azure DocumentDB
Flexible schema for iterative application development
Automatic indexing with a SQL interface Transactional support for multi-document
operations Scalable database storage with predictable
performance
fully managed NoSQL document database service built for the cloud
![Page 16: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/16.jpg)
Get Started …
![Page 17: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/17.jpg)
Application
Collections
Document 1 Document 2
Document 3 Document 4
DocumentDB Database
{ "name": "John", "country": "Canada", "age": 43, "lastUse": "March 4, 2014"}
{ "name": “Andrew", "country": “America", "age": 22, "firstUse": “June 17, 2014"}
{ "docCount": 3, "last": "May 1, 2014"}
{ "name": "Eva", "country": "Germany", "age": 25}
JSON
Application Access
![Page 18: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/18.jpg)
Application
Create / Read / Update / Delete
Collections
Document 1 Document 2
Document 3 Document 4
DocumentDB Database
{ "name": "John", "country": "Canada", "age": 43, "lastUse": "March 4, 2014"}
{ "name": “Andrew", "country": “America", "age": 22, "firstUse": “June 17, 2014"}
{ "docCount": 3, "last": "May 1, 2014"}
{ "name": "Eva", "country": "Germany", "age": 25}
JSON
Application Access
![Page 19: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/19.jpg)
Application
SQL
Collections
Document 1 Document 2
Document 3 Document 4
DocumentDB Database
{ "name": "John", "country": "Canada", "age": 43, "lastUse": "March 4, 2014"}
{ "name": “Andrew", "country": “America", "age": 22, "firstUse": “June 17, 2014"}
{ "docCount": 3, "last": "May 1, 2014"}
{ "name": "Eva", "country": "Germany", "age": 25}
JSON
Application Access
![Page 20: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/20.jpg)
Application
Sprocs / Triggers
Collections
Document 1 Document 2
Document 3 Document 4
DocumentDB Database
{ "name": "John", "country": "Canada", "age": 43, "lastUse": "March 4, 2014"}
{ "name": “Andrew", "country": “America", "age": 22, "firstUse": “June 17, 2014"}
{ "docCount": 3, "last": "May 1, 2014"}
{ "name": "Eva", "country": "Germany", "age": 25}
JSON
Application Access
![Page 21: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/21.jpg)
Build an app …
![Page 22: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/22.jpg)
DocumentDB Resources
The Basics
Database Account
{ }{ }
Databases
Users
Permissions
Collections Documents
JS
JS
JS
Stored Procedures
Triggers
User Defined Functions
Database Account Unique DNS namespace Access boundary (master key) Billable entity Assigned default consistency
![Page 23: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/23.jpg)
DocumentDB Resources
The Basics
Database Account Databases
Users
Permissions
Collections Documents
JS
JS
JS
Stored Procedures
Triggers
User Defined Functions
Databases Authorization namespace Container for data collections Scale out with more
collections
{ }
{ }
![Page 24: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/24.jpg)
DocumentDB Resources
The Basics
Database Account Databases
Users
Permissions
Collections Documents
JS
JS
JS
Stored Procedures
Triggers
User Defined Functions
Collections Container for
heterogeneous documents Data partition* for
document storage – 10GB partition size
Scope for queries and transactions
Billable resource (S1, S2, S3)
* Collection != Table
{ }{ }
![Page 25: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/25.jpg)
DocumentDB Resources
The Basics
Database Account Databases
Users
Permissions
Collections Documents
JS
JS
JS
Stored Procedures
Triggers
User Defined Functions
Documents Application defined JSON No enforced schema All properties indexed by
default Optimized for many small
documents
{ }{ }
![Page 26: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/26.jpg)
DocumentDB Resources
The Basics
Database Account Databases
Users
Permissions
Collections Documents
JS
JS
JS
Stored Procedures
Triggers
User Defined Functions
Resource Attributes Addressable by logical URI Represented as JSON Partitioned for scale out Replicated for HA RESTful interaction over HTTP HTTP and TCP connectivity
{ }{ }
![Page 27: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/27.jpg)
SDKs and Tooling
SDKs
Azure Portal Data Migration
Studio
![Page 28: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/28.jpg)
Import data …
![Page 29: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/29.jpg)
Migrate existing data into DocumentDB Support for SQL, MongoDB, CSV files, JSON files NEW – import data from Azure Tables and internet accessible
endpoints
DocumentDB Data Migration Tool
http://aka.ms/docdbimport
![Page 30: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/30.jpg)
Query over JSON documents
All properties indexed for query Write optimized for consistent
queries Expression evaluation and JS user
defined functions Predicates, projections, hierarchy,
array iteration and JSON construction
LINQ and SQL interfaces Parametrized SQL
http://aka.ms/docdbsql
![Page 31: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/31.jpg)
Query over JSON …
![Page 32: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/32.jpg)
Query over JSON …
NEW! IN operator andsystem functions
![Page 33: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/33.jpg)
Integrated JavaScript
Multi-document transactions through stored procedures and triggers
JS app logic executed in the database for high performance batching and sequencing
Scoped to a collection Language integrated, throw
statements rollback transactions
http://aka.ms/docdbjs
![Page 34: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/34.jpg)
JS stored procedure …
![Page 35: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/35.jpg)
Performance Levels
each collection is assigned a performance level for throughput
S2 S3S1
![Page 36: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/36.jpg)
Performance Levels
S1 S2 S3
each collection is assigned a performance level for throughput
![Page 37: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/37.jpg)
Performance Levels
adjust to meet the performance needs of your app
S1 S2 S3S3
http://aka.ms/docdbperf
![Page 38: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/38.jpg)
Performance levels …
![Page 39: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/39.jpg)
Performance Levels
Request “Units”, not to be confused with requests
Normalized unit to express work required to complete a request
Abstracts CPU, IO and memory consumption
Not all requests are created equal
![Page 40: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/40.jpg)
Scaling through Collections
Databases are not limited in size Collections are allocated with 10GB
each Distribute data across collections for
storage and throughput scaling
![Page 41: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/41.jpg)
Scaling through Collections
SDK Partition Resolver
NEW!
http://aka.ms/docdbshard
![Page 42: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/42.jpg)
Enriched app experiences
DocumentDB + Search
http://aka.ms/docdbsearch
![Page 43: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/43.jpg)
Big data and analytics
DocumentDB + HDInsight
http://aka.ms/docdbhdi
![Page 44: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/44.jpg)
Get Started Today
build an appexplore the playground
import some data
select * from playground p where p.name = “DocumentDB”
http://aka.ms/docdbplayground http://aka.ms/docdbstarter http://aka.ms/docdbimport
![Page 45: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/45.jpg)
Get Started with DocumentDB http://aka.ms/docdbstart
Documentation and videos http://aka.ms/docdbdocs
How does pricing work? http://aka.ms/docdbpricing
Get help on the forums http://aka.ms/docdbforum
Find us on twitter @DocumentDB
More Resources
THANK YOU!
More at Ignite DocumentDB and HDInsight
Wednesday, May 6th 10:45 – 12:00PM Hands on Lab – Building an ASP.NET MVC app
using Azure DocumentDB
![Page 46: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/46.jpg)
Ignite Azure Challenge Sweepstakes
Attend Azure sessions and activities, track your progress online, win raffle tickets for great prizes!
Aka.ms/MyAzureChallenge
Enter this session code online: BRK2551
NO PURCHASE NECESSARY. Open only to event attendees. Winners must be present to win. Game ends May 9th, 2015. For Official Rules, see The Cloud and Enterprise Lounge or myignite.com/challenge
![Page 47: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/47.jpg)
Visit Myignite at http://myignite.microsoft.com or download and use the Ignite Mobile App with the QR code above.
Please evaluate this sessionYour feedback is important to us!
![Page 48: user experiencesapp development data platform 8](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649d765503460f94a57e24/html5/thumbnails/48.jpg)
© 2015 Microsoft Corporation. All rights reserved.