Describe capabilities and features of Azure Cosmos DB Flashcards
Azure Cosmos DB
Azure Cosmos DB is a globally distributed, multi-model database service provided by Microsoft Azure. It is designed to enable the development of highly responsive and scalable applications with low-latency data access worldwide
-Supports multiple application programming interfaces (APIs) that enable developers to use the programming semantics of many common kinds of data store to work with data in a Cosmos DB database.
-Cosmos DB uses indexes and partitioning to provide fast read and write performance and can scale to massive volumes of data.
-You can enable multi-region writes, adding the Azure regions of your choice to your Cosmos DB account so that globally distributed users can each work with data in their local replica.
-Cosmos DB interface is a web interface to explore and interact with your Cosmos DB accounts. (Data Explorer)
Use Cases
Cosmos DB is highly suitable for the following scenarios:
-IoT and telematics: These systems typically ingest large amounts of data in frequent bursts of activity. Cosmos DB can accept and store this information quickly
-Retail and marketing: Microsoft uses Cosmos DB for its own e-commerce platforms that run as part of Windows Store and Xbox Live.
-Gaming: The database tier is a crucial component of gaming applications. Modern games perform graphical processing on mobile/console clients, but rely on the cloud to deliver customized and personalized content like in-game stats, social media integration, and high-score leaderboards.
-Web and mobile applications: Suited for modeling social interactions, integrating with third-party services, and for building rich personalized experiences
Azure Cosmos DB APIs
Azure Cosmos DB is Microsoft’s fully managed and serverless distributed database for applications of any size or scale, with support for both relational and non-relational workloads. Developers can build and migrate applications fast using their preferred open source database engines, including PostgreSQL, MongoDB, and Apache Cassandra.
-Azure Cosmos DB for NoSQL is Microsoft’s native non-relational service for working with the document data model. It manages data in JSON document format, and despite being a NoSQL data storage solution, uses SQL syntax to work with the data.
-Azure Cosmos DB for MongoDB enables developers to use MongoDB client libraries and code to work with data in Azure Cosmos DB.
-Azure Cosmos DB for PostgreSQL is a native PostgreSQL, globally distributed relational database that automatically shards data to help you build highly scalable apps.
-Azure Cosmos DB for Table is used to work with data in key-value tables, similar to Azure Table Storage. It offers greater scalability and performance than Azure Table Storage.
-Azure Cosmos DB for Apache Cassandra is compatible with Apache Cassandra, which is a popular open source database that uses a column-family storage structure.
-Azure Cosmos DB for Apache Gremlin is used with data in a graph structure
All these NoSQL engines specific capacity:
-Provisioned throughput (pay for guarantee of capacity)
-Serverless (pay for what you use)