The Azure Cosmos DB Blog – All about Cosmos DB, IoT and Azure
Azure Cosmos DB is the multi-model database service enabling data management across global data centers.
In the fast paced world, the applications expected to run at high speed, least delay and run with accuracy. Best examples of Gaming created using Azure Cosmos DB are The Walking Dead: No Man’s Land, and Halo 5: Guardians. Toyota Motor Corporation – Japan uses Cosmos DB for its global IoT based app. If we talk of retail and marketing, the Domino’s Pizza Inc., which is chain of American pizza restaurants and Sulekha.com – India uses Azure Cosmos DB.
Benefits of Azure Cosmos:
- Cosmos DB is of great assistance in building applications that are available 24×7 and respond to users at high speed.
- Replicate the data in all the regions selected by you for uniform results to the query.
- Automatic replication in data centers worldwide.
- You can add or delete the Azure regions by click of the mouse.
- Use single API for access and simultaneously focus on thousands of requests every second.
- Its availability is guaranteed 99.999%, which brings in consistency that is must to organizations
- Five level of consistency are available for selection.
- Azure Cosmos DB supports APIs of SQL, Gremlin, MongoDB, and Cassandra.
- IP address based control is available and once applied the Azure Cosmos Account cannot be accessed by the machines other than those listed as valid users.
- Azure enables virtual network service and an IP access control simultaneously
- Low latency guaranteed with regards to reading data it is around 10 milliseconds and 15 milliseconds when you are writing data.
- No delay before data transfer after the query increases the performance.
- Cosmos does have the database indexing as requirement hence the worry of downtime is eliminated data migration.
- In case of interrupted services, you can raise the call for your Cosmos account from anywhere.
- Managing Azure Cosmos DB single handed is feasible, saves the efforts, time and money.
- Automated Backups and availability of last 2 backups for 8 hours.
- Restoration of Backup after the time limit of 8 hours is possible on request only.
- Currently all transactions are supported if created using JavaScript stored procedures.
- The .Net LINQ language queries do not receive full support.
- It supports pure JSON data types only.
- Terminology of Cosmos DB is different from other DBs e.g. Collection it means only bucket of documents and further classification needs programming.
- Applying firewall changes to your account can take up to 15mins to activate.
- Default setting of the Azure Cosmos account permits accessible from internet with a valid authorization token assigned to the user.
- When you introduce a new rule of virtual network or IP firewall to the account, Azure forbids free access.
Features of Azure Cosmos:
- Ready to use product
- Develop applications
- Upload Data
- Data Migration
- Global DB replication
- Allows multiple APIs
- Consistency level selection
- Guaranteed Low Latency
- Query data storage
- Creating HTTP Trigger
- Run Operational Analytics
Using Azure Cosmos DB requires account creation in Azure Subscription. It contains a unique DNS name allowing you to manage your account via Azure portal. The pricing depends on the storage used and the data throughput. The request units per minute or month provide an affordable price range according to the client need.
Selecting Data Consistency in Azure Cosmos DB:
Replicated databases increase availability but consistency is disputable when it comes to applications. Developers now have freedom to choose anywhere in range of consistency and not just the strong or eventual consistency options offered earlier.
Strong consistency provides high stability at high price and absolutely
- Strong: Strong consistency guarantees the reads with the latest version of write and the users do not face the issue of incomplete write. Logically the strong consistency means that the bounded staleness is set at zero.
- Bounded Staleness: Configuring the staleness by the number of versions of the item or optionally the time interval to determine the reads to lag behind the write by updates or time duration.
- Session: If consistent-prefix found honor the reads. It works with an assumption that there is a single “writer” session. The stationary reads and writes, in a way guarantee the each other in a sequence.
- Consistent prefix: It encloses certain prefixes for all the updates without any delay to guarantee that the reads do not see any broken writes.
- Eventual: There is no guarantee of order in which the reads attempt.
DB-Engines Ranking of Azure Cosmos DB:
- 2nd Rank as of April 2019 and was at same position last year.
- 3rd in Wide Column Stores, untouched position of last year till May 2019.
- 4th Rank in May 2019 for Document stores, cosmos was 5th last year May.( excluding secondary database models)
- 4th Rank constant since last year May for key-value stores
- Its overall Rank out of 347 systems has improved from 30th position to 26th rank in May 2019.
Ranking methodology includes the following:
- Number of search engine queries on Google, Bing, and Yandex.
- The Google trends where there is frequent mention of Cosmos in technical discussions.
- Job profiles over the professional networks such as LinkedIn and Upwork that contains the system
- Job Posts over the job portals like Indeed and Simply Hired to include the system in their requirements
- Number of Tweets where the Azure Cosmos DB is mentioned
Popularity and Region Cover:
Number of Microsoft’s products uses Cosmos DB some of them are Skype, Office 365, and MSN, etc. It is one of the fastest growing services on Azure. The companies create critical applications using Cosmos as it meets fundamental need of global distribution, data replication, low latency, and high availability of both reads and writes.
Azure Cosmos DB a foundational service of Azure on the public cloud is permanently available in all 54 regions worldwide.
Azure Cosmos Account Management:
- Cosmos is a fully managed platform-as-a-service – PaaS on which you can create maximum 100 Azure Cosmos accounts under each Azure subscription.
- For data management and preparatory throughput, you can create one or more Azure Cosmos databases under your account.
- You may also create one or more containers within that database.
- You can create a read only data key for your account.
Secure the applications:
- No need to repeat data retrieval logic in case of web or mobile base applications.
- Direct access to the database is not advisable for any application instead a web service should be used to access the data.
- The resource tokens provide authorization hence the client should use them to access Azure Cosmos DB in order to keep it safe.
- Data is encrypted thus Cosmos can secure the data and application both.
New and existing users of Cosmos DB can rest assure of the delivery and quality in time no matter how complicated the process, query or application is. Eventually the change became inevitable when cloud computing and platform-as-a-service combined making global distribution and scalability of database comfortable.
Azure Cosmos DB is appropriate choice for web and mobile based IoT, Gaming, Retail, and Marketing applications.