SlideShare une entreprise Scribd logo
1  sur  65
Findingyourplace
in theCosmos
EricPotter
Technical Strategist,
Aptera Software
Findingyourplace
in theCosmos
EricPotter
Technical Strategist,
Aptera Software
What
Why
Performance
Storage
Document Databases
Model
Model
Model
Insert
Insert
Insert
Query
● LINQ to SQL API
● Stored Procedures in JavaScript
● JavaScript for
○ Store Procedures
○ Triggers
○ User Defined Functions
● (future) Entity Framework
KeyValue
Model
Model
Insert
Insert
• All values are retrieved by their keys.
• Data is structured so there is little need to
join records together.
• These limitations make the data retrieval
times incredibly fast.
Query
Graph
Model
Insert - Vertices
g.addV('person').property('id', ‘coryHouse')
g.addV('person').property('id', 'jeremyClark')
g.addV('person').property('id', 'arthurDoler')
g.addV('podcast').property('id', 'crossCuttingConcerns')
g.addV('podcast').property('id', 'developerOnFire').property('Name', 'Developer On Fire')
g.addV('podcast').property('id', 'dotnetrocks').property('Name’, ‘.Net Rocks')
g.addV('conference').property('id', 'kcdc-2018')
g.addV('conference').property('id', 'devUp-2018')
g.addV('conference').property('id', ‘codeMash-2019')
Insert - Edges
g.V(‘jeremyclark').addE('appearedOn').to(g.V('dotnetrocks'))
g.V(‘jeremyclark').addE('spokeAt').to(g.V(‘kcdc-2018'))
g.V('coryHouse').addE('appearedOn').to(g.V('dotnetrocks'))
g.V('coryHouse').addE('appearedOn').to(g.V('developerOnFire')
g.V('coryHouse').addE('spokeAt').to(g.V('kcdc-2018'))
g.V('coryHouse').addE('spokeAt').to(g.V(‘codemash-2019'))
Query
Results
dotnetrocks
developerOnFire
live360-2018
kcdc-2018
g.V('jeremyClark').out()
Query
Results
codeMash-2019
kcdc-2018
g.V(‘coryHouse').out(‘spokeAt’)
Query
Results
coryHouse
chrisWoodruff
…
g.V(‘codemash-2019').in()
Query
Results
DotNetRocks
DeveloperOnFire
g.V(‘codeMash-2019').in().out('appearedOn')
Wide Column Store
Model
Insert
SELECT *
FROM podcasts.episodes
WHERE shownum = 38
Query
Questions?
Integration
Integrations
• Logic Apps / Microsoft Flow
• Azure Functions
• Azure Change Feed Processor
Conslusion
“
Thank You.
Let’s Chat Later.
@pottereric HumbleToolsmith.com

Contenu connexe

Tendances

Presto Summit 2018 - 04 - Netflix Containers
Presto Summit 2018 - 04 - Netflix ContainersPresto Summit 2018 - 04 - Netflix Containers
Presto Summit 2018 - 04 - Netflix Containerskbajda
 
A deep dive into APEX JET charts
A deep dive into APEX JET chartsA deep dive into APEX JET charts
A deep dive into APEX JET chartsRoel Hartman
 
Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)
Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)
Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)Jorge Millán Cabrera
 
Presto talk @ Global AI conference 2018 Boston
Presto talk @ Global AI conference 2018 BostonPresto talk @ Global AI conference 2018 Boston
Presto talk @ Global AI conference 2018 Bostonkbajda
 
Rounds analytics pipeline
Rounds analytics pipelineRounds analytics pipeline
Rounds analytics pipelineAviv Laufer
 
Apache Airflow Architecture
Apache Airflow ArchitectureApache Airflow Architecture
Apache Airflow ArchitectureGerard Toonstra
 
BigQuery at AppsFlyer - past, present and future
BigQuery at AppsFlyer - past, present and futureBigQuery at AppsFlyer - past, present and future
BigQuery at AppsFlyer - past, present and futureNir Rubinstein
 
Denver AUG Oct 2018 Praecipio Turbo Kit for Jira
Denver AUG Oct 2018 Praecipio Turbo Kit for JiraDenver AUG Oct 2018 Praecipio Turbo Kit for Jira
Denver AUG Oct 2018 Praecipio Turbo Kit for Jiradenveraug
 
Presto Summit 2018 - 10 - Qubole
Presto Summit 2018  - 10 - QubolePresto Summit 2018  - 10 - Qubole
Presto Summit 2018 - 10 - Qubolekbajda
 
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)Shift Conference
 
IPC Global Big Data To Decision Solution Overview
IPC Global Big Data To Decision Solution OverviewIPC Global Big Data To Decision Solution Overview
IPC Global Big Data To Decision Solution Overviewpzybrick
 
DevTest Labs en Azure (por Iván Cañizares)
DevTest Labs en Azure (por Iván Cañizares)DevTest Labs en Azure (por Iván Cañizares)
DevTest Labs en Azure (por Iván Cañizares)Jorge Millán Cabrera
 
Building Notebook-based AI Pipelines with Elyra and Kubeflow
Building Notebook-based AI Pipelines with Elyra and KubeflowBuilding Notebook-based AI Pipelines with Elyra and Kubeflow
Building Notebook-based AI Pipelines with Elyra and KubeflowDatabricks
 
The State of the Developer Ecosystem - .NET Conf Madrid 2018
The State of the Developer Ecosystem - .NET Conf Madrid 2018The State of the Developer Ecosystem - .NET Conf Madrid 2018
The State of the Developer Ecosystem - .NET Conf Madrid 2018Carlos Mendible
 
BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...
BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...
BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...Gaurav Kumar Garg
 
KliqObjects Overview
KliqObjects OverviewKliqObjects Overview
KliqObjects OverviewKT-Labs
 
About The Event-Driven Data Layer & Adobe Analytics
About The Event-Driven Data Layer & Adobe AnalyticsAbout The Event-Driven Data Layer & Adobe Analytics
About The Event-Driven Data Layer & Adobe AnalyticsKevin Haag
 
"Smooth Operator" [Bay Area NewSQL meetup]
"Smooth Operator" [Bay Area NewSQL meetup]"Smooth Operator" [Bay Area NewSQL meetup]
"Smooth Operator" [Bay Area NewSQL meetup]Kevin Xu
 
KliqPlan Overview
KliqPlan OverviewKliqPlan Overview
KliqPlan OverviewKT-Labs
 
API Management: La Puerta de enlace (por Francisco Nieto)
API Management: La Puerta de enlace (por Francisco Nieto)API Management: La Puerta de enlace (por Francisco Nieto)
API Management: La Puerta de enlace (por Francisco Nieto)Jorge Millán Cabrera
 

Tendances (20)

Presto Summit 2018 - 04 - Netflix Containers
Presto Summit 2018 - 04 - Netflix ContainersPresto Summit 2018 - 04 - Netflix Containers
Presto Summit 2018 - 04 - Netflix Containers
 
A deep dive into APEX JET charts
A deep dive into APEX JET chartsA deep dive into APEX JET charts
A deep dive into APEX JET charts
 
Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)
Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)
Un orquestador en la nube: Azure Data Factory (por Carlos Sacristán)
 
Presto talk @ Global AI conference 2018 Boston
Presto talk @ Global AI conference 2018 BostonPresto talk @ Global AI conference 2018 Boston
Presto talk @ Global AI conference 2018 Boston
 
Rounds analytics pipeline
Rounds analytics pipelineRounds analytics pipeline
Rounds analytics pipeline
 
Apache Airflow Architecture
Apache Airflow ArchitectureApache Airflow Architecture
Apache Airflow Architecture
 
BigQuery at AppsFlyer - past, present and future
BigQuery at AppsFlyer - past, present and futureBigQuery at AppsFlyer - past, present and future
BigQuery at AppsFlyer - past, present and future
 
Denver AUG Oct 2018 Praecipio Turbo Kit for Jira
Denver AUG Oct 2018 Praecipio Turbo Kit for JiraDenver AUG Oct 2018 Praecipio Turbo Kit for Jira
Denver AUG Oct 2018 Praecipio Turbo Kit for Jira
 
Presto Summit 2018 - 10 - Qubole
Presto Summit 2018  - 10 - QubolePresto Summit 2018  - 10 - Qubole
Presto Summit 2018 - 10 - Qubole
 
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
 
IPC Global Big Data To Decision Solution Overview
IPC Global Big Data To Decision Solution OverviewIPC Global Big Data To Decision Solution Overview
IPC Global Big Data To Decision Solution Overview
 
DevTest Labs en Azure (por Iván Cañizares)
DevTest Labs en Azure (por Iván Cañizares)DevTest Labs en Azure (por Iván Cañizares)
DevTest Labs en Azure (por Iván Cañizares)
 
Building Notebook-based AI Pipelines with Elyra and Kubeflow
Building Notebook-based AI Pipelines with Elyra and KubeflowBuilding Notebook-based AI Pipelines with Elyra and Kubeflow
Building Notebook-based AI Pipelines with Elyra and Kubeflow
 
The State of the Developer Ecosystem - .NET Conf Madrid 2018
The State of the Developer Ecosystem - .NET Conf Madrid 2018The State of the Developer Ecosystem - .NET Conf Madrid 2018
The State of the Developer Ecosystem - .NET Conf Madrid 2018
 
BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...
BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...
BitRot (The silent corruption of data on disk ) detection in GlusterFS (Glust...
 
KliqObjects Overview
KliqObjects OverviewKliqObjects Overview
KliqObjects Overview
 
About The Event-Driven Data Layer & Adobe Analytics
About The Event-Driven Data Layer & Adobe AnalyticsAbout The Event-Driven Data Layer & Adobe Analytics
About The Event-Driven Data Layer & Adobe Analytics
 
"Smooth Operator" [Bay Area NewSQL meetup]
"Smooth Operator" [Bay Area NewSQL meetup]"Smooth Operator" [Bay Area NewSQL meetup]
"Smooth Operator" [Bay Area NewSQL meetup]
 
KliqPlan Overview
KliqPlan OverviewKliqPlan Overview
KliqPlan Overview
 
API Management: La Puerta de enlace (por Francisco Nieto)
API Management: La Puerta de enlace (por Francisco Nieto)API Management: La Puerta de enlace (por Francisco Nieto)
API Management: La Puerta de enlace (por Francisco Nieto)
 

Similaire à Finding Your Place in the Cosmos - Azure Cosmos DB

Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecturepostrational
 
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Chester Chen
 
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecSmart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecJosh Patterson
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in NetflixDanny Yuan
 
NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020Thodoris Bais
 
SQL for Web APIs - Simplifying Data Access for API Consumers
SQL for Web APIs - Simplifying Data Access for API ConsumersSQL for Web APIs - Simplifying Data Access for API Consumers
SQL for Web APIs - Simplifying Data Access for API ConsumersJerod Johnson
 
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...James Anderson
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzkenetzke
 
Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015eddiebaggott
 
前端MVC之BackboneJS
前端MVC之BackboneJS前端MVC之BackboneJS
前端MVC之BackboneJSZhang Xiaoxue
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»e-Legion
 
Shaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-ilShaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-ilAsher Sterkin
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAmir Barylko
 
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?SegFaultConf
 
如何建立企業級應用的商業規則引擎
如何建立企業級應用的商業規則引擎如何建立企業級應用的商業規則引擎
如何建立企業級應用的商業規則引擎CodeData
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldChristian Melchior
 
Openstack Nova APIs
Openstack Nova APIs Openstack Nova APIs
Openstack Nova APIs Stackops
 

Similaire à Finding Your Place in the Cosmos - Azure Cosmos DB (20)

Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
 
Spring data requery
Spring data requerySpring data requery
Spring data requery
 
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
 
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecSmart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVec
 
Elasticsearch in Netflix
Elasticsearch in NetflixElasticsearch in Netflix
Elasticsearch in Netflix
 
NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020NoSQL Endgame DevoxxUA Conference 2020
NoSQL Endgame DevoxxUA Conference 2020
 
SQL for Web APIs - Simplifying Data Access for API Consumers
SQL for Web APIs - Simplifying Data Access for API ConsumersSQL for Web APIs - Simplifying Data Access for API Consumers
SQL for Web APIs - Simplifying Data Access for API Consumers
 
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzke
 
Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015
 
前端MVC之BackboneJS
前端MVC之BackboneJS前端MVC之BackboneJS
前端MVC之BackboneJS
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»
 
Shaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-ilShaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-il
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescript
 
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?Andrzej Ludwikowski -  Event Sourcing - co może pójść nie tak?
Andrzej Ludwikowski - Event Sourcing - co może pójść nie tak?
 
Big Data Tools in AWS
Big Data Tools in AWSBig Data Tools in AWS
Big Data Tools in AWS
 
如何建立企業級應用的商業規則引擎
如何建立企業級應用的商業規則引擎如何建立企業級應用的商業規則引擎
如何建立企業級應用的商業規則引擎
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected World
 
Openstack Nova APIs
Openstack Nova APIs Openstack Nova APIs
Openstack Nova APIs
 

Plus de Eric Potter

Learning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxLearning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxEric Potter
 
Learning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxLearning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxEric Potter
 
KnowYouLimitations.pptx
KnowYouLimitations.pptxKnowYouLimitations.pptx
KnowYouLimitations.pptxEric Potter
 
KnowYouLimitations.pptx
KnowYouLimitations.pptxKnowYouLimitations.pptx
KnowYouLimitations.pptxEric Potter
 
Easy Automated UI Testing with Canopy
Easy Automated UI Testing with CanopyEasy Automated UI Testing with Canopy
Easy Automated UI Testing with CanopyEric Potter
 
TypeScript: Beyond The Basics
TypeScript: Beyond The BasicsTypeScript: Beyond The Basics
TypeScript: Beyond The BasicsEric Potter
 
C# pattern matching
C# pattern matchingC# pattern matching
C# pattern matchingEric Potter
 
Generalist or Specialist
Generalist or SpecialistGeneralist or Specialist
Generalist or SpecialistEric Potter
 

Plus de Eric Potter (8)

Learning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxLearning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptx
 
Learning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptxLearning Go From Hello World to Web Service.pptx
Learning Go From Hello World to Web Service.pptx
 
KnowYouLimitations.pptx
KnowYouLimitations.pptxKnowYouLimitations.pptx
KnowYouLimitations.pptx
 
KnowYouLimitations.pptx
KnowYouLimitations.pptxKnowYouLimitations.pptx
KnowYouLimitations.pptx
 
Easy Automated UI Testing with Canopy
Easy Automated UI Testing with CanopyEasy Automated UI Testing with Canopy
Easy Automated UI Testing with Canopy
 
TypeScript: Beyond The Basics
TypeScript: Beyond The BasicsTypeScript: Beyond The Basics
TypeScript: Beyond The Basics
 
C# pattern matching
C# pattern matchingC# pattern matching
C# pattern matching
 
Generalist or Specialist
Generalist or SpecialistGeneralist or Specialist
Generalist or Specialist
 

Dernier

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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Dernier (20)

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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Finding Your Place in the Cosmos - Azure Cosmos DB

Notes de l'éditeur

  1. Open C:\Projects\SpeakerNetwork\SpeakerNetwork.sln TODO – better graphic explaining partition keys TODO – better graphic for database \ container \ document
  2. Open C:\Projects\SpeakerNetwork\SpeakerNetwork.sln
  3. Integration with Logic Apps
  4. Global Distribution: You can distribute your data to any number of Azure regions, with the click of a button. Elastic Scale Out: Scale storage size transparently and automatically to handle your size requirements now and forever. Multi-Model: Low Latency: 5 Consistency Models: Comprehensive SLAs: Money back guarantees https://www.youtube.com/watch?v=L_PPKyAsR3w&feature=youtu.be – Leslie Lamport {Turing Award Winner} “CosmosDB is a database system in which the data can be replicated and copies distributed throughout the world. This permits the application to be configured so that every user is near a copy of the data without the application programmer having to worry about how many copies there are or where they are located.”
  5. Azure Cosmos DB had its beginnings in 2010 as “Project Florence”.
  6. This is the video clip of creating a new CosmosDB instance
  7. SQL Server has worked well for many years. When we have SQL Server, MySQL, Postgres, and others, why do we need anything else? Why do we need new storage solutions? It is because we have new storage problems. New kinds of problems require new kinds of solutions
  8. Not all apps are 2 boxes and a cylinder If this is what you need, by all means use it. Relational databases were developed at a time when minimizing total storage was an effective way to provide business value. For many years, many organizations tried to consolidate all of the storage into a database or a group of databases on a single server. This made reporting much easier. Relational database systems are the most broadly useful databases. So for most applications they will still be the database of choice. Especially if your application only has one database.
  9. Microservices… If you are always using SQL databases, there will be times when you are trying to fit a square peg in a round hole. Or you might be trying to fit a square peg in a hexagon hole. Or you might be trying to put a large square peg into four small square holes. Many microservice proponents advocate for having one database per service. If we have more and more specialized databases, there are many more opportunities to use a different data model. In these cases, the CosmosDB or other NoSQL databases follow the Unix Philosophy of tools. They do one specialized thing and do it well. In a scenario where you needed multiple NoSQL databases, you could either stand them all up yourself, or you could just use Cosmos.
  10. NoSQL is beyond just a fad. It isn’t a popular as it once was, but it has proven itself to be productive in the right scenarios.
  11. Thoughtworks Technology Radar
  12. By far the biggest differentiator of CosmosDB over it’s competition is in performance at a global scale.
  13. Global Scale If this is what you need, CosmosDB is a no brainer It is ridiculously easy to replicate data to other regions in the world.
  14. Horizontal Scale out This is why there are limited join capabilities This is why stored procedures can only hit one partition key This is why partition keys are particularly important
  15. Replicate Data Globally
  16. 5 Consistency Models “Implementing any distributed system involves a tradeoff between on the one hand degree of consistency it provides to the users and on the other hand it’s availability and response time.” – Leslie Lamport {Turning Award Winnder} Most systems choose either strong consistency or eventual consistency. Strong - The reads are guaranteed to return the most recent committed version of an item. Bounded Stateless – can configure how out of date readable data can be Session – Session consistency is scoped to a client session. Consistent Prefix - guarantees that reads never see out-of-order writes Eventual - There's no ordering guarantee for reads. In the absence of any further writes, the replicas eventually converge.
  17. It is kind of like a data storage mullet – Gremlin in the front, atom-record-sequence in the back. The internals are where the real wizardry happens. And as a Potter, I love wizardry. The underlying data model is projected onto the selected API. The atom-record-sequence model is what Cosmos uses internally to replicate data around the world. But as a developer, you never have to think about that. The developer only has to be concerned with knowing on of the straight forward APIs. All of the API are hitting the same kind of datastore behind the scenes. But the data is projected into a familiar format.
  18. The M87 black hole
  19. Mongo DocDB SQL has a whole language just for defining tables (Data Definition Language or DDL) Working with a document database is structurally similar to working with a dictionary because you request data with a key and a value is returned to you. In practice it is more like a library because you look something up and get a whole book back. It is kind of like a hip new restaurant that has great stuff, but you won’t find a table.
  20. There is some irony in the fact that mongoDB was designed to run on commodity hardware and now you can run it on one of the most powerful cloud instances in the world.
  21. Mars
  22. I believe the big benefit is performance. Is that correct?
  23. Mercury
  24. If you have long skinny tables with no relationships, a key-value store might be what you are looking for.
  25. Uses the TableStorage NuGet package
  26. Working with graph databases is like talking to that one family member than has an astonishing ability to know how everyone in the family is related to everyone else. Not only that, the know random details about everyone. Graph databases have also been compared to social networks. So I guess it is kind of like Facebook without all the adds, fake news, and posts from the one guys from high school who now shares pictures of his kids once every 47 minutes. Could be very valuable in a manufacturing scenario. Can work with Gremlin.Net or the new .NET SDK.
  27. Neptune
  28. If you have a database with lots of linking tables, you might want to use a graph database.
  29. Query embedded in C# as strings
  30. Cassandra as a service Cassandra Query Language
  31. Good for sparse data. Good for data with varying structures. Data is retrieved by row and column, almost like looking something up in an excel spreadsheet. Created by Facebook The biggest use case is to service users that already have an investment in Cassandra and they want it to run on Azure hardware.
  32. Saturn – because the data is sparse
  33. Cassandra is wide column store, and, as such, essentially a hybrid between a key-value and a tabular database management system. Its data model is a partitioned row store with tunable consistency. The data model makes more sense when you understand that it is designed to run in a distributed environment. Keyspace Table -- Partition (not represented in CQL) ---- Row
  34. Data in Cassandra is often arranged as one query per table, and data is repeated amongst many tables, a process known as denormalization.
  35. Cassandra cannot do joins or subqueries. Rather, Cassandra emphasizes denormalization through features like collections. CQL v4 with some restrictions Selects in CQL look very similar to their SQL equivilant
  36. As we move towards systems with more sophisticated architectures, it will be increasingly important to use the right tools in the right places. CosmosDB’s capabilities put it in a position to solve interesting problems for businesses and applications. Hopefully you have are now better prepared to identify when your application could benefit from using CosmosDB.