2. 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
3. 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.
35. 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.
36. Graph DB
Why, when and where
should I use it
11/12/14
37. If your data looks like this
Yes, you can do that with rdbms
38. If your data start looking like this
You already into big data graph
39. But, if your data looks like this one
This presentation is for you
40. 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)
41. Graph DB – use cases
network, recommendations, social, security,
medicine, …
42. 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
45. 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
46. 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
47. 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
48. 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
49. Graph DB - definition
“Graph Databases are a way of storing data in
the form of nodes, edges and relationships
which provide index-free adjacency. “
55. 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 =
57. 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