SlideShare a Scribd company logo
Explore the
Cosmos (DB)
… with cross-platform .NET Core
@JeremyLikness
Sr. Cloud Developer Advocate, Microsoft
Jeremy Likness
Explore the (Cosmos) DB with X-Plat .NET Core
▪ History
▪ Context
▪ Sparkly Shiny Portals
▪ All the Demos
▪ Q&A
A Brief History of the
Cosmos
From Floppies to Serverless
In the beginning …
In the beginning …
When storage was expensive, we solved it.
We used object-relational mappers to relate.
Relational
Database
ORM
Object
Object
Then a new breed of database appeared.
… and suddenly this cloud thing.
🌩
Orientation
A brief tour of concepts
CosmosDB serves your favorite flavor.
▪ DocumentDB – SQL-like interface
▪ MongoDB – a popular document-based API
▪ Gremlin – graph-based (nodes, edges, and properties)
▪ Table – key/value store
The aircraft you will be flying on today is a MongoDB.Driver C# .NET Core driver.
This aircraft is capable of landing on Linux, MacOS, or Windows, and prefers to
remain airborne in the cloud.
You’ve heard the hype about “serverless?”
“CosmosDB got your back.”
– Jeremy Likness
Welcome to the document world!
▪ Independent
▪ Flexible schema
▪ Indexing support
▪ Easy manipulation
▪ JSON-ready
▪ Fast
JavaScript Object Notation – why do we care?
▪ It happens to be handled really well by JavaScript.
▪ JavaScript is taking over the world.
▪ SkyNet will be written in JavaScript.
▪ Dynamic and native === happy browser client.
▪ You can still have a schema.
▪ A little more readable than XML.
▪ XML was supposed to take over the world. It didn’t.
Choose your consistency.
▪ Strong – guaranteed reads. Locked to a single region.
▪ Bounded staleness – choose your staleness. Highest consistency with geo-
replication.
▪ Session – guaranteed “strong” within a specific session.
▪ Consistent prefix – eventual consistency and writes are never out of order.
▪ Eventual – may get stale data but lowest latency option.
Demo
An online tour of CosmosDB
Demo
The USDA Database with .NET Core 2.0
That’s All, Folks!
• @JeremyLikness
• https://blog.jeremylikness.com
• https://github.com/JeremyLikness/explore-
cosmos-db
• CosmosDB Docs: https://goo.gl/AWXqxK

More Related Content

Explore the Cosmos (DB) with .NET Core 2.0

  • 1. Explore the Cosmos (DB) … with cross-platform .NET Core @JeremyLikness Sr. Cloud Developer Advocate, Microsoft
  • 3. Explore the (Cosmos) DB with X-Plat .NET Core ▪ History ▪ Context ▪ Sparkly Shiny Portals ▪ All the Demos ▪ Q&A
  • 4. A Brief History of the Cosmos From Floppies to Serverless
  • 7. When storage was expensive, we solved it.
  • 8. We used object-relational mappers to relate. Relational Database ORM Object Object
  • 9. Then a new breed of database appeared.
  • 10. … and suddenly this cloud thing. 🌩
  • 12. CosmosDB serves your favorite flavor. ▪ DocumentDB – SQL-like interface ▪ MongoDB – a popular document-based API ▪ Gremlin – graph-based (nodes, edges, and properties) ▪ Table – key/value store The aircraft you will be flying on today is a MongoDB.Driver C# .NET Core driver. This aircraft is capable of landing on Linux, MacOS, or Windows, and prefers to remain airborne in the cloud.
  • 13. You’ve heard the hype about “serverless?” “CosmosDB got your back.” – Jeremy Likness
  • 14. Welcome to the document world! ▪ Independent ▪ Flexible schema ▪ Indexing support ▪ Easy manipulation ▪ JSON-ready ▪ Fast
  • 15. JavaScript Object Notation – why do we care? ▪ It happens to be handled really well by JavaScript. ▪ JavaScript is taking over the world. ▪ SkyNet will be written in JavaScript. ▪ Dynamic and native === happy browser client. ▪ You can still have a schema. ▪ A little more readable than XML. ▪ XML was supposed to take over the world. It didn’t.
  • 16. Choose your consistency. ▪ Strong – guaranteed reads. Locked to a single region. ▪ Bounded staleness – choose your staleness. Highest consistency with geo- replication. ▪ Session – guaranteed “strong” within a specific session. ▪ Consistent prefix – eventual consistency and writes are never out of order. ▪ Eventual – may get stale data but lowest latency option.
  • 17. Demo An online tour of CosmosDB
  • 18. Demo The USDA Database with .NET Core 2.0
  • 19. That’s All, Folks! • @JeremyLikness • https://blog.jeremylikness.com • https://github.com/JeremyLikness/explore- cosmos-db • CosmosDB Docs: https://goo.gl/AWXqxK