Azure Cosmos DB: Fully Managed NoSQL Database for High-Performing Apps

Azure Cosmos DB | NoSQL Database for Fast App Development - ScienceSoft

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

Valuable Azure Cosmos Database 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.)

ScienceSoft's Partnership - Microsoft Gold Partner

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.

Check Azure Cosmos DB in Action!

To ensure Azure Cosmos DB relevance for your data storage and processing objectives, ScienceSoft’s team will provide you with Azure Cosmos DB PoC.

Common Azure Cosmos DB Use Cases

SaaS, XaaS, online services

SaaS, XaaS, online services

  • Globally distributed schema-agnostic storage for high-performance reads and low-latency writes.
  • Elastic scaling for apps/services that need to handle varying traffic.
  • Streamlined app/service development and delivery.

Ecommerce

Ecommerce

  • Elastic data storage (user accounts and profiles, product catalogs, IoT device registries, etc.) with guaranteed low latency.
  • Event storage for order processing and delivery time tracking.
  • Personalized product recommendation engines for customers.
  • Inventory tracking and fulfillment with the change feed capability.

Personalization

Personalization

  • Customer data storage (interests, browsing history, buying patterns, etc.) with automatic instant scalability.
  • UI layout data storage (including personalized settings).
  • Personalized recommendations for customers in real time, personalized web experience.

Operations management

Operations management

  • Storage of real-time business information (customer relationship management transactions, financial operations, etc.)
  • Online transaction processing to facilitate management of transaction-oriented applications.
  • Event-driven architectures built with the change feed capability.

Operational analytics and planning

Operational analytics and planning

  • Near-real time no-ETL analytics on operational data.
  • Operational log analysis.
  • Operations planning and demand forecasting.

Supply chain analytics and forecasting

Supply chain analytics and forecasting

  • Supply chain batch and streaming data integration and processing.
  • Supply chain reporting.
  • Building predictive pipelines over operational supply chain data.

IoT, telematics, digital twins

IoT, telematics, digital twins

  • Telemetry data storage.
  • Hot data storage for real-time analytics.
  • IoT predictive maintenance.
  • Anomaly detection in IoT scenarios.

Smart products

Smart products

  • Geo-redundant data store with guaranteed high availability and low latency reads and writes worldwide.
  • Hot data storage for ad-hoc querying.

Knowledge management

Knowledge management

  • A fully managed graph data storage with guaranteed security, latency and consistency.
  • Interactive search engines built with Azure Cosmos DB and Azure Search.

Patient applications

  • HIPAA-compliant elastic data storage (patient data, information on appointment timetables, test results and scans, etc.)
  • Telehealth (accessing remote medical services and treatment recommendations).

Social applications

Social applications

  • User-generated content (chat sessions, tweets, blog posts, ratings, and comments) storage with scaling flexibility to accommodate the load.
  • Cosmos DB direct integration with Azure Cognitive Search for smart content discovery and content suggestions.

Gaming

Gaming

  • Personalized content and social features facilitated with the Cosmos DB elastic scale and flexible data schema (in-game stats, chat messages, player guild memberships, challenges completed, high-score leaderboards, and social graphs).
  • Minimized data latency for reads and writes for the engaging in-game experience.

Cloud infrastructure management

Cloud infrastructure management

  • Configuration information storage with guaranteed data security at a global scale to support optimal build environments (Infrastructure as Code).
  • Globally distributed database with seamless scale with near-zero downtime.

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

  • Transactional storage (row-oriented) - $0.25/GB/month
  • Analytical storage (column-oriented, preview) - $0.02/GB/month
  • Stored backup data (2 copies) - free
  • Stored backup data (>2 copies) - $0.12/GB/month

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

Standard (manual) provisioned throughput

Starting at a minimum of 400 RU/s, manually configured on a container or database, charged an hourly rate for the RU/s provisioned on the container or database.

  • 100 RU/s single-region write account - 1 x $0.008/hour
  • 100 RU/s single-region write account with regions using availability zones - 1.25 x $0.008/hour
  • 100 RU/s single-region write account distributed across N regions - N x $0.008/hour
  • 100 RU/s multi-region write (multi-master) account with N regions - N x $0.016/hour

Reserved capacity for standard provisioned throughput

Saving from 15% to 65% (a one-time payment). Any throughput provisioned over the reserved capacity is charged at standard provisioned throughput rates.

Autoscale provisioned throughput

Custom throughput limit (starting at 4,000 RU/s) charging is based on the maximum number of RU/s used each hour, between 10 - 100% of the set throughput limit.

  • 100 autoscale RU/s, single-region write account - $0.012/hour
  • 100 autoscale RU/s, single-region write account with regions using availability zones – 1.25 x $0.012/hour
  • 100 autoscale RU/s, single-region write account distributed across N regions – N regions with availability zone x $0.012/hour
  • 100 RU/s multi-region write (multi-master) account distributed across N regions - N regions x $0.016/hour

Optional capabilities

Analytical storage transactions (preview)
  • Write Operations (per 10,000 operations) - $0.05
  • Read Operations (per 10,000 operations) - $0.005
Multiple regions

Provisioned throughput and consumed storage are multiplied by the number of regions associated with your account.

Availability zones

The billing impact for availability zones redundancy (available for single-region accounts and multi-region writes (“multi-master”) accounts) is:

  • Single-region write accounts using provisioned throughput: RU/s are multiplied by a factor of 1.25 in each region designated as an Availability Zone.
  • Multi-region write (“multi-master”) accounts using provisioned throughput: no billing impact.

Azure Cosmos DB for Free

  • Azure Cosmos DB free tier – 400RU/s provisioned throughput and 5 GB storage free each month.
  • Azure free account - Azure Cosmos DB and other Azure services as a part of a 12-month Azure free account ($200 credit for 30 days, always-free 400 RU/s of provisioned throughput and 5 GB of storage per month).
  • 30 days free – running a non-production Cosmos DB (renewal – any number of times).
  • Azure Cosmos DB Emulator – building and testing applications from a local machine that emulates the Azure Cosmos DB service without an Azure subscription or incurring any cost.

Note: The prices are relevant to the US East 2 (Virginia) data center region and may differ for other data centers.

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

  • 1,000,000 serverless RU – $ 0.25
  • 1,000,000 serverless RU with availability zone - 1.25 x $0.25

Optional capabilities

Analytical storage transactions (preview)
  • Write Operations (per 10,000 operations) - $0.05
  • Read Operations (per 10,000 operations) - $0.005
Availability zones

The billing impact for availability zones redundancy is:

  • Single-region serverless accounts: RU is multiplied by a factor of 1.25.

Azure Cosmos DB for Free

  • Azure Cosmos DB free tier – 400RU/s throughput and 5 GBs storage free each month.
  • Azure free account - Azure Cosmos DB and other Azure services as a part of a 12-month Azure free account ($200 credit for 30 days, always-free 400 RU/s of provisioned throughput and 5 GBs of storage per month).
  • 30 days free – running a non-production Cosmos DB database for a limited time (renewal – any number of times).
  • Azure Cosmos DB local emulator – building and testing applications from a local machine that emulates the Azure Cosmos DB service without an Azure subscription or incurring any cost.

Note: The prices are relevant to the US East 2 (Virginia) data center region and may differ for other data centers.