What is NO SQL?
- It is term coined to address databases that used to query non structured data using a different Query Language. In the case of Cosmos we use a special style of SQL Queries on Cosmos DB.
What is the need for NoSQL?
- Volume of Data, Velocity at which it was needed to be gathered besides Variety of data needed to be stored changed dramatically thanks to the internet .
- Traditional systems handle data which are having fixed schema, planned capacity both in terms of throughput and Size.
- When the data volumes were high the attempt was to scale up higher by adding more memory, more CPU and more disk space. But this in turn compromised on latency besides being very expensive and difficult to maintain.
- Traditional systems tried to resolve this problem by introducing Manual Sharding
using Custom Application code to distribute the table data across different nodes and adding Distributed Cache to help the reads. But still the fixed schema meant down time besides additional effort on both in Application code front and Database code. Thus enters the need for No SQL where automatic sharding, implicit schema binding and high throughput and latency are available from the start.
What is Cosmos DB?
Azure Cosmos DB is a globally distributed, multi-model database service that supports document, key-value, wide-column, and graph databases. Originally Microsoft offered in only API which is SQL API.
What are the key features of COSMOS DB/
- Elastically and independently scale throughput and storage across any number of Azure regions worldwide
- Use your favorite API including SQL, MongoDB, Cassandra, Tables, or Gremlin.
- Always On – 99.999% high availability
- Guaranteed Low Latency at 99th Percentile.
- Defined Consistency Levels
- No Schema or Index Management
- Encrypted at Rest and Motion
References:
https://docs.microsoft.com/en-us/azure/cosmos-db/introduction

