This chapter covers:
- Creating a Cosmos DB account, database and collection
- Data modelling and partitioning to optimize Cosmos DB
- Consistency models and concurrency control
- Managing costs and performance optimization
We have arrived at one of my favorite services on Azure: Cosmos DB. It is one of those services that wouldn’t exist with cloud computing, so it isn’t merely an adaptation of traditional services like virtual machines or storage. Microsoft Azure's highly scalable and distributed NoSQL database service is designed to handle massive amounts of data across global networks. Cosmos DB stands out with its remarkable flexibility, blazing-fast performance, and comprehensive support for various data models. It handles key-value, document, or graph databases, and has plenty of developer tools to shout about too.
10.1 Guaranteed Speed at Any Scale
10.1.1 Scalability
10.1.2 Speed with multi-region replication
10.1.3 Pitfalls of Enabling Autoscaling and Multi-Region for Cosmos DB
10.2 Simplified Application Development
10.2.1 Introduction to Cosmos DB APIs
10.2.2 SDKs for Enhanced Development
10.3 Advanced Data Modeling and Partitioning
10.3.1 Core Principles of Data Modeling in Cosmos DB
10.3.2 Understanding Partitioning in Cosmos DB
10.3.3 Advanced Partitioning Strategies
10.4 Consistency, Availability, and Concurrency
10.4.1 Consistency
10.4.2 Availability
10.4.3 Concurrency
10.5 Near Real-Time Analytics and Integration with Azure Services
10.5.1 Using Azure Synapse Analytics
10.5.2 Integrating with Azure Functions
10.5.3 Using Azure Stream Analytics
10.6 Managing Costs and Performance Optimization
10.6.1 Provisioned Throughput vs. Autoscale
10.6.2 Monitoring and Optimization
10.6.3 vCore Usage Considerations
10.7 Summary