Upload
eugene-hanikblum
View
2.468
Download
3
Embed Size (px)
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 : [email protected]
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