Azure Cosmos DB: Fully Managed NoSQL Database for High-Performing Apps
Azure Cosmos DB in Brief
Azure Cosmos DB is a multi-model non-relational database as a service by Microsoft to store and manage petabytes of structured, semi-structured, and unstructured data. The database helps build high-performance applications that need to scale quickly and globally.
Cosmos DB is a leading big data NoSQL database, according to Forrester Wave. Among companies using Cosmos DB are The Coca-Cola Company, NortonLifeLock Inc., Mercedes-Benz, ExxonMobil, ASOS, and Olympus Corporation.
Features of Azure Cosmos DB
Data storage
Elastic data storage
Storing up to petabytes of data.
Multi-model data storage
Support for key-value, columnar, document, and graph data models.
Analytical store
A fully isolated column store optimized for analytical querying.
Automatic data deletes
Automatically deleting the expired data from a database container with the Time to Live (TTL) capability.
Database performance
Global data distribution
Replicating data globally across any number of Azure regions (currently 54).
Automatic indexing
Data indexing not requiring schema and secondary indexes configuration.
Elastic scale
Independent and instant scaling of storage and throughput.
Tunable consistency
5 data consistency levels (Eventual, Prefix, Session, Bounded, and Strong) to tune acceptable app availability and performance.
Change feed
Getting notifications of items added or updated instead of querying the whole dataset to identify what has changed.
Security and compliance
Data encryption
Data encryption at rest and in transit with keys managed by Microsoft. The second layer of encryption with self-managed keys is also possible.
IP-based access control
Accessing a database account from an approved set of machines or cloud services.
Authorization
Using a hash-based message authentication code (HMAC) for authorization.
Role-based access control
Integration with Azure Active Directory to restrict or provide access to the database account.
Protection and isolation of sensitive data
Isolating data to specific containers with read-write or read-only access limited to specific users.
Compliance with global, US Government, industry, and region-specific regulations
- CSA STAR Certification, CSA STAR Attestation, ISO 20000-1:2011, SOC 1, 2, 3;
- DoD SRG Level 2, FedRAMP Moderate, GxP (FDA 21 CFR Part 11);
- HIPAA, HITRUST, PCI DSS;
- Germany C5, Australia IRAP, etc.
Valuable Azure Cosmos DB Integrations
Analytics services – Azure Synapse Analytics (via Azure Synapse Link)
Allows for running near real-time analytics on operational data without compromising the performance of the Cosmos DB transactional workloads.
Data migration tools
To support various data migration scenarios, such as moving data between Azure Cosmos containers, Azure Cosmos DB accounts located in different regions, moving data from a source (Azure Blob Storage, Azure Table storage, DynamoDB, etc.) to Azure Cosmos DB, etc.
IoT services – Azure IoT Hub
Azure IoT Hub serves as a secure high-throughput cloud gateway for ingesting IoT data from an IoT application for its real-time analysis (e.g., Azure Stream Analytics), storage, and ad-hoc querying (Cosmos DB).
Microservices within event-driven architectures
For building applications that react to events with the change feed capability (e.g., for fraud detection, order/payment processing, real-time marketing, etc.)
|
|
|
Microsoft Gold Partner, ScienceSoft has been providing consultancy, implementation, and support for solutions based on Azure Cosmos DB to ensure our clients meet their specific data storage and analytics needs with minimal investments and maximum ROI. |
|
|
Common Azure Cosmos DB Use Cases
Cosmos DB Benefits
Accelerated app development and reduced development costs
- Native integration with key Azure services (Functions, IoT Hub, Azure Kubernetes Service, App Service, etc.) used for cloud-based app development.
- Multiple database APIs (including the native Core (SQL) API, API for MongoDB, Cassandra API, Gremlin API, and Table API) and SDKs for Java, .NET, Python, Node.js, JavaScript, etc.
Cost-effectiveness
- Saving development resources with automated database provisioning, management, updates and patching, backup, etc.
- Eliminating infrastructure overprovisioning, significantly lowering the entry price and accommodating spiky/non-spiky workloads with the on-demand pricing model.
- Saving up to 65% of costs by pre-paying for Azure Cosmos DB resources.
- No additional charge for such features as automatic indexing, Time to Live, change feed, data encryption, etc.
Azure Cosmos DB Pricing
Azure Cosmos DB charges for consumed storage and database operations (provisioned throughput and serverless), plus optional features (multiple geographical Azure regions, availability zones within Azure regions) if selected.
Consumed storage
|
|
|
|
Note: The prices are relevant to the US East 2 (Virginia) data center region and may differ for other data centers.
Database operations
Provisioned throughput
- Measured in request units per second (RU/s) and billed per hour.
- Best for large, critical workloads requiring guaranteed low latency and high availability.
- Two capacity management options: standard (manual) provisioned throughput and autoscale provisioned throughput.
Click to see the pricing
Serverless*
- Charge for the request units (RU) used for each database operation.
- Best for spiky workloads without sustained traffic.
- No resource planning or management is required.
* - Azure Cosmos DB serverless is currently in preview as of January 2021.
Click to see the pricing