Azure Cosmos DB
Azure Cosmos DB is a multi-model NoSQL database management system.
- Data as partitioned set of documents
- Supports JavaScript Object Notation (JSON)
- Supports APIs
- SQL, Table, MongoDB, Cassandra, Gremlin
- Highly scalable
- Single-digit millisecond response times • Automatic and instant scalability,
- Guarantee speed at any scale
Advantages of Cosmos DB
- High availability of 99.999%
- Replication across regions
- 10-ms latencies for reads/writes
- Certified for compliance standards
- Encrypted at rest and in motion
Use Cases of Cosmos DB
- Frequent bursts of large activities (IoT)
- Single digit latency (gaming)
- Elastic scaled up or down (eCommerce)
Core components
- Database account
- Database
- Container
- Items
Tools
- Azure Portal
- PowerShell / Azure CLI
- ARM Templates
- APIs and SDKs
- .NET, Java, Spring, Node.js, Python SDKs
- MongoDB, Table, Gremlin, Cassandra API
Key management tasks
- Choose the most appropriate data model
- Plan capacity and costs
- Choose the right throughput mode
- Configure global distribution
General recommendations
- Use the latest SDK
- Log metrics by using the Azure portal
- Run your app in the same Azure region as your Azure Cosmos DB account, whenever possible.
- Availability issues due to lack of resources on your client machine