Introduction To Azure Cosmos DB
The applications need to be always online and highly responsive so that they are easily accessible, interactive and user-friendly. This can be achieved by having low latency and high availability, for which the instances of the application should be deployed in locations that are close to the targeted users. Also, it should be able to sustain the usage change at the time of peak hour traffic. As the traffic increases, the volume of data increases too, but this data needs to be available to the user in a matter of milliseconds. For this, the application developer can use a database service, such as Azure Cosmos DB.
Azure Cosmos DB is a multi-model database service (i.e. data can be stored in the format of Key-value Pair, Document-based, Graph-based, Column Family-based databases) that is globally distributed by Microsoft.
It enables the developer to independently and elastically scale storage and throughput. It actually takes advantage of the single-digit-millisecond data access technique. It uses APIs like SQL, JavaScript, MongoDB, Gremlin, Spark, ETCD, Tables, or Cassandra as per your preference. It also offers comprehensive SLAs (service level agreements) for consistency, latency, availability, and throughput as a guarantee, which is not provided by any other database service. A new free demo account can also be tried at Azure Cosmos DB.
Advantages of Azure Cosmos DB :
-
No Schema/ Index Management
Cosmos DB engine is fully schema-agnostic, that is it automatically maps user terminology to the dataset vocabulary, so you do not need to deal with schema or index management. It automatically indexes all the data and serves the queries faster.
-
Worldwide availability & Global Distribution
Cosmos DB is available in all Azure regions worldwide, also including the regions in the public cloud, Azure Government, and Azure Government for the Department of Defense (DoD), etc. It enables high availability of your application worldwide and highly responsive as it automatically replicates the data to its data centers so that users can interact with the closest data replica. It also allows you the flexibility to add/remove Azure regions from your account at any time. As it has multi-homing capabilities of the service, it can attend the requests and also replicate the data at the same time with high availability.
-
Low Latency
As Cosmos DB is available across regions, your application is highly responsive and available to a large audience without any delays. It has a latch-free and write-optimized database engine along with multi-master replication protocol, which enables sustained ingestion of data and queries at an incredible rate as it guarantees less than 10ms latencies for both, reads and writes.
-
Always Available
As it is having a global distribution and transparent multi-master replication, it provides 99.999% high availability for both reads and writes. Through the Azure portal or through code, you can invoke regional failover of your Cosmos Account, in case of a regional disaster.
-
Elastically scalable storage and throughput
Cosmos DB provides elastic scalability for your writes and reads. You can scale the requests/sec with a single API call and would pay only the cost of the throughput/storage as requested/needed by your application. You can also scale up/down depending on the peak hours.
-
Various consistency choices
With Azure Cosmos DB you get consistently available, low latency, and throughput for your database service. It offers five well designed and precisely defined consistency choices, for low latency, high availability intuitive programming model.
- Consistent Prefix
- Session
- Bounded Staleness
- Strong
- Eventual
-
Thoroughly tested database service
Cosmos DB has been in existence for almost a decade, as being a part of various Microsoft products, like Office 365, Xbox, Azure, Skype, and many others. It is one of the fastest-growing Azure services which is used by mission-critical applications and even external customers.
-
Highly Secure
Azure Cosmos DB holds the data in encrypted form while at rest and even in transition. It holds certification for a variety of compliance standards and adheres to strict security standards/policy. It also provides row-level authorization.
-
Cost Optimization
Cosmos DB is a fully-managed database service, which saves the infrastructure and maintenance costs including deployment and software upgrade of datacenters and database.
-
Comprehensive SLAs
It is the first and only service to offer comprehensive SLAs encompassing read write latency(less than 10ms) guaranteed consistency and throughput and high availability.
-
Built-in Apache Spark
Apache Spark can be directly run on the data stored. It allows operational analytics and AI at a global scale to improve latency without impacting the transactional workload.
-
Create applications using different APIs
Cosmos DB allows you to work with the choice of your APIs with your data stored in the database. SQL is provided by default as a core API, but you can also use MongoDB, Azure Table Storage, Gremlin, and Cassandra. It also allows you to use NoSQL using wire protocols of the NoSQL APIs, with the help of which you can:
- Scale storage and throughput elastically based on the need of your application and also pay accordingly, which results in significant cost savings.
- Make the application portable and independent of the dependency on any specific cloud vendor.
- Migrate application to Azure Cosmos DB and provides perseverance to the significant portions of application logic.
Cosmos DB is used in a variety of applications that need to handle enormous data, read/write operations at a global scale with guaranteed high availability and responsiveness, throughput, low latency, consistency, like web, mobile, IoT applications, and gaming.
Azure Cosmos DB is a multi-model database service (i.e. data can be stored in the format of Key-value Pair, Document-based, Graph-based, Column Family-based databases) that is globally distributed by Microsoft.
- No Schema/ Index Management
Azure Cosmos DB holds the data in encrypted form while at rest and even in transition. It holds certification for a variety of compliance standards and adheres to strict security standards/policy. It also provides row-level authorization.
Cosmos DB is used in a variety of applications that need to handle enormous data, read/write operations at a global scale with guaranteed high availability and responsiveness, throughput, low latency, consistency, like web, mobile, IoT applications, and gaming.
What is Azure Cosmos DB?
What are advantages of using Azure Cosmos DB?
- Worldwide availability & Global Distribution
- Low Latency
- Always Available
- Elastically scalable storage and throughput
- Various consistency choices etc. How is security managed in Cosmos DB?
Where is it used?