SlideShare a Scribd company logo
THE EMPIRE STRIKES BACK 
AZURE DOCUMENTDB
AGENDA 
You have your moments. Not many of them, but you do have them. 
~ Princess Leia 
• Introduction 
• Azure, NoSQL & DocumentDB 
• Getting Started (Setup in Azure) 
• Working with DocumentDB (C#) 
• Cost/usage 
• Uses cases & limitations of DocumentDB
(Redmond, WA ~ July 2014)
AGENDA 
• Introduction 
• Azure, NoSQL & DocumentDB 
• Getting Started (Setup in Azure) 
• Working with DocumentDB (C#) 
• Cost/usage 
• Uses cases & limitations of DocumentDB 
“You must unlearn what you have learned.” ~ Yoda
Product Name: 
WHAT IS THIS THING? 
Azure Document DB 
Pronunciation: azh-er dok-yuh-muh nt dee bee 
Definition: A fully-managed, highly scalable NoSQL document database service.
Azure DocumentDB 
A fully-managed, highly scalable NoSQL document database service. 
DocumentDB 
woz ‘ere
Azure DocumentDB 
A fully-managed, highly scalable NoSQL document database service.
As the cost of storage has fallen, 
the viability of Polyglot database 
solutions is now a reality. ~ Me
Azure DocumentDB 
A fully-managed, highly scalable NoSQL document database service. 
But, by highly scalable we mean “horizontally scalable” (i.e. v. partition tolerant) 
Vertical scaling = more RAM, faster CPU, etc. 
Horizontally scaling = more low cost servers/virtual machines 
“That’s no moon…” – Obi Wan Kenobi
Azure DocumentDB 
A fully-managed, highly scalable NoSQL document database service. 
Martin Fowler:* Some characteristics are common amongst these 
databases, but none are definitional. 
Designed to run on 
large clusters 
No schema 
Not using the 
relational model 
Model not using 
the SQL 
language 
Open source enforced 
* “NoSQL Distilled: A Brief Guide to the Emerging World of 
Polyglot Persistence”, Martin Fowler
Azure DocumentDB 
A fully-managed, highly scalable NoSQL document database service. 
Columnar 
• HBase 
• Cassandra 
• Hypertable 
Key-value 
• Redis 
• Riak 
• Memcached 
• Voldemort 
Document 
• DocumentDB 
• CouchDB 
• RavenDB 
• MongoDB 
Graph 
• Neo4J 
• GiraffeDB 
• InfiniteGraph 
* Seven Databases in Seven Weeks, Eric Redmond and Jim R. Wilson
EXAMPLE JSON DOCUMENT 
{ 
"_id" : “1000” 
"Title": "What's new in DocumentDB", 
"Content" : " DocumentDB 1.0 represents hundreds of 
improvements and features driven by user 
requests...", 
"Author" : { 
"FirstName" : “Jon", 
"LastName" : “Snow" 
}, 
"Comments" : [], 
"Tags" : [ 
"C#", 
".NET", 
"NoSQL", 
"MongoDB" 
] 
}
AGENDA 
• Introduction 
• Azure, NoSQL & DocumentDB 
• Getting Started (Setup in Azure) 
• Working with DocumentDB (C#) 
• Cost/usage 
• Uses cases & limitations of DocumentDB 
This is no cave… ~ Han Solo
SETUP IN AZURE 
Live Demo Edition!
FOR DEVELOPERS…
FOR DEVELOPERS (CONT)…
AGENDA • Introduction 
• Azure, NoSQL & DocumentDB 
• Getting Started (Setup in Azure) 
• Working with DocumentDB (C#) 
• Cost/usage 
• Uses cases & limitations of DocumentDB 
I am altering the deal. Pray I don't alter it any further. ~ Darth Vader
• Basic CRUD: 
• Create 
• Read 
• Update 
• Delete 
• Advanced Topics: 
• Indexes 
• Consistency 
• Programmability 
• UDFs 
• Triggers 
• Stored Procedures
Indexing in DocumentDB 
• By default everything is indexed 
• Indexes are schema free 
• Indexing is not a B-Tree and works really well under write 
pressure and at scale 
• Out of the Box. It Just Works.
Tuning Consistency 
• Database accounts are configured with a Default consistency level. 
Consistency level can be weakened per read/write request. 
• Four consistency levels 
• STRONG – all writes are visible to readers. Writes committed by a majority 
quorum of replicas and reads are acknowledge by the majority read quorum. 
• BOUNDED STALENESS – guaranteed ordering of writes, reads adhere to 
minimum freshness. Writes are propagated asynchronously, reads are 
acknowledged by majority quorum lagging writes by at most N seconds or 
operations (configurable). 
• SESSION (Default) – read your own writes. Writes are propagated 
asynchronously while reads for a session are issued against the single replica 
that can serve the requested version. 
• EVENTUAL – reads eventually converge with writes. Writes are propagated 
asynchronously while reads can be acknowledged by any replica. Readers may 
view older data than previously observed.
Programmability in DocumentDB 
• Familiar constructs 
• Stored procs, UDFs, triggers 
• Transactional 
• Each call to the service is an ACID transaction 
• Uncaught exception to rollback 
• Sandboxed 
• No imports 
• No network calls 
• No Eval() 
• Resource governed 
& time bound
Where to Use Programmability? 
• Reduce Network Calls 
• Bulk Insert 
• Multi-Document Transactions 
• Each call in ACID transaction 
• No multi-statement transactions 
(i.e. One REST call = One transaction) 
• Transform & Join 
• Pull content from multiple documents. Perform 
calculations 
• JOIN operator intradoc only
AGENDA 
• Introduction 
• Azure, NoSQL & DocumentDB 
• Getting Started (Setup in Azure) 
• Working with DocumentDB (C#) 
• Cost/usage 
• Uses cases & limitations of DocumentDB 
“Ben…” – Luke Skywalker
COST
CAPACITY UNITS 
“Each CU comes with 3 elastic collections, 10GB of SSD backed provisioned 
document storage and 2000 request units (RU) worth of provisioned throughput. 
The provisioned storage and the throughput capacity associated with a CU is 
distributed across the DocumentDB collections you create”
AGENDA 
Original iWatch prototype 
• Introduction 
• Azure, NoSQL & DocumentDB 
• Getting Started (Setup in Azure) 
• Working with DocumentDB (C#) 
• Cost/usage 
• Uses cases & limitations of DocumentDB 
“I've just made a deal that'll keep the Empire out of here forever.” ~ Lando Calrissian
WHEN TO USE DOCUMENTDB 
General Principle 1: 
Know your use case. Do not force fit a technology for a 
problem. Rather, choose the technology that best aligns with 
solving your problem. 
General Principle 2: 
Figure out the operation(s) you do the most and optimize for 
those cases. If you have an existing product, gather metrics 
about current usage patterns (e.g. reads/writes per second) 
to help guide you.
DOCUMENTDB USE CASES 
Document 
Management 
systems 
E-commerce 
(catalog portion 
only) 
Archiving / event 
logging 
Real time analytics 
(based on logging) 
Gaming Mobile
Dwight Merriman: Founder and chairman 
of MongoDB, the fastest growing database 
platform in the world. MongoDB has a 
estimated valuation of 1.2 billion dollars. 
Me: Founder of nothing significant. 
With my mortgage I have a negative net worth. 
Darth Vader (me): What is thy bidding, my master? 
Emperor (Dwight): There is a great disturbance in the Force. 
Darth Vader: I have felt it. 
Me: What do you think of Microsoft DocumentDB? 
Dwight: I haven’t really looked at it. 
Me: Oh, so your not worried about a competitor? 
Dwight: Well it’s Microsoft…(just laughs)
LIMITATIONS 
• Document size limits (originally 16KB, but now 256KB) 
• No local version 
• Missing certain fundamental constructs (e.g. ORDER BY) 
• Support for aggregate fxns (e.g. Group BY) 
• No tooling (okay, okay…lame tooling) 
Forum For links and suggestions: 
http://feedback.azure.com/forums/263030-documentdb 
Ayende’s Review: 
http://ayende.com/blog/168034/azure-documentdb 
Comparing DocumentDB with MongoDB: 
http://daprlabs.com/blog/blog/2014/08/22/azure-documentdb/
QUESTIONS?
THE END

More Related Content

What's hot

[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced FeaturesAndrew Liu
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBLee Theobald
 
The CIOs Guide to NoSQL
The CIOs Guide to NoSQLThe CIOs Guide to NoSQL
The CIOs Guide to NoSQLDATAVERSITY
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)Uwe Printz
 
Characteristics of no sql databases
Characteristics of no sql databasesCharacteristics of no sql databases
Characteristics of no sql databasesDipti Borkar
 
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorialsMongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorialsSpringPeople
 
Azure DocumentDB for Healthcare Integration
Azure DocumentDB for Healthcare IntegrationAzure DocumentDB for Healthcare Integration
Azure DocumentDB for Healthcare IntegrationBizTalk360
 
Non Relational Databases
Non Relational DatabasesNon Relational Databases
Non Relational DatabasesChris Baglieri
 
Mongodb - NoSql Database
Mongodb - NoSql DatabaseMongodb - NoSql Database
Mongodb - NoSql DatabasePrashant Gupta
 
Cosmos DB at VLDB 2019
Cosmos DB at VLDB 2019Cosmos DB at VLDB 2019
Cosmos DB at VLDB 2019Dharma Shukla
 
Session #2, tech session: Build realtime search by Sylvain Utard from Algolia
Session #2, tech session: Build realtime search by Sylvain Utard from AlgoliaSession #2, tech session: Build realtime search by Sylvain Utard from Algolia
Session #2, tech session: Build realtime search by Sylvain Utard from AlgoliaSaaS Is Beautiful
 

What's hot (20)

[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
[PASS Summit 2016] Azure DocumentDB: A Deep Dive into Advanced Features
 
Mongo DB
Mongo DB Mongo DB
Mongo DB
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
Mongo db
Mongo dbMongo db
Mongo db
 
The CIOs Guide to NoSQL
The CIOs Guide to NoSQLThe CIOs Guide to NoSQL
The CIOs Guide to NoSQL
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Couch db
Couch dbCouch db
Couch db
 
CouchDB
CouchDBCouchDB
CouchDB
 
Characteristics of no sql databases
Characteristics of no sql databasesCharacteristics of no sql databases
Characteristics of no sql databases
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorialsMongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
Mongo DB: Fundamentals & Basics/ An Overview of MongoDB/ Mongo DB tutorials
 
Azure DocumentDB for Healthcare Integration
Azure DocumentDB for Healthcare IntegrationAzure DocumentDB for Healthcare Integration
Azure DocumentDB for Healthcare Integration
 
Non Relational Databases
Non Relational DatabasesNon Relational Databases
Non Relational Databases
 
Mongo db
Mongo dbMongo db
Mongo db
 
Mongodb - NoSql Database
Mongodb - NoSql DatabaseMongodb - NoSql Database
Mongodb - NoSql Database
 
Cosmos DB at VLDB 2019
Cosmos DB at VLDB 2019Cosmos DB at VLDB 2019
Cosmos DB at VLDB 2019
 
Session #2, tech session: Build realtime search by Sylvain Utard from Algolia
Session #2, tech session: Build realtime search by Sylvain Utard from AlgoliaSession #2, tech session: Build realtime search by Sylvain Utard from Algolia
Session #2, tech session: Build realtime search by Sylvain Utard from Algolia
 
MongoDB
MongoDBMongoDB
MongoDB
 

Viewers also liked

Azure DocumentDB for Healthcare Integration - Part 2
Azure DocumentDB for Healthcare Integration - Part 2Azure DocumentDB for Healthcare Integration - Part 2
Azure DocumentDB for Healthcare Integration - Part 2BizTalk360
 
NoSQL with Microsoft Azure
NoSQL with Microsoft AzureNoSQL with Microsoft Azure
NoSQL with Microsoft AzureKhalid Salama
 
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSON
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSONSQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSON
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSONSascha Dittmann
 
SQL Saturday #313 Rheinland - MapReduce in der Praxis
SQL Saturday #313 Rheinland - MapReduce in der PraxisSQL Saturday #313 Rheinland - MapReduce in der Praxis
SQL Saturday #313 Rheinland - MapReduce in der PraxisSascha Dittmann
 
Enterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft AzureEnterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft AzureKhalid Salama
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureIdo Flatow
 
Building the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsBuilding the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsKhalid Salama
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB James Serra
 

Viewers also liked (12)

Azure DocumentDB for Healthcare Integration - Part 2
Azure DocumentDB for Healthcare Integration - Part 2Azure DocumentDB for Healthcare Integration - Part 2
Azure DocumentDB for Healthcare Integration - Part 2
 
NoSQL, which way to go?
NoSQL, which way to go?NoSQL, which way to go?
NoSQL, which way to go?
 
NoSQL with Microsoft Azure
NoSQL with Microsoft AzureNoSQL with Microsoft Azure
NoSQL with Microsoft Azure
 
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSON
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSONSQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSON
SQL Server vs. Azure DocumentDB – Ein Battle zwischen XML und JSON
 
Azure DocumentDB
Azure DocumentDBAzure DocumentDB
Azure DocumentDB
 
Azure DocumentDb
Azure DocumentDbAzure DocumentDb
Azure DocumentDb
 
SQL Saturday #313 Rheinland - MapReduce in der Praxis
SQL Saturday #313 Rheinland - MapReduce in der PraxisSQL Saturday #313 Rheinland - MapReduce in der Praxis
SQL Saturday #313 Rheinland - MapReduce in der Praxis
 
Enterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft AzureEnterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft Azure
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on Azure
 
Big Data Application Architectures - IoT
Big Data Application Architectures - IoTBig Data Application Architectures - IoT
Big Data Application Architectures - IoT
 
Building the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsBuilding the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake Analytics
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB
 

Similar to Azure doc db (slideshare)

Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesKyle Banerjee
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDBRadenko Zec
 
Why Organizations are Looking at Alternative Database Technologies – Introduc...
Why Organizations are Looking at Alternative Database Technologies – Introduc...Why Organizations are Looking at Alternative Database Technologies – Introduc...
Why Organizations are Looking at Alternative Database Technologies – Introduc...DATAVERSITY
 
Azure document db/Cosmos DB
Azure document db/Cosmos DBAzure document db/Cosmos DB
Azure document db/Cosmos DBMohit Chhabra
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionBrian Enochson
 
5 Comparing Microsoft Big Data Technologies for Analytics
5 Comparing Microsoft Big Data Technologies for Analytics5 Comparing Microsoft Big Data Technologies for Analytics
5 Comparing Microsoft Big Data Technologies for AnalyticsJen Stirrup
 
A Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsA Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsHabilelabs
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Tesora
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDBMongoDB
 
Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB MongoDB
 
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...MongoDB
 
Introduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and KubernetesIntroduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and KubernetesDavid Charles
 
Leveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application PerformanceLeveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application PerformanceNetApp
 
NoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOONoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOOJames Hollingworth
 

Similar to Azure doc db (slideshare) (20)

Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
 
How and when to use NoSQL
How and when to use NoSQLHow and when to use NoSQL
How and when to use NoSQL
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
NoSQL
NoSQLNoSQL
NoSQL
 
Why Organizations are Looking at Alternative Database Technologies – Introduc...
Why Organizations are Looking at Alternative Database Technologies – Introduc...Why Organizations are Looking at Alternative Database Technologies – Introduc...
Why Organizations are Looking at Alternative Database Technologies – Introduc...
 
Azure document db/Cosmos DB
Azure document db/Cosmos DBAzure document db/Cosmos DB
Azure document db/Cosmos DB
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
 
No sq lv1_0
No sq lv1_0No sq lv1_0
No sq lv1_0
 
Einführung in RavenDB
Einführung in RavenDBEinführung in RavenDB
Einführung in RavenDB
 
5 Comparing Microsoft Big Data Technologies for Analytics
5 Comparing Microsoft Big Data Technologies for Analytics5 Comparing Microsoft Big Data Technologies for Analytics
5 Comparing Microsoft Big Data Technologies for Analytics
 
A Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsA Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - Habilelabs
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
 
MongoDB
MongoDBMongoDB
MongoDB
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDB
 
Mongodb
MongodbMongodb
Mongodb
 
Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB
 
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
 
Introduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and KubernetesIntroduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and Kubernetes
 
Leveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application PerformanceLeveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application Performance
 
NoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOONoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOO
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»QADay
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform EngineeringJemma Hussein Allen
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Ransomware Mallox [EN].pdf
Ransomware         Mallox       [EN].pdfRansomware         Mallox       [EN].pdf
Ransomware Mallox [EN].pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Azure doc db (slideshare)

  • 1. THE EMPIRE STRIKES BACK AZURE DOCUMENTDB
  • 2. AGENDA You have your moments. Not many of them, but you do have them. ~ Princess Leia • Introduction • Azure, NoSQL & DocumentDB • Getting Started (Setup in Azure) • Working with DocumentDB (C#) • Cost/usage • Uses cases & limitations of DocumentDB
  • 3. (Redmond, WA ~ July 2014)
  • 4. AGENDA • Introduction • Azure, NoSQL & DocumentDB • Getting Started (Setup in Azure) • Working with DocumentDB (C#) • Cost/usage • Uses cases & limitations of DocumentDB “You must unlearn what you have learned.” ~ Yoda
  • 5. Product Name: WHAT IS THIS THING? Azure Document DB Pronunciation: azh-er dok-yuh-muh nt dee bee Definition: A fully-managed, highly scalable NoSQL document database service.
  • 6. Azure DocumentDB A fully-managed, highly scalable NoSQL document database service. DocumentDB woz ‘ere
  • 7. Azure DocumentDB A fully-managed, highly scalable NoSQL document database service.
  • 8. As the cost of storage has fallen, the viability of Polyglot database solutions is now a reality. ~ Me
  • 9. Azure DocumentDB A fully-managed, highly scalable NoSQL document database service. But, by highly scalable we mean “horizontally scalable” (i.e. v. partition tolerant) Vertical scaling = more RAM, faster CPU, etc. Horizontally scaling = more low cost servers/virtual machines “That’s no moon…” – Obi Wan Kenobi
  • 10. Azure DocumentDB A fully-managed, highly scalable NoSQL document database service. Martin Fowler:* Some characteristics are common amongst these databases, but none are definitional. Designed to run on large clusters No schema Not using the relational model Model not using the SQL language Open source enforced * “NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence”, Martin Fowler
  • 11. Azure DocumentDB A fully-managed, highly scalable NoSQL document database service. Columnar • HBase • Cassandra • Hypertable Key-value • Redis • Riak • Memcached • Voldemort Document • DocumentDB • CouchDB • RavenDB • MongoDB Graph • Neo4J • GiraffeDB • InfiniteGraph * Seven Databases in Seven Weeks, Eric Redmond and Jim R. Wilson
  • 12.
  • 13. EXAMPLE JSON DOCUMENT { "_id" : “1000” "Title": "What's new in DocumentDB", "Content" : " DocumentDB 1.0 represents hundreds of improvements and features driven by user requests...", "Author" : { "FirstName" : “Jon", "LastName" : “Snow" }, "Comments" : [], "Tags" : [ "C#", ".NET", "NoSQL", "MongoDB" ] }
  • 14. AGENDA • Introduction • Azure, NoSQL & DocumentDB • Getting Started (Setup in Azure) • Working with DocumentDB (C#) • Cost/usage • Uses cases & limitations of DocumentDB This is no cave… ~ Han Solo
  • 15. SETUP IN AZURE Live Demo Edition!
  • 18. AGENDA • Introduction • Azure, NoSQL & DocumentDB • Getting Started (Setup in Azure) • Working with DocumentDB (C#) • Cost/usage • Uses cases & limitations of DocumentDB I am altering the deal. Pray I don't alter it any further. ~ Darth Vader
  • 19. • Basic CRUD: • Create • Read • Update • Delete • Advanced Topics: • Indexes • Consistency • Programmability • UDFs • Triggers • Stored Procedures
  • 20. Indexing in DocumentDB • By default everything is indexed • Indexes are schema free • Indexing is not a B-Tree and works really well under write pressure and at scale • Out of the Box. It Just Works.
  • 21. Tuning Consistency • Database accounts are configured with a Default consistency level. Consistency level can be weakened per read/write request. • Four consistency levels • STRONG – all writes are visible to readers. Writes committed by a majority quorum of replicas and reads are acknowledge by the majority read quorum. • BOUNDED STALENESS – guaranteed ordering of writes, reads adhere to minimum freshness. Writes are propagated asynchronously, reads are acknowledged by majority quorum lagging writes by at most N seconds or operations (configurable). • SESSION (Default) – read your own writes. Writes are propagated asynchronously while reads for a session are issued against the single replica that can serve the requested version. • EVENTUAL – reads eventually converge with writes. Writes are propagated asynchronously while reads can be acknowledged by any replica. Readers may view older data than previously observed.
  • 22. Programmability in DocumentDB • Familiar constructs • Stored procs, UDFs, triggers • Transactional • Each call to the service is an ACID transaction • Uncaught exception to rollback • Sandboxed • No imports • No network calls • No Eval() • Resource governed & time bound
  • 23. Where to Use Programmability? • Reduce Network Calls • Bulk Insert • Multi-Document Transactions • Each call in ACID transaction • No multi-statement transactions (i.e. One REST call = One transaction) • Transform & Join • Pull content from multiple documents. Perform calculations • JOIN operator intradoc only
  • 24. AGENDA • Introduction • Azure, NoSQL & DocumentDB • Getting Started (Setup in Azure) • Working with DocumentDB (C#) • Cost/usage • Uses cases & limitations of DocumentDB “Ben…” – Luke Skywalker
  • 25. COST
  • 26. CAPACITY UNITS “Each CU comes with 3 elastic collections, 10GB of SSD backed provisioned document storage and 2000 request units (RU) worth of provisioned throughput. The provisioned storage and the throughput capacity associated with a CU is distributed across the DocumentDB collections you create”
  • 27.
  • 28.
  • 29. AGENDA Original iWatch prototype • Introduction • Azure, NoSQL & DocumentDB • Getting Started (Setup in Azure) • Working with DocumentDB (C#) • Cost/usage • Uses cases & limitations of DocumentDB “I've just made a deal that'll keep the Empire out of here forever.” ~ Lando Calrissian
  • 30. WHEN TO USE DOCUMENTDB General Principle 1: Know your use case. Do not force fit a technology for a problem. Rather, choose the technology that best aligns with solving your problem. General Principle 2: Figure out the operation(s) you do the most and optimize for those cases. If you have an existing product, gather metrics about current usage patterns (e.g. reads/writes per second) to help guide you.
  • 31. DOCUMENTDB USE CASES Document Management systems E-commerce (catalog portion only) Archiving / event logging Real time analytics (based on logging) Gaming Mobile
  • 32.
  • 33. Dwight Merriman: Founder and chairman of MongoDB, the fastest growing database platform in the world. MongoDB has a estimated valuation of 1.2 billion dollars. Me: Founder of nothing significant. With my mortgage I have a negative net worth. Darth Vader (me): What is thy bidding, my master? Emperor (Dwight): There is a great disturbance in the Force. Darth Vader: I have felt it. Me: What do you think of Microsoft DocumentDB? Dwight: I haven’t really looked at it. Me: Oh, so your not worried about a competitor? Dwight: Well it’s Microsoft…(just laughs)
  • 34. LIMITATIONS • Document size limits (originally 16KB, but now 256KB) • No local version • Missing certain fundamental constructs (e.g. ORDER BY) • Support for aggregate fxns (e.g. Group BY) • No tooling (okay, okay…lame tooling) Forum For links and suggestions: http://feedback.azure.com/forums/263030-documentdb Ayende’s Review: http://ayende.com/blog/168034/azure-documentdb Comparing DocumentDB with MongoDB: http://daprlabs.com/blog/blog/2014/08/22/azure-documentdb/