Azure Cosmos DB is Microsoft’s globally-distributed, multi-model database service for managing data at planet-scale. It builds upon and extends the earlier Azure DocumentDB which was released in 2014. It is schema-less and generally classified as a NoSQL database.
I have some good articles written. Please take a review.
- Key Capabilities Of Azure Cosmos DB
- Understand Azure Cosmos DB – Table API
- Understand Azure Cosmos DB – DocumentDB API (SQL)
Before we start, let’s take a look at some quick features.
- Global Distribution
Established globally distributed database system driven by the cloud-computing power of Azure. Data can be automatically replicated in Azure data centers around the world.Or in other words, you can distribute your data to any number of Azure regions, with the click of a button. This enables you to put your data where your users are, ensuring the lowest possible latency to your customers.
Customers can independently scale storage and throughput.Easily scale database throughput at a per second granularity, and change it anytime you want. Scale storage size transparently and automatically to handle your size requirements now and forever.
- Highly Responsive
Cosmos DB guarantees end-to-end latency of reads under 10 ms and indexed writes fewer than 15 ms at the 99th percentile, within the same Azure region. The median latencies are significantly lower (less than 5 ms).
- Multiple Data Models
Customers can use key-value, graph, and document data without worrying about schema or index management.The atom-record-sequence (ARS) based data model that Azure Cosmos DB is built on natively supports multiple data models, including but not limited to document, graph, key-value, table, and columnar data models.
APIs for the following data models are supported with SDKs available in multiple languages,
- DocumentDB API
- MongoDB API
- Table API
- Graph (Gremlin) API
Five consistency levels
Defined consistency levels include strong, bounded staleness, consistent-prefix, session, and eventual.
Guaranteed less than 10-ms latencies on reads and less than 15-ms latencies on (indexed) writes at the 99th percentile.
Offered service level agreements (SLAs) include 99.99% high availability with latency at the 99th percentile.
In Cosmos DB, SLA guarantee is very high, 99.9% for the following.
- Availability assurance 99.9%
- Throughput guarantee 99.9%
- Latency guarantee 99.9% (99% is latency less than 10 ms )
- Consistency assurance 100% of read requests guarantee consistency of the required consistency level.
Below are some points where customer can use Azure CosmosDB
IoT and telematics
IoT solutions require secure, bidirectional communication between devices, possibly numbering in the millions, and a solution back end. For example, a solution back end might use automated, predictive analytics to uncover insights from your device-to-cloud event stream. An IoT solution architecture that describes the common characteristics of an IoT solution you might deploy using Azure services.
Microsoft Azure offers rich services that can be applied for IoT use cases including Azure Cosmos DB, Azure Event Hubs, Azure Stream Analytics, Azure Notification Hub, Azure Machine Learning, Azure HDInsight, and PowerBI. Distributed databases and open source analytics technologies are becoming an important part of many big data strategies. Attend this session to learn how Azure Cosmos DB and Azure HDInsight enable massive-scale ingestion of events and real-time queries for IoT scenarios
The business goals and technical challenges faced by real-world customers (like Toyota Service Connect), why they chose Azure Cosmos DB + HDInsight, and the patterns they used to deliver highly available, globally distributed experiences. In addition, data can further be refined and processed by connecting Azure Cosmos DB data to HDInsight for Pig, Hive, or Map/Reduce jobs. Refined data is then loaded back to Azure Cosmos DB for reporting.
Establish bi-directional communication with billions of IoT devices, Work with familiar platforms and protocols.
Add new IoT devices—and connect existing ones—using open-source device SDKs for multiple platforms, including Linux, Windows, and real-time operating systems. Use standard and custom protocols, including HTTP, Advanced Message Queuing Protocol (AMQP) and MQ Telemetry Transport (MQTT). Manage your IoT devices at scale with device management
With new device management capabilities in IoT Hub administrators can remotely maintain, update and manage IoT devices at scale from the cloud. Save time and cost by removing the task of developing and maintaining a custom device management solution or spending resources traveling to maintain global assets.
Retail and marketing
Azure Marketing is one of the premier marketing and advertising firms in the whole world. Azure specializes in gaining a fast, measurable advantage for clients. they recently signed more major clients in the television entertainment industry! In addition to creating a positive image for clients, the key to success and growth is the ability to generate a greater market share for each and every client.
To deliver results to the clients, Catalog data usage scenarios involving storing and querying a set of attributes for entities such as people, places, and products. Some examples of catalog data are user accounts, product catalogs, IoT device registries, and bill of materials systems. Attributes for this data may vary and can change over time to fit application requirements. Microsoft Azure Data Catalog is a fully managed service that serves as a system of registration and system of discovery for enterprise data sources.
Consider an example of a product catalog for an automotive parts supplier. Every part may have its own attributes in addition to the common attributes that all parts share. Furthermore, attributes for a specific part can change the following year when a new model is released. Azure Cosmos DB supports flexible schemas and hierarchical data, and thus it is well suited for storing product catalog data. Microsoft Azure Marketplace features data from a variety of sources, including demographic, environment, financial, retail and sports data. Many sources are free. You can get data feeds to use this data in a Data Model that you build in Excel and in the Power Pivot add-in.
Reach your gamers wherever they are and build new user bases without any infrastructure constraints. Azure runs on Microsoft-managed datacenters across 26 regions—more countries and regions than AWS and Google Cloud combined.
Spend less time on development and testing and focus on getting your games to market faster than your competition, thanks to broad support for diverse technologies, including operating systems, programming languages, frameworks, tools, databases, and devices.
Use the game engine of your choice with Visual Studio for rapid game development. Both Unity and Unreal are deeply integrated with Visual Studio, allowing you to take advantage of powerful features, such as a rich debugger and extensive code editing while powering your games’ backend with Azure.
Whether you have an existing game backend infrastructure or are looking to build your system from scratch, Azure provides you with choice and flexibility. If you want to lift and shift your infrastructure to the cloud, use infrastructure as a service (IaaS) offerings like Machines and Virtual Machine Scale Sets. With “Platform as a Service (PaaS)” services like Azure Service Fabric and Azure App Service, focus on building your games and let Azure manage your infrastructure. Choose from a variety of storage options, from managed database services like Azure SQL Database and Azure Cosmos DB to MongoDB, Parse Server, and Cassandra on Azure Marketplace.
Web and mobile applications
Azure Cosmos DB is commonly used within the web and mobile applications and is well suited for modeling social interactions, integrating with third-party services, and for building rich personalized experiences. The Cosmos DB SDKs can be used build rich iOS and Android applications using the popular Xamarin framework.
We use social networks to keep in touch with friends, colleagues, family, or sometimes to share our passion with people with common interests.
As engineers or developers, we might have wondered how these networks store and interconnect our data or might have even been tasked to create or architect a new social network for a specific niche market yourselves. That’s when the big question arises: How is all this data stored?
Let’s suppose that we are creating a new and shiny social network, where our users can post articles with related media like pictures, videos, or even music. Users can comment on posts and give points for ratings. There will be a feed of posts that users will see and be able to interact with on the main website landing page. This doesn’t sound really complex (at first), but for the sake of simplicity, let’s stop there (we could delve into custom user feeds affected by relationships, but it exceeds the goal of this article).
Applications that integrate with third-party social networks must respond to changing schemas from these networks. As data is automatically indexed by default in Cosmos DB, data is ready to be queried at any time. Hence, these applications have the flexibility to retrieve projections as per their respective needs.
Many of the social applications run at global scale and can exhibit unpredictable usage patterns. Flexibility in scaling the data store is essential as the application layer scales to match usage demand. You can scale out by adding additional data partitions under a Cosmos DB account. In addition, you can also create additional Cosmos DB accounts across multiple regions.
In this article, we talked about use case of Azure CosmosDB. I hope you found this article informative.