This course teaches developers how to create application using the SQL API and SDK for Azure Cosmos DB. Students will learn how to write efficient queries, create indexing policies, manage and provisioned resources, and perform common operations with the SDK.
Course Outline
Lesson 1: Introduction to Azure Cosmos DB for NoSQL
- What is Azure Cosmos DB for NoSQL
- How does Azure Cosmos DB for NoSQL work
- When should you use Azure Cosmos DB for NoSQL
Lesson 2: Plan and implement Azure Cosmos DB for NoSQL
- Understand throughput
- Evaluate throughput requirements
- Evaluate data storage requirements
- Time-to-live (TTL)
- Plan for data retention with time-to-live (TTL)
Lesson 3: Connect to Azure Cosmos DB NoSQL with the SDK
- Understand the SDK
- Import from package manager
- Connect to an online account
- Implement client singleton
- Configure connectivity mode
- Exercise: Connect to Azure Cosmos DB for NoSQL with the SDK15 min
Lesson 4: Access and manage data with the Azure Cosmos DB for NoSQL SDKs
- Understand point operations
- Create documents
- Read a document
- Update documents
- Configure time-to-live (TTL) value for a specific document
- Delete documents
- Exercise: Create and update documents with the Azure Cosmos DB for NoSQL SDK
Lesson 5: Execute queries in Azure Cosmos DB for NoSQL
- Understand SQL query language
- Create queries with SQL
- Project query results
- Implement type-checking in queries
- Use built-in functions
- Execute queries in the SDK
- Exercise: Execute a query with the Azure Cosmos DB for NoSQL SDK
Lesson 6: Define and implement an indexing strategy for Azure Cosmos DB for NoSQL
- Understand indexes
- Understand indexing policies
- Review indexing policy strategies
- Exercise: Review the default index policy for an Azure Cosmos DB for NoSQL container with the portal
Lesson 7: Integrate Azure Cosmos DB for NoSQL with Azure services
- Understand change feed features in the SDK
- Implement a delegate for the change feed processor
- Implement the change feed processor
- Implement the change feed estimator
- Exercise: Process change feed events using the Azure Cosmos DB for NoSQL SDK
Lesson 8: Implement a data modeling and partitioning strategy for Azure Cosmos DB for NoSQL
- What’s the difference between NoSQL and relational databases?
- Identify access patterns for your app
- When to embed or reference data
- Exercise: Measure performance for customer entities
- Choose a partition key
- Model small lookup entities
Lesson 9: Design and implement a replication strategy for Azure Cosmos DB for NoSQL
- Understand replication
- Distribute data across regions
- Evaluate the cost of distributing data globally
- Define automatic failover policies
- Perform manual failovers
- Configure SDK region
- Exercise: Connect different regions with the Azure Cosmos DB for NoSQL SDK
Lesson 10: Optimize query performance in Azure Cosmos DB for NoSQL
- Index usage
- Review read-heavy index patterns
- Review write-heavy index patterns
- Exercise – Optimize an Azure Cosmos DB for NoSQL container’s index policy for common operations
Lesson 11: Monitor and troubleshoot an Azure Cosmos DB for NoSQL solution
- Understand Azure Monitor
- Measure throughput
- Observe rate-limiting events
- Query logs
- Exercise: Use Azure Monitor to analyze an Azure Cosmos DB for NoSQL account
Lesson 12: Manage an Azure Cosmos DB for NoSQL solution using DevOps practices
- Create resources
- Manage index policies
- Configure database or container-provisioned throughput
- Migrate between standard and autoscale throughput
- Change region failover priority
- Initiate failovers
- Exercise: Adjust provisioned throughput using an Azure CLI script
Lesson 13: Create server-side programming constructs in Azure Cosmos DB for NoSQL
- Understand transactions in the context of JavaScript SDK
- Author Stored procedures
- Rollback transactions
- Create stored procedures with the JavaScript SDK
- Exercise: Create a stored procedure with the Azure portal