SlideShare una empresa de Scribd logo
1 de 73
Alexander Zyl
.NET Developer
azyl@scnsoft.com
A new child
NoSQL solutions in Azure
HBase
TS
• Column Family Store • Key/Value Store
Redis
TS
Features:
• Fully managed
• Schema agnostic
• Scalable
• Tunable consistency levels
• Tunable indexing policies
• Familiar SQL syntax for querying
• JavaScript execution
DocumentDB
DocumentDB resource model
RESTAPI
DocumentDB Infrastructure
Databases
/dbs/{id}
DocumentDB
Account
Databases
/dbs/{id}
DocumentDB
Account
Collections
/colls/{id}
Databases
/dbs/{id}
Users
/users/{id}
Permissions
/permissions/{id}
Collections
/colls/{id}
Databases
/dbs/{id}
Users
/users/{id}
Permissions
/permissions/{id}
Triggers
/triggers/{id}
Functions
/functions/{id}
Stored Procedures
/sprocs/{id}
Attachments
/attachments/{id}
Documents
/docs/{id}
Collections
/colls/{id}
DocumentDB
Account
Users
/users/{id}
Databases
/dbs/{id}
Permissions
/permissions/{id}
Collections
/colls/{id}
Attachments
/attachments/{id}
Documents
/docs/{id}
Triggers
/triggers/{id}
Functions
/functions/{id}
Stored Procedures
/sprocs/{id}
Server ZServer CServer BServer A
Logical containers
Physical containers
DocumentDB
Account
CollectionsCollections Collections Collections
What about cost?
= 𝑓 𝑀𝑒𝑚𝑜𝑟𝑦, 𝐶𝑃𝑈, 𝐼𝑂
Request Unit
Performance levels
RUs per second RUs per second20 20 20RUs per second RUs per second250 RUs per second 1k RUs per second 2.5k RUs per second
How to model data?
{
"Id": 44,
"ReleaseYear": "2014",
"Make": "Aston Martin",
"Vin": "2G1WT58KX79250102",
"Model": "DBS",
"Dealer": {
"Name": "Atlant-M",
"Address": "Some st. 9"
},
"GPSLocation": {
"Latitude": 44.6516185,
"Longitude": -63.5820275
},
"StatusData": […]
}
Vehicle Dealer
StatusData
VehicleIdPK PK
PK
ReleaseYear
Make
DealerId
Name
StatusId
VehicleId
EngineOn
TimeStamp
Address
Vin
Model
Latitude
Longitude
Approaches to document modeling
 Reference data
 Embed data
Modeling relations
Vehicle document:
{
"Id": 44,
"ReleaseYear": "2014",
"Make": "Aston Martin",
"Vin": "2G1WT58KX79250102",
"Model": "DBS",
"Dealer": {
"Name": "Atlant-M",
"Address": "Some st. 9"
},
"GPSLocation": {
"Latitude": 44.6516185,
"Longitude": -63.5820275
},
"StatusData": [
{ "Id": 1, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 40 },
{ "Id": 2, "TimeStamp": "2014-07-04", "EngineOn": false, "FuelLevel": 33 },
{ "Id": 999, "TimeStamp": "2014-08-12", "EngineOn": true, "FuelLevel": 23 }
]
}
Bad design
When to embed:
 One-to-few relations
 Infrequent changes
 Embedded data has
bounds
Modeling relations
Vehicle document:
{
"Id": 44,
"ReleaseYear": "2014",
"Make": "Aston Martin",
"Vin": "2G1WT58KX79250102",
"Model": "DBS",
"Dealer": {
"Name": "Atlant-M",
"Address": "Some st. 9"
},
"GPSLocation": {
"Latitude": 44.6516185,
"Longitude": -63.5820275
},
"StatusData": [
{ "Id": 1, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 40 },
{ "Id": 2, "TimeStamp": "2014-07-04", "EngineOn": false, "FuelLevel": 33 },
{ "Id": 999, "TimeStamp": "2014-08-12", "EngineOn": true, "FuelLevel": 23 }
]
}
When to embed:
 One-to-few relations
 Infrequent changes
 Embedded data has
