Here is a list of links to get you started in understanding Cosmos DB, Microsoft’s new cloud based globally distributed multi-model database. Cosmos DB development started in 2010 as project Florence. When it was initially released to the public as part of Azure, it was called DocumentDB. Multi-model means it is more than just a document database as the screen capture shows:
Figure 1. Database models supported by Cosmos DB.
When you create a Cosmos database, you must specify what type of data model you want. In addition to the original DocumentDB, graph, MongoDB, and key-value pair models are supported. As you can see in the screen capture, choosing a data model is choosing an API.
Graph terminology in Cosmos DB refers to vertices and edges instead of how SQL Server 2017 refers to nodes and edges. The API for Cosmos DB graph is Gremlin. Gremlin is a language for traversing graphs that use a TinkerPop enabled provider such as Cosmos DB. TinkerPop is an open source graph computing framework.
To learn about Azure Cosms DB, you might want to start with Rimma Nehme’s podcast that I previously blogged about here (direct link to the mp3 is here). At 46 minutes in length, this audio recording is good to listen to while you commute.
Next, there are some Channel 9 videos that you might want to view or download as mp3 and listen to while you commute or exercise.
Syam Kumar Nair Cosmos DB 25 minutes
Rimma Nehme How to build globally-distributed, fast, billion-user applications with Azure Cosmos DB 50 minutes
For understanding how to use the Gremlin API graph model in Cosmos DB, Chris Sims has a 9 minute YouTube video available here.
If you aren’t familiar with Eric Brewer’s CAP theorem, take just a few minutes to read about it here.
When reading or viewing media on Cosmos DB, pay attention to the consistency levels:
- Bounded Staleness
- Consistent Prefix
When you are ready to read, start with the official Azure Cosmos DB Documentation. Open up the navigation menu to see what’s available.
Figure 2. Cosmos DB documentation.
If you watch the videos, you will notice a graph explorer you’ll need and want to visualize your graphs. Download it from GitHub. Even if you aren’t ready to download and run it, you should at least browse there and take a look at what it looks like and what it can do for you.
Finally, do not despair if you don’t have an Azure account or have exhausted all of your Azure credits. You can download and install the Cosmos DB emulator and start learning about Cosmos DB on your local machine. That’s what I recommend to keep your costs down as you learn. Be sure to watch Kirill Gavrylyuk’s video on that page.