In my current role as a Cloud Database Administrator, I've had the opportunity to implement Azure Cosmos DB for a few projects. During this time, I've learned some critical factors to consider. One is Request Unit (RU) management — the capacity unit for Cosmos DB operations. It is crucial to estimate how much RU/s is needed for an operation to manage costs and ensure smooth performance.
Another important point is partitioning strategy, which affects overall database performance and scalability. We used a synthetic partition key, which combined several attributes for optimizing partitioning in a multi-tenant system.
Moreover, Cosmos DB natively supports multiple consistency models — from eventual to strong consistency. Understanding the trade-off between consistency, availability, and performance was extremely beneficial in our project, where read-intensive operations were required.