bounds
When to reference:
 One-to-many relations
 Many-to-many relations
 Data changes frequently
 Unbounded reference
Modeling relations
Vehicle document:
{
"Id": 44,
"ReleaseYear": "2014",
"Make": "Aston Martin",
"Vin": "2G1WT58KX79250102",
"Model": "DBS",
"Dealer": {
"Name": "Atlant-M",
"Address": "Some st. 9"
},
"GPSLocation": {
"Latitude": 44.6516185,
"Longitude": -63.5820275
},
"StatusData": [
{ "Id": 1, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 40 },
{ "Id": 2, "TimeStamp": "2014-07-04", "EngineOn": false, "FuelLevel": 33 },
{ "Id": 999, "TimeStamp": "2014-08-12", "EngineOn": true, "FuelLevel": 23 }
]
}
Vehicle document:
{
"Id": 44,
"ReleaseYear": "2014",
"Make": "Aston Martin",
"Vin": "2G1WT58KX79250102",
"Model": "DBS",
"Dealer": {
"Name": "Atlant-M",
"Address": "Some st. 9"
},
"StatusData": [
{ "Id": 1, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 40 },
{ "Id": 2, "TimeStamp": "2014-07-04", "EngineOn": false, "FuelLevel": 33 },
{ "Id": 3, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 23 },
{ "Id": 999, "TimeStamp": "2014-08-12", "EngineOn": true, "FuelLevel": 23 }
]
}
VehicleLocation document:
{
"VehicleId": 44,
"GPSLocation": {
"Latitude": 44.651617,
"Longitude": -63.582027
}
}
Vehicle
{
"Id": 44,
"ReleaseYear": "2014",
"Make": "Aston Martin",
"Vin": "2G1WT58KX79250102",
"Model": "DBS",
"Dealer": {
"Name": "Atlant-M",
"Address": "Some st. 9"
},
"StatusData"95,: [
{ "Id": 1, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 40 },
{ "Id": 2, "TimeStamp": "2014-07-04", "EngineOn": false, "FuelLevel": 33 },
{ "Id": 3, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 23 },
{ "Id": 999, "TimeStamp": "2014-08-12", "EngineOn": true, "FuelLevel": 23 }
]
}
Vehicle document:
{
"Id": 44,
"ReleaseYear": "2014",
"Make": "Aston Martin",
"Vin": "2G1WT58KX79250102",
"Model": "DBS",
"Dealer": {
"Name": "Atlant-M",
"Address": "Some st. 9"
},
}
VehicleStatus documents:
{ "Id": 1, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 40, "VehicleId": 44 },
{ "Id": 2, "TimeStamp": "2014-07-04", "EngineOn": false, "FuelLevel": 33, "VehicleId": 44 },
{ "Id": 3, "TimeStamp": "2014-07-04", "EngineOn": true, "FuelLevel": 23, "VehicleId": 44 },
{ "Id": 4, "TimeStamp": "2014-07-05", "EngineOn": true, "FuelLevel": 10, "VehicleId": 44 },
{ "Id": 5, "TimeStamp": "2014-07-06", "EngineOn": false, "FuelLevel": 55, "VehicleId": 44 },
{ "Id": 999, "TimeStamp": "2014-08-12", "EngineOn": true, "FuelLevel": 23, "VehicleId": 44 }
Indexing
Documents in a collection
{
"id": 16,
"text": "Bonjour",
"user": {
"name": "Francois",
"nickname": "@franky"
},
"entities": {
"hashtags": [
{
"text": "#heof"
}
]
}
}
{
"id": 4,
"text": "Hello",
"user": {
"name": "Jerome",
"nickname": "@juim"
},
"entities": {
"hashtags": [
{
"text": "#rutib",
"indices": [ 10, 26 ]
}
]
}
}
Index tree
textid userentities
4 16 Hello Bonjourname nickname
Jerome Francois @juim @franky
hashtags
text indices
0
10 26
0
#rutib #heof
What we can controlAutomatic indexing
 Manual include
 Manual exclude
