michelangelus - Fotolia
The universe of Microsoft databases continues to expand in the form of Azure Cosmos DB, the company's new contender among the growing ranks of multimodel databases. Such databases intend to meet users' growing needs to handle more varied types of data.
Building on the company's DocumentDB NoSQL technology, Azure Cosmos is a multimodel database with features old and new.
"Azure Cosmos DB is interesting technology, because it offers multimodel NoSQL database capabilities in the cloud at scale," said Craig Mullins, president and principal consultant of Mullins Consulting Inc. in Sugar Land, Texas.
The future of database management systems, he continued, "is multimodel -- that is, one product with different database engines, be they key-value, document, graph, wide column store or even relational [and] SQL."
Couchbase, DataStax, IBM, MarkLogic, Oracle, OrientDB and others have already expanded their original database management systems into the world of multimodel databases. The systems support varied APIs and data types, such as XML, JSON, spatial data and more.
Inside Azure Cosmos DB
Under the covers, Azure Cosmos DB isn't entirely new. At its base, it is a rework and update of DocumentDB, Microsoft's NoSQL document-oriented database. Others include MongoDB, Couchbase Server, Oracle NoSQL and IBM Cloudant.
Microsoft has worked to increase key-value and columnar support for DocumentDB for some time. Now, it has added APIs to support the Gremlin graph traversal language, an open source language that connects with Apache TinkerPop, an open source graph data framework.
Graph databases have found increasing use in web applications. Recommender engines and social networks, such as Facebook, have employed them to graph users' interests and relationships. The need to support those types of jobs could make graph an important addition in the Cosmos mix, according to Mullins, though it is early to fully apprise the offering, he said.
"Azure Cosmos DB with a graph database in the cloud using elastic scaling looks like it could compete with other graph database management system offerings," he said. "But it is still very early, and Microsoft will need to promote successful early adopters to compete against Neo4j, for example."
New traits, including graph APIs, justify renaming DocumentDB as Cosmos DB, according to Jen Stirrup, founder of the U.K.-based Data Relish consultancy.
"Azure Cosmos DB is much more than an extension of DocumentDB," she said, pointing to the varied range of data connectors it now supports. Azure Cosmos DB carries forward one of NoSQL's prime selling points, according to Stirrup.
That is, it supports data schema that are far less rigid than conventional relational schema.
The Cosmos service can automatically index incoming data, Stirrup said. That allows businesses to focus less on the complexities of schema and index management, or schema migration, and focus more on getting their data through fast queries, "even if they have a globally distributed technical estate."
"Microsoft's Cosmos DB is visionary, because it recognizes the need for schema-free, multimodel databases to match the sheer variety of data that businesses are going to have to handle," Stirrup said. As for graph capabilities, she said she sees those emerging with increasing emphasis as internet-of-things applications become more prevalent.
Where in the world is Azure Cosmos DB?
Microsoft is offering Azure Cosmos DB as a multi-tenant cloud service that can be distributed on a global basis. It allows users to elastically scale throughput and storage across a number of geographical regions, according to the company.
Additionally, Azure Cosmos DB is said to allow developers to select different consistency models when building applications. That has been an important tradeoff for developers and architects to make, as they create NoSQL web applications in which fast performance of databases is weighed against available levels of data consistency.
At Build 2017, where Microsoft rolled out Azure Cosmos DB, presenters said the company worked for seven years to produce these tunable consistency levels for data, with some of the work led by Microsoft researcher Leslie Lamport, a noted computer scientist who pioneered early work in distributed systems.
Microsoft's claims for its new consistency-performance tradeoff capabilities could be somewhat strained, according to Curt Monash, president of Monash Research in Acton, Mass. For databases, generally, "tunable consistency is a feature that is becoming ever more widely available," he said.
With geolocation as well, support has become a common trait for databases on the cloud, and it is necessary for users to carefully study the value behind vendors' claims, Monash said. At least one issue driving wide support for geographical distribution is practical and political.
"There are certainly important issues in geographical distribution of databases," Monash said. "A large part of this has to do with politics in the most literal sense. That is, the [European Union] wants you to store data in the EU, and Russia wants you to store it in Russia, and so on."
Azure Cosmos pricing is based on the number of collections employed to hold applications and resources. Collections are billed hourly based on the amount of storage used and the throughput required as measured in request units per second. Storage pricing starts at $0.25 per gigabyte, per month, while pricing for a reserved rate of 100 request units per second is $0.008 per hour.
Take a look at an Oracle alternative for NoSQL document handling
Find out about managed services for data in the cloud
Learn more about Azure's document data prowess