NoSQL Graph Databases - Why, When and Where

  • View
    2.469

  • Download
    3

  • Category

    Software

Preview:

DESCRIPTION

NoSQL Graph Databases - Why, When And Where should we use it. Graph DB - The new era of understanding data

Citation preview

NoSql Graph DatabaseThe New Era of Interpreting Data

name : Evgeny Hanikblum

contact : eugene@honeyflower.net

current : Owner @ HoneyFlower Systems

Founder @ True Contact

past : Architect & Consultant @ AlphaCSP

CTO @ GILS Transportation

CoFounder @ Otenti Systems

whoami

NoSql Graph Databases

Contents:

NoSQL Graph Databases - the new age of Big Data Solutions

Why, when and where should you use NoSQL Graph DB

OrientDB - the best of two worlds. A document based NoSQL graph database.

NoSql : main categories

NoSql Graph Databases

* In computing, a graph database is a database that uses graph structures with nodes, edges, and properties to represent and store data. A graph database is any storage system that provides index-free adjacency.

This means that every element contains a direct pointer to its adjacent elements and no index lookups are necessary.

Graph DB

Why, when and where should I use it

11/12/14

If your data looks like this

Yes, you can do that with rdbms

If your data start looking like this

You already into big data graph

But, if your data looks like this one

This presentation is for you

Why, Graph DB

Data is more connected:

• Text (content)• HyperText (added pointers)• RSS (joined those pointers)• Blogs (added pingbacks)• Tagging (grouped related data)• RDF (described connected data)• Social networks• GGG (content + pointers + relationships +

descriptions)

Graph DB – use cases

network, recommendations, social, security, medicine, …

Graph DB – use cases

How Baidu Recorded The Largest

Migration on Earth Using A Mapping

App

3.6 billion people travelled to visit family during this

Chinese New Year. And one smartphone mapping

app recorded the entire event

Graph DB – Baidu

Graph DB – Baidu

Graph DB – use cases

Network and IT Operations Management

The interconnected physical, virtual, and application layers of a

network are perfectly modeled in a comprehensive graph.

Queries:

Quality-of-Service Mapping,

Impact Analysis,

Root Cause Analysis,

Asset Management

Graph DB – use cases

Social

Family, friends and followers extend into a social graph which

reveals patterns of similar behavior, influence, and implicit

groups.

Queries:

Friend Recommendations,

Sharing & Collaboration,

Influencer Analysis

Graph DB – use cases

Recommendations

Connect the dots of seemingly unrelated interests and

relationships to make recommendations that balance fresh with

familiar.

Queries :

Professional Recommendations

Product,

Social,

Service

Graph DB – use cases

Identity and Access Management

Who you are, how you belong, and what you’re permitted

depends upon the relationships between you, an organization,

and a system.

Queries :

Interconnected Group Organization,

Access Management,

Provenance

Graph DB - definition

“Graph Databases are a way of storing data in the form of nodes, edges and relationships

which provide index-free adjacency. “

Graph Example

GraphDB definition explained

• DATA = NODES• (NODES) are Fully Featured JSON Objects, Indexable to ensure uniqueness

• These are the population of your Graph Nation

• If it is an immutable thing, if you can anthropomorphize it, it should be a

(NODE)(Computer, Email, Hash, Service Ticket, IDS Rule, Domain, Threat Actor)

• JOINS = EDGES• Every (NODE) must connect to at least one more… as must we all, else why exist?

• Individual –EDGES-> are directional: (Chris)-->(You) or (You)-->(Chris)

• EDGES + CONTEXT = RELATIONSHIPS• -[:RELATIONSHIPS]-> are Fully Featured JSON Objects!

• -[:RELATIONSHIPS]-> give context to the connections between (NODES)

• If it is an action or you can’t imagine holding it, it should be a -[:RELATIONSHIP]->

• (Chris) -[:TALKS]->(You) , but are (You)-[:LISTEN]->(Chris) ?

RELATIONSHIPS + NODES =

Graph DB vendors

OrientDB is an open source NoSQL database written in Java. It is a document-based database, but the

relationships are managed as in graph databases with direct connections between records

OrientDB

Let’s see how OrientDB manages

relationships

OrientDBSummary

OrientDB - features

HoneyFlower SystemsConsultancy

Architecture

Java & BigData solutions

info@honeyflower.net

Recommended