For people who are new to distributed NoSQL databases I recommend consuming some content before getting too deep. There are some very fundamental concepts that need to be understood to help you model your data and come up with a partitioning strategy that will allow your database to scale and be as efficient as possible.
I realize this is quite a bit of content. But after going through this, I promise you will understand how and why Cosmos DB is different than a relational database and how to design for it.
Articles:
- Understanding the differences between NoSQL and relational databases
- Data modeling in Azure Cosmos DB
- How to model and partition data on Azure Cosmos DB using a real-world example
Videos:
- Modeling and Partitioning - 2 min intro
- How to model and partition data in Cosmos DB - This takes adventure works and remodels it for NoSQL
- Data Modelling in Azure Cosmos DB - This talks about modeling a book store scenario
Microsoft Learn Labs: (Essentially are HOL's for the second video above)
GitHub Repo:
- Cosmic Works - this is the code and data set for the adventure works talk above