What we can control
Automatic indexing
 Manual include
 Manual exclude
What we can control
Indexing modes
 Consistent
 Lazy
 None
What we can control
Indexing modes
 Consistent
 Lazy
 None
Building paths
{
"id": 16,
"text": "Bonjour",
"user": {
"name": "Francois",
"nickname": "@franky"
},
"entities": {
"hashtags": [
{ "text": "#heof" }
]
}
}
_.text
_.user.name
_.entities.hashtags
_.entities.hashtags[0].text
Building paths
Applicable wildcards:
? – single selection
/text/?
/user/nickname/?
/entities/hashtags/[]/text/?
{
"id": 4,
"text": "Hello",
"user": {
"name": "Jerome",
"nickname": "@juim"
},
"entities": {
"hashtags": [
{
"text": "#rutib",
"indices": [ 10, 26 ]
}
]
}
}
/text/?
Building paths: examples
{
"id": 4,
"text": "Hello",
"user": {
"name": "Jerome",
"nickname": "@juim"
},
"entities": {
"hashtags": [
{
"text": "#rutib",
"indices": [ 10, 26 ]
}
]
}
}
/user/nickname/?
Building paths: examples
Building paths
Applicable wildcards:
? – single selection
* – recursive selection/text/?
/user/nickname/?
/entities/hashtags/[]/text/?
/user/*
/entities/*
/entities/hashtags/[]/*
{
"id": 4,
"text": "Hello",
"user": {
"name": "Jerome",
"nickname": "@juim"
},
"entities": {
"hashtags": [
{
"text": "#rutib",
"indices": [ 10, 26 ]
}
]
}
}
/user/*
Building paths: examples
{
"id": 4,
"text": "Hello",
"user": {
"name": "Jerome",
"nickname": "@juim"
},
"entities": {
"hashtags": [
{
"text": "#rutib",
"indices": [ 10, 26 ]
}
]
}
}
/entities/hashtags/*
Building paths: examples
Indexing options:
Include to index
Exclude from index
Applying rules
Index kinds:
Hash – equality queries
Applying rules
SELECT *
FROM collection c
WHERE c.prop = 'value'
Index kinds:
Hash – equality queries
Range – range + OrderBy queries
Applying rules
SELECT *
FROM collection c
WHERE c.prop = 'value'
SELECT *
FROM collection c
WHERE c.prop >= 15
ORDER BY c.prop
Index kinds:
Hash – equality queries
Range – range + OrderBy queries
Spatial – ST_DISTANCE, ST_WITHIN
Applying rules
SELECT *
FROM collection c
WHERE c.prop >= 15
ORDER BY c.prop
SELECT *
FROM collection c
WHERE ST_DISTANCE(c.Location, {
"type": "Point",
"coordinates": [-122.19, 47.36]
}) < 100 * 1000
Index precision:
For numbers: 1-8 bytes
For strings: 1-100 bytes
Applying rules
Data consistency
•Strong consistency
•Eventual consistency
DocumentDB
•Strong consistency
•Eventual consistency
•Session
•Bounded staleness
Offered consistency models
Strong consistency
Strong consistency: Write operation
Version2
Version1
Version2
User
Replica A
Replica B
Replica CGateway
Async
Infra
Version2
Strong consistency: Read operation
Version2
Version1
Version2
User
Replica A
Replica B
Replica CGateway
Infra
Version2
Eventual consistency
Eventual consistency: Write operation
Version2
Version1
Version1
User
Replica A
Replica B
Replica CGateway
Async
Infra
Version2
Eventual consistency: Read operation
Version2
Version1
Version1
User
Replica A
Replica B
Replica CGateway
Infra
Version1
Session consistency
Session: Write operation
Version2
Version1
Version1
User
Replica A
Replica B
Replica CGateway
Async
InfraSession Id
Version2
Session: Read operation
Version2
Version1
Version1
Replica A
Replica B
Replica CGateway
Infra
Version2
User A
User B
Session Id
Version1
Bounded staleness
Bounded staleness: Write operation
Version2
Version1
Version1
User
Replica A
Replica B
Replica CGateway
Async
Infra
Version2
Bounded staleness: Read operation
Version3
Version1
Version2
User
Replica A
Replica B
Replica CGateway
Sync
Infra
Version2
Scalability issues
Out of space
>Data Collection
Scalability issues
Too many requests
Out of space
>Data Collection
Solutions?
Vertical scaling
Horizontal scaling
Vertical scaling
Solutions?
Collection = Partition
Collection
RequestPartitioning our data
Partition 1
Request
Request
Partition 2
Logical grouping
Partitioning our data
Partitioning strategies
Hash partitioning
Partition 1
Partition 3
Partition 2
UserId: 14 Hash(14)=>
P3
Infra
Logical grouping
Partitioning strategies
Range partitioning
Partition 1
Partition 3
Partition 2
Name: David
Infra
K > David >= A
A-I
K-Q
R-Z
Logical grouping
Partitioning strategies
Lookup partitioning
Region name Partition Id
Asia Partition1
Version3Europe Partition2
United States Partition3
Partition 1
Partition 3
Partition 2
Region: Europe
Infra
Logical grouping
Use Cases
Use Cases: user-defined data
Use Cases: storing and analyzing logs
Logs
Use Cases: storing materialized views

Más contenido relacionado

La actualidad más candente

Schema design short
Schema design shortSchema design short
Schema design shortMongoDB
 
dojo.data, stores and widgets
dojo.data, stores and widgetsdojo.data, stores and widgets
dojo.data, stores and widgetsklipstein
 
Hypermedia API’s
Hypermedia API’s Hypermedia API’s
Hypermedia API’s 3camp
 
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHP
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHPPHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHP
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHPiMasters
 
James elastic search
James   elastic searchJames   elastic search
James elastic searchLearningTech
 
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDBMongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDBMongoDB
 
Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling rogerbodamer
 
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020Rob Ousbey
 
Terms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explainedTerms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explainedclintongormley
 
Coding for marketers
Coding for marketersCoding for marketers
Coding for marketersRobin Lord
 
Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)Sven Efftinge
 
MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2
MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2
MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2Lisa Roth, PMP
 
The Ring programming language version 1.3 book - Part 35 of 88
The Ring programming language version 1.3 book - Part 35 of 88The Ring programming language version 1.3 book - Part 35 of 88
The Ring programming language version 1.3 book - Part 35 of 88Mahmoud Samir Fayed
 
Tuning for Performance: indexes & Queries
Tuning for Performance: indexes & QueriesTuning for Performance: indexes & Queries
Tuning for Performance: indexes & QueriesKeshav Murthy
 
Zen codingcheatsheet
Zen codingcheatsheetZen codingcheatsheet
Zen codingcheatsheetgoldenveizer
 
JLIFF: Where we are, and where we're going
JLIFF: Where we are, and where we're goingJLIFF: Where we are, and where we're going
JLIFF: Where we are, and where we're goingChase Tingley
 
Agile Testing Days 2018 - API Fundamentals - postman collection
Agile Testing Days 2018 - API Fundamentals - postman collectionAgile Testing Days 2018 - API Fundamentals - postman collection
Agile Testing Days 2018 - API Fundamentals - postman collectionJoEllen Carter
 

La actualidad más candente (19)

Schema design short
Schema design shortSchema design short
Schema design short
 
dojo.data, stores and widgets
dojo.data, stores and widgetsdojo.data, stores and widgets
dojo.data, stores and widgets
 
Hypermedia API’s
Hypermedia API’s Hypermedia API’s
Hypermedia API’s
 
03DOM.ppt
03DOM.ppt03DOM.ppt
03DOM.ppt
 
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHP
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHPPHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHP
PHP Experience 2016 - [Workshop] Elastic Search: Turbinando sua aplicação PHP
 
James elastic search
James   elastic searchJames   elastic search
James elastic search
 
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDBMongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
MongoDB.local DC 2018: Tutorial - Data Analytics with MongoDB
 
Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling
 
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
 
Terms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explainedTerms of endearment - the ElasticSearch Query DSL explained
Terms of endearment - the ElasticSearch Query DSL explained
 
Coding for marketers
Coding for marketersCoding for marketers
Coding for marketers
 
Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)
 
MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2
MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2
MongoDB .local London 2019: Using Client Side Encryption in MongoDB 4.2
 
The Ring programming language version 1.3 book - Part 35 of 88
The Ring programming language version 1.3 book - Part 35 of 88The Ring programming language version 1.3 book - Part 35 of 88
The Ring programming language version 1.3 book - Part 35 of 88
 
Tuning for Performance: indexes & Queries
Tuning for Performance: indexes & QueriesTuning for Performance: indexes & Queries
Tuning for Performance: indexes & Queries
 
Zen codingcheatsheet
Zen codingcheatsheetZen codingcheatsheet
Zen codingcheatsheet
 
JLIFF: Where we are, and where we're going
JLIFF: Where we are, and where we're goingJLIFF: Where we are, and where we're going
JLIFF: Where we are, and where we're going
 
php string-part 2
php string-part 2php string-part 2
php string-part 2
 
Agile Testing Days 2018 - API Fundamentals - postman collection
Agile Testing Days 2018 - API Fundamentals - postman collectionAgile Testing Days 2018 - API Fundamentals - postman collection
Agile Testing Days 2018 - API Fundamentals - postman collection
 

Destacado

Analyze and visualize non-relational data with DocumentDB + Power BI
Analyze and visualize non-relational data with DocumentDB + Power BIAnalyze and visualize non-relational data with DocumentDB + Power BI
Analyze and visualize non-relational data with DocumentDB + Power BISriram Hariharan
 
Modeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databasesModeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databasesRyan CrawCour
 
Developing Solutions with Azure DocumentDB
Developing Solutions with Azure DocumentDB Developing Solutions with Azure DocumentDB
Developing Solutions with Azure DocumentDB WinWire Technologies Inc
 
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016Sunny Sharma
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDBDenny Lee
 
Azure DocumentDB Overview
Azure DocumentDB OverviewAzure DocumentDB Overview
Azure DocumentDB OverviewAndrew Liu
 
Data Modeling for NoSQL
Data Modeling for NoSQLData Modeling for NoSQL
Data Modeling for NoSQLTony Tam
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2Fabio Fumarola
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB James Serra
 
NoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture PatternsNoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture PatternsDATAVERSITY
 

Destacado (12)

Analyze and visualize non-relational data with DocumentDB + Power BI
Analyze and visualize non-relational data with DocumentDB + Power BIAnalyze and visualize non-relational data with DocumentDB + Power BI
Analyze and visualize non-relational data with DocumentDB + Power BI
 
Modeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databasesModeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databases
 
Developing Solutions with Azure DocumentDB
Developing Solutions with Azure DocumentDB Developing Solutions with Azure DocumentDB
Developing Solutions with Azure DocumentDB
 
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
 
Microsoft azure documentDB
Microsoft azure documentDBMicrosoft azure documentDB
Microsoft azure documentDB
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
Azure DocumentDB Overview
Azure DocumentDB OverviewAzure DocumentDB Overview
Azure DocumentDB Overview
 
Azure DocumentDB
Azure DocumentDBAzure DocumentDB
Azure DocumentDB
 
Data Modeling for NoSQL
Data Modeling for NoSQLData Modeling for NoSQL
Data Modeling for NoSQL
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB
 
NoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture PatternsNoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture Patterns
 

Similar a Introduction to Azure DocumentDB

Elasticsearch intro output
Elasticsearch intro outputElasticsearch intro output
Elasticsearch intro outputTom Chen
 
Retail referencearchitecture productcatalog
Retail referencearchitecture productcatalogRetail referencearchitecture productcatalog
Retail referencearchitecture productcatalogMongoDB
 
Webinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to KnowWebinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to KnowMongoDB
 
Abusing text/template for data transformation
Abusing text/template for data transformationAbusing text/template for data transformation
Abusing text/template for data transformationArnaud Porterie
 
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop ConnectorAnalytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop ConnectorHenrik Ingo
 
Polyglot Persistence
Polyglot PersistencePolyglot Persistence
Polyglot PersistenceBryan Reinero
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japantristansokol
 
MongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB
 
Avro, la puissance du binaire, la souplesse du JSON
Avro, la puissance du binaire, la souplesse du JSONAvro, la puissance du binaire, la souplesse du JSON
Avro, la puissance du binaire, la souplesse du JSONAlexandre Victoor
 
Elastic search and Symfony3 - A practical approach
Elastic search and Symfony3 - A practical approachElastic search and Symfony3 - A practical approach
Elastic search and Symfony3 - A practical approachSymfonyMu
 
Example-driven Web API Specification Discovery
Example-driven Web API Specification DiscoveryExample-driven Web API Specification Discovery
Example-driven Web API Specification DiscoveryJavier Canovas
 
Automatic discovery of Web API Specifications: an example-driven approach
Automatic discovery of Web API Specifications: an example-driven approachAutomatic discovery of Web API Specifications: an example-driven approach
Automatic discovery of Web API Specifications: an example-driven approachJordi Cabot
 
Simplifying & accelerating application development with MongoDB's intelligent...
Simplifying & accelerating application development with MongoDB's intelligent...Simplifying & accelerating application development with MongoDB's intelligent...
Simplifying & accelerating application development with MongoDB's intelligent...Maxime Beugnet
 
Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampAlexei Gorobets
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revisedMongoDB
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessMongoDB
 
Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Anuj Sahni
 

Similar a Introduction to Azure DocumentDB (20)

Elasticsearch intro output
Elasticsearch intro outputElasticsearch intro output
Elasticsearch intro output
 
Retail referencearchitecture productcatalog
Retail referencearchitecture productcatalogRetail referencearchitecture productcatalog
Retail referencearchitecture productcatalog
 
Webinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to KnowWebinar: From Relational Databases to MongoDB - What You Need to Know
Webinar: From Relational Databases to MongoDB - What You Need to Know
 
Elastic tire demo
Elastic tire demoElastic tire demo
Elastic tire demo
 
MongoDB Meetup
MongoDB MeetupMongoDB Meetup
MongoDB Meetup
 
Abusing text/template for data transformation
Abusing text/template for data transformationAbusing text/template for data transformation
Abusing text/template for data transformation
 
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop ConnectorAnalytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop Connector
 
Polyglot Persistence
Polyglot PersistencePolyglot Persistence
Polyglot Persistence
 
Ams adapters
Ams adaptersAms adapters
Ams adapters
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japan
 
MongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB Europe 2016 - Graph Operations with MongoDB
 
Avro, la puissance du binaire, la souplesse du JSON
Avro, la puissance du binaire, la souplesse du JSONAvro, la puissance du binaire, la souplesse du JSON
Avro, la puissance du binaire, la souplesse du JSON
 
Elastic search and Symfony3 - A practical approach
Elastic search and Symfony3 - A practical approachElastic search and Symfony3 - A practical approach
Elastic search and Symfony3 - A practical approach
 
Example-driven Web API Specification Discovery
Example-driven Web API Specification DiscoveryExample-driven Web API Specification Discovery
Example-driven Web API Specification Discovery
 
Automatic discovery of Web API Specifications: an example-driven approach
Automatic discovery of Web API Specifications: an example-driven approachAutomatic discovery of Web API Specifications: an example-driven approach
Automatic discovery of Web API Specifications: an example-driven approach
 
Simplifying & accelerating application development with MongoDB's intelligent...
Simplifying & accelerating application development with MongoDB's intelligent...Simplifying & accelerating application development with MongoDB's intelligent...
Simplifying & accelerating application development with MongoDB's intelligent...
 
Real-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @MoldcampReal-time search in Drupal with Elasticsearch @Moldcamp
Real-time search in Drupal with Elasticsearch @Moldcamp
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revised
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational Awareness
 
Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0
 

Último

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Introduction to Azure DocumentDB

Notas del editor

  1. More samples?
  2. More samples?