Friday, July 07, 2017

Azure Cosmos DB: graph data representation

Besides various NoSQL interfaces, standard SQL and Hadoop Hive are coming soon.
And besides SSDs, "classic" storage options from Azure Tables are also coming.
It will also be included in Azure Stack, that can run on premise.
So it will be "one database for everything" :)

Cosmos DB - MS Dev Show Podcast

A technical overview of Azure Cosmos DB | Blog | Microsoft Azure

"Azure Cosmos DB natively supports multiple data models. The core type system of Azure Cosmos DB’s database engine is atom-record-sequence (ARS) based. Atoms consist of a small set of primitive types e.g. string, bool, number etc., records are structs and sequences are arrays consisting of atoms, records or sequences. The database engine of Azure Cosmos DB is capable of efficiently translating and projecting the data models onto the ARS based data model. The core data model of Azure Cosmos DB is natively accessible from dynamically typed programming languages and can be exposed as-is using JSON or other similar representations. The design also enables natively supporting popular database APIs for data access and query. Azure Cosmos DB’s database engine currently supports DocumentDB SQL, MongoDB, Azure Table Storage, and Gremlin graph query API. We intend to extend it to support other popular database APIs as well. The key benefit is that developers can continue to build their applications using popular OSS APIs but get all the benefits of a battle-tested and fully managed, globally distributed database system."

CosmosTech_3


Inside Microsoft's Cosmos DB | ZDNet


Azure Cosmos DB – Globally Distributed Database Service (formerly DocumentDB) | Microsoft Azure

Introduction to Azure Cosmos DB | Microsoft Docs


Graph Databases and CosmosDB - Sigao Studios Academy 1 - YouTube

Introduction to Azure Cosmos DB Graph APIs | Microsoft Docs

Azure Cosmos DB Gremlin support | Microsoft Docs

inserts the "Thomas" vertex into the graph
:> g.addV('person').property('id', 'thomas.1').property('firstName', 'Thomas').property('lastName', 'Andersen').property('age', 44)

inserts a "knows" edge between Thomas and Robin
:> g.V('thomas.1').addE('knows').to(g.V('robin.1'))

query returns the "person" vertices
:> g.V().hasLabel('person').order().by('firstName', decr)

"What operating systems do friends of Thomas use?"
:> g.V('thomas.1').out('knows').out('uses').out('runsos').group().by('name').by(count())

Azure Cosmos DB tutorial: Create, query, and traverse in Apache TinkerPops Gremlin Console | Microsoft Docs

Build an Azure Cosmos DB .NET application using the Graph API | Microsoft Docs

GraphSON Format · thinkaurelius/faunus Wiki

Titan:db. Architectural Overview
"Titan is a graph database engine. Titan itself is focused on compact graph serialization, rich graph data modeling, and efficient query execution."

No comments: