Today, we are extremely excited to pre-announce the general availability of Azure Cosmos DB Gremlin API for native support and querying of graph databases. Graphs are perfect for modeling real world data which is naturally inter-connected. Structurally, such graphs are composed of vertices and edges. Vertices denote discrete entities such as a person, a place, or an event, while edges denote relationships among such entities. Moreover, these vertices and edges may a have arbitrary number of properties. Modeling data as graphs is currently gaining a lot of interest, as it allows a large level of flexibility to represent user data in a way that makes intuitive sense, as well as can lead to very powerful tools that help users navigate complex interconnections in their data in order to derive richer, actionable insights.
Azure Cosmos DB is the first managed PaaS service that brings cloud-native and enterprise-ready features to graph databases. This includes turnkey global distribution, independent scaling of storage and throughput, predictable single-digit millisecond latencies, automatic indexing, and the most comprehensive in the industry SLAs. Because Azure Cosmos DB supports TinkerPop/Gremlin, you can easily migrate applications written using another graph database without having to make any code changes. Additionally, by virtue of Gremlin support, Azure Cosmos DB seamlessly integrates with TinkerPop-enabled analytics frameworks such Apache Spark GraphX for analytics on graph data.
Figure 1: Visualizing and querying graph data model in Azure Cosmos DB in Azure portal data explorer.
Since the announcement of Azure Cosmos DB, the Gremlin (Graph) API has quickly become one of the fastest growing and most popular data models in the platform. Azure Cosmos DB is now ranked #2 graph database in the industry based on popularity according to db-engines website.
We are committed to take our existing offering to the next level during general availability. One of the key improvements that the team will be delivering is the cross-partition graph computation for Gremlin service. This will substantially improve the graph query processing performance and the latency by virtue of dynamically affinitizing the compute tier with the database partitions for low latency graph query processing, while still maintaining the ability to scale compute and data independently and elastically.
In addition, we are heavily focused on improving the developer experience, since meeting the developers wherever they are is one of the core missions for Azure Cosmos DB. Azure Cosmos DB team is committed to the compatibility with the open-source frameworks recommended by Apache Tinkerpop through both contributions to the community-driven projects, as well as by aligning the service functionality to their specifications. With the general availability, we will add to the number of client libraries we support and continue to do so in future.
With the general availability of Gremlin API, porting graph applications will become an effortless process. But what about the data? To simplify the data migration experience, we will release a new, native library which will simplify bulk data operations including import and export of graph data.
The Azure Cosmos DB Graph API service will move out of preview and into general availability by the end of the year 2017. In the meantime, we have also significantly improved Graph Visualizer in the Data Explorer on the Azure Portal, allowing a simplified browsing experience of large graphs which will be available in the next coming weeks.
We hope you take advantage of the Gremlin API and everything else that Azure Cosmos DB has to offer. Please continue to provide feedback on what you want to see next in our service. Try out Gremlin API today for free today with our Try Cosmos DB for free experience. If you need any help or have questions or feedback, please reach out to us on the developer forums on Stack Overflow, and follow us on Twitter @AzureCosmosDB, #CosmosDB, for the latest news and announcement
- Your friends at Azure Cosmos DB