SlideShare une entreprise Scribd logo
1  sur  65
How graph databases started
the multi-model revolution
Luca Garulli
Author and CEO @OrientDB
QCon Sao Paulo - March 26, 2015
“90% of the data 

in the world today 

has been created 

in the last two years alone.”
- IBM
Welcome to Big Data
Just Data
Order #134
(Order)
Luca
(Provider)
Commodore
Amiga 1200
(Product)
Jill
(Customer)
Monitor 40”
(Product)
Mouse
(Product)
Bruno
(Provider)
Just Data
Order #134
(Order)
Luca
(Provider)
Commodore
Amiga 1200
(Product)
Jill
(Customer)
Monitor 40”
(Product)
Mouse
(Product)
Bruno
(Provider)
Data by itself has little
value, it’s the relationship
between data that gives it
incredible value
Relationships give data “meaning”
Order #134
(Order)
Luca
(Provider)
Commodore
Amiga 1200
(Product)
(Sells)
Jill
(Customer)
(Has)
(Makes)
Monitor 40”
(Product)
(Sells)
(Has)
Mouse
(Product)
Bruno
(Provider)
(Sells)
(Has)
Top NoSQL categories
Key/Value Databases
Document Databases
Graph Databases
Column Databases
Top NoSQL categories
Key/Value Databases
Document Databases Graph Databases
Column Databases
Why do most NoSQL products
avoid
managing relationships?
Joins is the Evil
ID Name
10 John
11 John
24 Mike
28 Mike
ID Address
10 24
10 33
32 44
ID Location
24 Milan
33 London
18 Paris
18 Madrid
44 Moscow
Customer CustomerAddress Address
Is this
familiar?
Why	
  is	
  the	
  join	
  
so	
  slow?
A-­‐Z
A-­‐L M-­‐Z
Imagine	
  an	
  	
  
Address	
  Book	
  
where	
  we	
  want	
  to	
  find	
  
Luca’s	
  phone	
  number
Index Lookup: how does it work?
A-­‐Z
A-­‐L M-­‐Z
A-­‐L
A-­‐D E-­‐L
M-­‐Z
M-­‐R S-­‐Z
Index	
  algorithms	
  are	
  all	
  
similar	
  and	
  based	
  on	
  
balanced	
  trees
Index Lookup: how does it work?
A-­‐Z
A-­‐L M-­‐Z
A-­‐L
A-­‐D E-­‐L
M-­‐Z
M-­‐R S-­‐Z
A-­‐D
A-­‐B C-­‐D
E-­‐L
E-­‐G H-­‐L
Index Lookup: how does it work?
A-­‐Z
A-­‐L M-­‐Z
A-­‐L
A-­‐D E-­‐L
M-­‐Z
M-­‐R S-­‐Z
A-­‐D
A-­‐B C-­‐D
E-­‐L
E-­‐G H-­‐L
E-­‐G
E-­‐F G
H-­‐L
H-­‐J K-­‐L
Index Lookup: how does it work?
Index Lookup: how does it work?
A-­‐Z
A-­‐L M-­‐Z
A-­‐L
A-­‐D E-­‐L
M-­‐Z
M-­‐R S-­‐Z
A-­‐D
A-­‐B C-­‐D
E-­‐L
E-­‐G H-­‐L
E-­‐G
E-­‐F G
H-­‐L
H-­‐J K-­‐L
Luca
Found!	
  	
  
This	
  lookup	
  took	
  5	
  steps.	
  
With	
  millions	
  of	
  indexed	
  
records,	
  the	
  tree	
  depth	
  
could	
  be	
  1000’s	
  of	
  levels!
Joins Kill Performance
ID Name
10 John
11 John
24 Mike
28 Mike
ID Address
10 24
10 33
32 44
ID Location
24 Milan
33 London
18 Paris
18 Madrid
44 Moscow
Customer CustomerAddress Address
Joins are executed every time
you cross relationships
Querying million of records
joining 3-4 tables could
generate billions of
combinations
This is why the database
query performance
suffers as the database
increases in size
O(Log N)
PERFORMANCE
DATABASE SIZE
RDBMS performance on traversal
In a world that’s becoming
more connected, we need a
better way to store data and
manage relationships
Read: Data is important, but relationships are even more fundamental today
“A graph database is any
storage system
that provides
index-free adjacency”
- Marko Rodriguez
(author of TinkerPop Blueprints)
Every developer knows
the Relational Model,
but who knows the
Graph one?
Back to school:
Graph Theory crash course
Basic Graph
Luca Sao	
  Paulo
Visited
Vertices	
  and	
  Edges	
  can	
  
have	
  properties
Vertices	
  are	
  directed
*	
  https://github.com/tinkerpop/blueprints/wiki/Property-­‐Graph-­‐Model
Property Graph Model*
Sao	
  Paulo	
  
people:	
  12,000,000
Luca	
  
company:	
  
OrientTechnologies
Vertices	
  and	
  Edges	
  can	
  
have	
  properties
Vertices	
  and	
  Edges	
  can	
  
have	
  properties
Visited	
  
on:	
  2015
Luca Sao	
  Paulo
Visited	
  
on:	
  2015
An	
  Edge	
  connects	
  only	
  2	
  vertices	
  	
  
Use	
  multiple	
  edges	
  to	
  represent	
  1-­‐N	
  
and	
  N-­‐M	
  relationships
Worked	
  
on:	
  2015
1-N and N-M Relationships
Congrats! This is your diploma in
«Graph Theory»
The Graph theory
is so simple,
yet so
powerful
How does a true* Graph
Database
manage relationships?
*a “Graph” layer on top of a DBMS doesn’t qualify as a true GraphDB
Luca Sao	
  Paulo
Visited	
  
on:	
  2015
#13:55
#15:99
Each element in the Graph
has own immutable Record ID
#22:11
(Edge)
(Vertex)
(Vertex)
Each element in the Graph
has own immutable Record ID
Each element in the Graph
has own immutable Record ID
Luca Sao	
  Paulo
Visited	
  
on:	
  2015
#13:55
#15:99
Connections use
persistent pointers
out = #22:11
in = #22:11
#22:11
(Edge)
(Vertex)
(Vertex)
out = #13:55
in = #15:99
Luca Sao	
  Paulo
Visited	
  
on:	
  2015
#13:55
#15:99out = #22:11
in = #22:11
#22:11
(Edge)
(Vertex)
(Vertex)
out = #13:55
in = #15:99
Luca Sao	
  Paulo
Visited	
  
on:	
  2015
#13:55
#15:99out = #22:11
in = #22:11
#22:11
(Edge)
(Vertex)
(Vertex)
out = #13:55
in = #15:99
A Graph Database creates the
relationship just once
(when the edge is created)
VS
RDBMS computes the
relationship every time
you query a database
When you move from a RDBMS
to a Graph Database you jump
from a O(log N) speed to a near O(1)
With a Graph Database, the
traversing time is
not affected by database size!
This is huge in the BigData age
Graph Databases Easily Manage Complex
Relationships
No costs to traverse relationships:
• Recommendation engines
• Social Applications
• Spatial Apps
• Master Data Management
• Information Clustering
John
Thriller
Comedy
Pulp
Fiction
Mr Bean
Theater
B
Theater
A
Theater
C
NYC
San Josè
Lives in
Likes
GraphDB Database Quadrant
RelationshipsComplexity>
Data Complexity >
Relational
Key Value
Column
Graph
Document
GraphDB Database Quadrant
RelationshipsComplexity>
Data Complexity >
Relational
Key Value
Column
Graph
Document
These were 1st generation NoSQL
products, where each tool was
only good at a few use cases
Oracle
(RDBMS)
Redis or
Memcache
(Key/Value)
MongoDB
(DocDB)
Neo4j
(GraphDB)
Application
ETL
1st Generation NoSQL: Scenario
Primary DB
1st Generation NoSQL: Fact
In > 90% of use cases,
NoSQL products are
used as second DBMS
Oracle
(RDBMS)
Redis or
Memcache
(Key/Value)
MongoDB
(DocDB)
Neo4j
(GraphDB)
Application
ETL
1st Generation NoSQL: Problems
- No standard between NoSQL
products
- Multiple vendors = multiple skills
- ETL + synchronization code
is costly to write and maintain
- Performance and Reliability is
hard to predict
2nd Generation NoSQL
is
Multi-Model
What’s Multi-Model DBMS?
GraphDocument
Object
Key/Value
Multi Model represents the
intersection
of multiple models in just one
product
What’s Multi-Model DBMS?
GraphDocument
Object
Key/Value
Multi Model represents the
intersection
of multiple models in just one
product
- Just one product to learn and maintain
- Just one vendor relationship to manage
- No ETL, no synchronization required
- Performance and Reliability is easy to test from the
beginning
Relationships give data “meaning”
Order #134
(Order)
Luca
(Provider)
Commodore
Amiga 1200
(Product)
(Sells)
Jill
(Customer)
(Has)
(Makes)
Monitor 40”
(Product)
(Sells)
(Has)
3 Wheel
Mouse
(Product)
Bruno
(Provider)
(Sells)
(Has)
Multi-Model domain schema
Customer Provider
Product
name: string
qty: int
Actor
name: string
surname: string
Sells
price: decimal
Inherits
Edge
Legenda:
V Vertex
Makes
Order
number: int
date: datetime
Has
price: decimal
`
Vertices and Edges are Documents
{
”@rid": “12:382”,
”@class": ”Customer",
“name”: “Jill”,
“surname” : “Raggio”,
“phone” : “+39 33123212”,
“details”: {
“city”:”London",
“tags”:”millennial”
}
}
Jill
Order
M
akes
General purpose solution:
• JSON
• Schema-less
• Schema-full
• Schema-hybrid
• Nested documents
• Rich indexing and querying
• Developer friendly
Polymorphic queries
Luca
(Provider)
Jill
(Customer)SELECT * FROM Customer
SELECT * FROM Provider
SELECT * FROM Actor
Bruno
(Provider)
Bruno
(Provider)
Jill
(Customer)
Luca
(Provider)
Multi-Model complex domains schema
Band Genre
AccountMusicTaste
Location
Likes
Performs
Inherits
Edge
Legenda:
V Vertex
Plays
Multi-Model complex domains
Snow Patrol
(Band)
Luca
(Account)
Indie
(Genre)
123, 1st Street
Austin, TX
(Location)
(Performs)
April 7, 2015
9pm-11.30pm
(Likes)
Jill
(Account)
(Likes)
(Likes)
Rock
(Genre)
(Likes)
(Plays)
Multi-Model Database Quadrant
RelationshipsComplexity>
Data Complexity >
Relational
Key Value
Column
Graph Multi-Model
Document
Multi-Model Solutions
There are a few DBMSs that claim
to be Multi-Model, but they do not
have a true Graph Engine.
The “Graph” is only a layer on top
of the engine.
Under the hood they do JOINs,
which means traversal time is
affected by database size.
Meet OrientDB
The First Ever Multi-Model
Database Combining Flexibility
of Documents with
Connectedness of Graphs
With a true Graph, Document,
Key/Value and Object Oriented engine
FEATURES ORIENTDB)) MONGODB NEO4J
MYSQL)
(RDBMS)
Operational Database X X X
Graph Database X X
Document Database X X
Object-Oriented Concepts X
Schema-full, Schema-less, Schema mix X
User and Role & Record Level Security X
Record Level Locking X X X
SQL X X
ACID Transaction X X X
Relationships (Linked Documents) X X X
Custom Data Types X X X
Embedded Documents X X
Multi-Master Zero Configuration Replication X
Sharding X X
Server Side Functions X X X
Native HTTP Rest/ JSON X X
Embeddable with No Restrictions X
OrientDB features
DEMO
• Support for TinkerPop standard
for Graph DB: Gremlin language
and Blueprints API
• SQL + extensions for graphs
• JDBC driver to connect any BI tool
• HTTP/JSON support
• Drivers in Java, Node.js, Python,
PHP, .NET, Perl, C/C++ and
more
API & Standards
Availability and Integrity
• Atomic, Consistent, Isolated and Durable (ACID)
multi-statement transactions
Master
Node
Master
Node
C
C C C
CC
C
Multi-master
Replication
Scalability and Performance
• Multi-Master Replication, Sharding and Auto-
Discovery to Simplify Ops
• +200k Tps on Commodity Hardware
Master
Node
Master
Node
C
C C C
CC
C
Auto-
Discovered
Node
Some numbers
50,000
Downloads per
Month from 200+
countries.
70+
Committers
contributing to
the product
1000s
Users from SMBs
to Fortune 10
Companies.
17+
Years of Research
have been put in
the product
A Bright Future
Graph DBMS increased their popularity by 500% within the last 2 years
Document DBMS are the 3rd fastest growing category
Some of Our Customers
Get Started for Free
OrientDB Community Edition is FREE
for any purpose (Apache 2 license)
Udemy Getting Started Training is
★★★★★ and Free
http://www.orientechnologies.com/getting-started
OrientDB Enterprise is Free for
Development
Thank you.
Ask your questions on Twitter for the
Big Data Panel using #QCONBIGDATA
Luca Garulli
@lgarulli
www.orientdb.com

Contenu connexe

Tendances

Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4jNeo4j
 
Platforms for data science
Platforms for data sciencePlatforms for data science
Platforms for data scienceDeepak Singh
 
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSOverloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSSumant Tambe
 
Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12mark madsen
 
On Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay PlatformsOn Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay PlatformsTokyo University of Science
 
GraphTech Ecosystem - part 2: Graph Analytics
 GraphTech Ecosystem - part 2: Graph Analytics GraphTech Ecosystem - part 2: Graph Analytics
GraphTech Ecosystem - part 2: Graph AnalyticsLinkurious
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesNeo4j
 
Streaming analytics state of the art
Streaming analytics state of the artStreaming analytics state of the art
Streaming analytics state of the artStavros Kontopoulos
 
How To Visualize Graphs
How To Visualize GraphsHow To Visualize Graphs
How To Visualize GraphsJean Ihm
 
Multiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezMultiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezBig Data Spain
 
Virtue desk atomic-db vs relational vs everything
Virtue desk atomic-db vs relational vs everythingVirtue desk atomic-db vs relational vs everything
Virtue desk atomic-db vs relational vs everythingjfxm3671
 
Pivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in ActionPivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in ActionEMC
 
ETL big data with apache hadoop
ETL big data with apache hadoopETL big data with apache hadoop
ETL big data with apache hadoopMaulik Thaker
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereEugene Hanikblum
 
Pivotal OSS meetup - MADlib and PivotalR
Pivotal OSS meetup - MADlib and PivotalRPivotal OSS meetup - MADlib and PivotalR
Pivotal OSS meetup - MADlib and PivotalRgo-pivotal
 
Data Science with Spark
Data Science with SparkData Science with Spark
Data Science with SparkKrishna Sankar
 
GraphTech Ecosystem - part 1: Graph Databases
GraphTech Ecosystem - part 1: Graph DatabasesGraphTech Ecosystem - part 1: Graph Databases
GraphTech Ecosystem - part 1: Graph DatabasesLinkurious
 
Social Networks Analysis
Social Networks AnalysisSocial Networks Analysis
Social Networks AnalysisJoud Khattab
 

Tendances (20)

Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Platforms for data science
Platforms for data sciencePlatforms for data science
Platforms for data science
 
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSOverloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
 
Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12
 
On Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay PlatformsOn Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
On Performance Under Hotspots in Hadoop versus Bigdata Replay Platforms
 
GraphTech Ecosystem - part 2: Graph Analytics
 GraphTech Ecosystem - part 2: Graph Analytics GraphTech Ecosystem - part 2: Graph Analytics
GraphTech Ecosystem - part 2: Graph Analytics
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and Ontologies
 
Streaming analytics state of the art
Streaming analytics state of the artStreaming analytics state of the art
Streaming analytics state of the art
 
AtomiDB Business Challenges
AtomiDB Business ChallengesAtomiDB Business Challenges
AtomiDB Business Challenges
 
How To Visualize Graphs
How To Visualize GraphsHow To Visualize Graphs
How To Visualize Graphs
 
Multiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier DominguezMultiplatform Spark solution for Graph datasources by Javier Dominguez
Multiplatform Spark solution for Graph datasources by Javier Dominguez
 
Virtue desk atomic-db vs relational vs everything
Virtue desk atomic-db vs relational vs everythingVirtue desk atomic-db vs relational vs everything
Virtue desk atomic-db vs relational vs everything
 
Pivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in ActionPivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in Action
 
ETL big data with apache hadoop
ETL big data with apache hadoopETL big data with apache hadoop
ETL big data with apache hadoop
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and Where
 
Pivotal OSS meetup - MADlib and PivotalR
Pivotal OSS meetup - MADlib and PivotalRPivotal OSS meetup - MADlib and PivotalR
Pivotal OSS meetup - MADlib and PivotalR
 
Data visualization
Data visualizationData visualization
Data visualization
 
Data Science with Spark
Data Science with SparkData Science with Spark
Data Science with Spark
 
GraphTech Ecosystem - part 1: Graph Databases
GraphTech Ecosystem - part 1: Graph DatabasesGraphTech Ecosystem - part 1: Graph Databases
GraphTech Ecosystem - part 1: Graph Databases
 
Social Networks Analysis
Social Networks AnalysisSocial Networks Analysis
Social Networks Analysis
 

Similaire à How Graph Databases started the Multi Model revolution

OrientDB - the 2nd generation of (Multi-Model) NoSQL
OrientDB - the 2nd generation  of  (Multi-Model) NoSQLOrientDB - the 2nd generation  of  (Multi-Model) NoSQL
OrientDB - the 2nd generation of (Multi-Model) NoSQLLuigi Dell'Aquila
 
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...Codemotion
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015Luigi Dell'Aquila
 
How Graph Databases used in Police Department?
How Graph Databases used in Police Department?How Graph Databases used in Police Department?
How Graph Databases used in Police Department?Samet KILICTAS
 
Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?Codemotion
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph GeneratorLDBC council
 
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SFTed Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SFMLconf
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015StampedeCon
 
Workshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformWorkshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformGoDataDriven
 
GDBinSV_Meetup_DBMS_Trends_10062016
GDBinSV_Meetup_DBMS_Trends_10062016GDBinSV_Meetup_DBMS_Trends_10062016
GDBinSV_Meetup_DBMS_Trends_10062016Joshua Bae
 
Database Survival Guide: Exploratory Webcast
Database Survival Guide: Exploratory WebcastDatabase Survival Guide: Exploratory Webcast
Database Survival Guide: Exploratory WebcastEric Kavanagh
 
Graph database in sv meetup
Graph database in sv meetupGraph database in sv meetup
Graph database in sv meetupJoshua Bae
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsClusterpoint
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignAntonio Castellon
 
Graphs for Enterprise Architects
Graphs for Enterprise ArchitectsGraphs for Enterprise Architects
Graphs for Enterprise ArchitectsNeo4j
 
Chengqi zhang graph processing and mining in the era of big data
Chengqi zhang graph processing and mining in the era of big dataChengqi zhang graph processing and mining in the era of big data
Chengqi zhang graph processing and mining in the era of big datajins0618
 
Applying large scale text analytics with graph databases
Applying large scale text analytics with graph databasesApplying large scale text analytics with graph databases
Applying large scale text analytics with graph databasesData Ninja API
 

Similaire à How Graph Databases started the Multi Model revolution (20)

OrientDB - the 2nd generation of (Multi-Model) NoSQL
OrientDB - the 2nd generation  of  (Multi-Model) NoSQLOrientDB - the 2nd generation  of  (Multi-Model) NoSQL
OrientDB - the 2nd generation of (Multi-Model) NoSQL
 
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
 
How Graph Databases used in Police Department?
How Graph Databases used in Police Department?How Graph Databases used in Police Department?
How Graph Databases used in Police Department?
 
Addressing dm-cloud
Addressing dm-cloudAddressing dm-cloud
Addressing dm-cloud
 
Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?Dove sono i tuoi vertici e di cosa stanno parlando?
Dove sono i tuoi vertici e di cosa stanno parlando?
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
 
Big data
Big dataBig data
Big data
 
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SFTed Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
Ted Willke, Senior Principal Engineer & GM, Datacenter Group, Intel at MLconf SF
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015
 
Workshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformWorkshop on Google Cloud Data Platform
Workshop on Google Cloud Data Platform
 
GDBinSV_Meetup_DBMS_Trends_10062016
GDBinSV_Meetup_DBMS_Trends_10062016GDBinSV_Meetup_DBMS_Trends_10062016
GDBinSV_Meetup_DBMS_Trends_10062016
 
Database Survival Guide: Exploratory Webcast
Database Survival Guide: Exploratory WebcastDatabase Survival Guide: Exploratory Webcast
Database Survival Guide: Exploratory Webcast
 
Graph database in sv meetup
Graph database in sv meetupGraph database in sv meetup
Graph database in sv meetup
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutions
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis Design
 
Graphs for Enterprise Architects
Graphs for Enterprise ArchitectsGraphs for Enterprise Architects
Graphs for Enterprise Architects
 
Chengqi zhang graph processing and mining in the era of big data
Chengqi zhang graph processing and mining in the era of big dataChengqi zhang graph processing and mining in the era of big data
Chengqi zhang graph processing and mining in the era of big data
 
Applying large scale text analytics with graph databases
Applying large scale text analytics with graph databasesApplying large scale text analytics with graph databases
Applying large scale text analytics with graph databases
 

Plus de Luca Garulli

Scale Out Your Graph Across Servers and Clouds with OrientDB
Scale Out Your Graph Across Servers and Clouds  with OrientDBScale Out Your Graph Across Servers and Clouds  with OrientDB
Scale Out Your Graph Across Servers and Clouds with OrientDBLuca Garulli
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesLuca Garulli
 
OrientDB and Hazelcast
OrientDB and HazelcastOrientDB and Hazelcast
OrientDB and HazelcastLuca Garulli
 
Why relationships are cool but join sucks - Big Data & Graphs in Rome
Why relationships are cool but join sucks - Big Data & Graphs in RomeWhy relationships are cool but join sucks - Big Data & Graphs in Rome
Why relationships are cool but join sucks - Big Data & Graphs in RomeLuca Garulli
 
Why relationships are cool but "join" sucks
Why relationships are cool but "join" sucksWhy relationships are cool but "join" sucks
Why relationships are cool but "join" sucksLuca Garulli
 
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...Luca Garulli
 
Switching from Relational 2 Graph - CloudConf.it
Switching from Relational 2 Graph - CloudConf.itSwitching from Relational 2 Graph - CloudConf.it
Switching from Relational 2 Graph - CloudConf.itLuca Garulli
 
Switching from Relational to the Graph model v1.3
Switching from Relational to the Graph model v1.3Switching from Relational to the Graph model v1.3
Switching from Relational to the Graph model v1.3Luca Garulli
 
Switching from relational to the graph model
Switching from relational to the graph modelSwitching from relational to the graph model
Switching from relational to the graph modelLuca Garulli
 
Internet Apps powered by NoSQL and JavaScript
Internet Apps powered by NoSQL and JavaScriptInternet Apps powered by NoSQL and JavaScript
Internet Apps powered by NoSQL and JavaScriptLuca Garulli
 
Switching from the Relational to the Graph model
Switching from the Relational to the Graph modelSwitching from the Relational to the Graph model
Switching from the Relational to the Graph modelLuca Garulli
 
OrientDB document or graph? Select the right model (old presentation)
OrientDB document or graph? Select the right model (old presentation)OrientDB document or graph? Select the right model (old presentation)
OrientDB document or graph? Select the right model (old presentation)Luca Garulli
 
Design your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDBDesign your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDBLuca Garulli
 
No sql matters_2012_keynote
No sql matters_2012_keynoteNo sql matters_2012_keynote
No sql matters_2012_keynoteLuca Garulli
 
OrientDB distributed architecture 1.1
OrientDB distributed architecture 1.1OrientDB distributed architecture 1.1
OrientDB distributed architecture 1.1Luca Garulli
 
OrientDB for real & Web App development
OrientDB for real & Web App developmentOrientDB for real & Web App development
OrientDB for real & Web App developmentLuca Garulli
 
OrientDB the database for the web 1.1
OrientDB the database for the web 1.1OrientDB the database for the web 1.1
OrientDB the database for the web 1.1Luca Garulli
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and conceptsLuca Garulli
 
OrientDB introduction - NoSQL
OrientDB introduction - NoSQLOrientDB introduction - NoSQL
OrientDB introduction - NoSQLLuca Garulli
 
RomaFramework Tutorial Basics
RomaFramework Tutorial BasicsRomaFramework Tutorial Basics
RomaFramework Tutorial BasicsLuca Garulli
 

Plus de Luca Garulli (20)

Scale Out Your Graph Across Servers and Clouds with OrientDB
Scale Out Your Graph Across Servers and Clouds  with OrientDBScale Out Your Graph Across Servers and Clouds  with OrientDB
Scale Out Your Graph Across Servers and Clouds with OrientDB
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model Databases
 
OrientDB and Hazelcast
OrientDB and HazelcastOrientDB and Hazelcast
OrientDB and Hazelcast
 
Why relationships are cool but join sucks - Big Data & Graphs in Rome
Why relationships are cool but join sucks - Big Data & Graphs in RomeWhy relationships are cool but join sucks - Big Data & Graphs in Rome
Why relationships are cool but join sucks - Big Data & Graphs in Rome
 
Why relationships are cool but "join" sucks
Why relationships are cool but "join" sucksWhy relationships are cool but "join" sucks
Why relationships are cool but "join" sucks
 
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
 
Switching from Relational 2 Graph - CloudConf.it
Switching from Relational 2 Graph - CloudConf.itSwitching from Relational 2 Graph - CloudConf.it
Switching from Relational 2 Graph - CloudConf.it
 
Switching from Relational to the Graph model v1.3
Switching from Relational to the Graph model v1.3Switching from Relational to the Graph model v1.3
Switching from Relational to the Graph model v1.3
 
Switching from relational to the graph model
Switching from relational to the graph modelSwitching from relational to the graph model
Switching from relational to the graph model
 
Internet Apps powered by NoSQL and JavaScript
Internet Apps powered by NoSQL and JavaScriptInternet Apps powered by NoSQL and JavaScript
Internet Apps powered by NoSQL and JavaScript
 
Switching from the Relational to the Graph model
Switching from the Relational to the Graph modelSwitching from the Relational to the Graph model
Switching from the Relational to the Graph model
 
OrientDB document or graph? Select the right model (old presentation)
OrientDB document or graph? Select the right model (old presentation)OrientDB document or graph? Select the right model (old presentation)
OrientDB document or graph? Select the right model (old presentation)
 
Design your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDBDesign your application using Persistent Graphs and OrientDB
Design your application using Persistent Graphs and OrientDB
 
No sql matters_2012_keynote
No sql matters_2012_keynoteNo sql matters_2012_keynote
No sql matters_2012_keynote
 
OrientDB distributed architecture 1.1
OrientDB distributed architecture 1.1OrientDB distributed architecture 1.1
OrientDB distributed architecture 1.1
 
OrientDB for real & Web App development
OrientDB for real & Web App developmentOrientDB for real & Web App development
OrientDB for real & Web App development
 
OrientDB the database for the web 1.1
OrientDB the database for the web 1.1OrientDB the database for the web 1.1
OrientDB the database for the web 1.1
 
Roma introduction and concepts
Roma introduction and conceptsRoma introduction and concepts
Roma introduction and concepts
 
OrientDB introduction - NoSQL
OrientDB introduction - NoSQLOrientDB introduction - NoSQL
OrientDB introduction - NoSQL
 
RomaFramework Tutorial Basics
RomaFramework Tutorial BasicsRomaFramework Tutorial Basics
RomaFramework Tutorial Basics
 

Dernier

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Dernier (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

How Graph Databases started the Multi Model revolution

  • 1. How graph databases started the multi-model revolution Luca Garulli Author and CEO @OrientDB QCon Sao Paulo - March 26, 2015
  • 2. “90% of the data 
 in the world today 
 has been created 
 in the last two years alone.” - IBM Welcome to Big Data
  • 3. Just Data Order #134 (Order) Luca (Provider) Commodore Amiga 1200 (Product) Jill (Customer) Monitor 40” (Product) Mouse (Product) Bruno (Provider)
  • 4. Just Data Order #134 (Order) Luca (Provider) Commodore Amiga 1200 (Product) Jill (Customer) Monitor 40” (Product) Mouse (Product) Bruno (Provider) Data by itself has little value, it’s the relationship between data that gives it incredible value
  • 5. Relationships give data “meaning” Order #134 (Order) Luca (Provider) Commodore Amiga 1200 (Product) (Sells) Jill (Customer) (Has) (Makes) Monitor 40” (Product) (Sells) (Has) Mouse (Product) Bruno (Provider) (Sells) (Has)
  • 6. Top NoSQL categories Key/Value Databases Document Databases Graph Databases Column Databases
  • 7. Top NoSQL categories Key/Value Databases Document Databases Graph Databases Column Databases
  • 8. Why do most NoSQL products avoid managing relationships?
  • 9. Joins is the Evil ID Name 10 John 11 John 24 Mike 28 Mike ID Address 10 24 10 33 32 44 ID Location 24 Milan 33 London 18 Paris 18 Madrid 44 Moscow Customer CustomerAddress Address Is this familiar?
  • 10. Why  is  the  join   so  slow?
  • 11. A-­‐Z A-­‐L M-­‐Z Imagine  an     Address  Book   where  we  want  to  find   Luca’s  phone  number Index Lookup: how does it work?
  • 12. A-­‐Z A-­‐L M-­‐Z A-­‐L A-­‐D E-­‐L M-­‐Z M-­‐R S-­‐Z Index  algorithms  are  all   similar  and  based  on   balanced  trees Index Lookup: how does it work?
  • 13. A-­‐Z A-­‐L M-­‐Z A-­‐L A-­‐D E-­‐L M-­‐Z M-­‐R S-­‐Z A-­‐D A-­‐B C-­‐D E-­‐L E-­‐G H-­‐L Index Lookup: how does it work?
  • 14. A-­‐Z A-­‐L M-­‐Z A-­‐L A-­‐D E-­‐L M-­‐Z M-­‐R S-­‐Z A-­‐D A-­‐B C-­‐D E-­‐L E-­‐G H-­‐L E-­‐G E-­‐F G H-­‐L H-­‐J K-­‐L Index Lookup: how does it work?
  • 15. Index Lookup: how does it work? A-­‐Z A-­‐L M-­‐Z A-­‐L A-­‐D E-­‐L M-­‐Z M-­‐R S-­‐Z A-­‐D A-­‐B C-­‐D E-­‐L E-­‐G H-­‐L E-­‐G E-­‐F G H-­‐L H-­‐J K-­‐L Luca Found!     This  lookup  took  5  steps.   With  millions  of  indexed   records,  the  tree  depth   could  be  1000’s  of  levels!
  • 16. Joins Kill Performance ID Name 10 John 11 John 24 Mike 28 Mike ID Address 10 24 10 33 32 44 ID Location 24 Milan 33 London 18 Paris 18 Madrid 44 Moscow Customer CustomerAddress Address Joins are executed every time you cross relationships Querying million of records joining 3-4 tables could generate billions of combinations
  • 17. This is why the database query performance suffers as the database increases in size O(Log N)
  • 19. In a world that’s becoming more connected, we need a better way to store data and manage relationships Read: Data is important, but relationships are even more fundamental today
  • 20. “A graph database is any storage system that provides index-free adjacency” - Marko Rodriguez (author of TinkerPop Blueprints)
  • 21. Every developer knows the Relational Model, but who knows the Graph one?
  • 22. Back to school: Graph Theory crash course
  • 23. Basic Graph Luca Sao  Paulo Visited
  • 24. Vertices  and  Edges  can   have  properties Vertices  are  directed *  https://github.com/tinkerpop/blueprints/wiki/Property-­‐Graph-­‐Model Property Graph Model* Sao  Paulo   people:  12,000,000 Luca   company:   OrientTechnologies Vertices  and  Edges  can   have  properties Vertices  and  Edges  can   have  properties Visited   on:  2015
  • 25. Luca Sao  Paulo Visited   on:  2015 An  Edge  connects  only  2  vertices     Use  multiple  edges  to  represent  1-­‐N   and  N-­‐M  relationships Worked   on:  2015 1-N and N-M Relationships
  • 26. Congrats! This is your diploma in «Graph Theory»
  • 27. The Graph theory is so simple, yet so powerful
  • 28. How does a true* Graph Database manage relationships? *a “Graph” layer on top of a DBMS doesn’t qualify as a true GraphDB
  • 29. Luca Sao  Paulo Visited   on:  2015 #13:55 #15:99 Each element in the Graph has own immutable Record ID #22:11 (Edge) (Vertex) (Vertex) Each element in the Graph has own immutable Record ID Each element in the Graph has own immutable Record ID
  • 30. Luca Sao  Paulo Visited   on:  2015 #13:55 #15:99 Connections use persistent pointers out = #22:11 in = #22:11 #22:11 (Edge) (Vertex) (Vertex) out = #13:55 in = #15:99
  • 31. Luca Sao  Paulo Visited   on:  2015 #13:55 #15:99out = #22:11 in = #22:11 #22:11 (Edge) (Vertex) (Vertex) out = #13:55 in = #15:99
  • 32. Luca Sao  Paulo Visited   on:  2015 #13:55 #15:99out = #22:11 in = #22:11 #22:11 (Edge) (Vertex) (Vertex) out = #13:55 in = #15:99
  • 33. A Graph Database creates the relationship just once (when the edge is created) VS RDBMS computes the relationship every time you query a database
  • 34. When you move from a RDBMS to a Graph Database you jump from a O(log N) speed to a near O(1) With a Graph Database, the traversing time is not affected by database size! This is huge in the BigData age
  • 35. Graph Databases Easily Manage Complex Relationships No costs to traverse relationships: • Recommendation engines • Social Applications • Spatial Apps • Master Data Management • Information Clustering John Thriller Comedy Pulp Fiction Mr Bean Theater B Theater A Theater C NYC San Josè Lives in Likes
  • 36. GraphDB Database Quadrant RelationshipsComplexity> Data Complexity > Relational Key Value Column Graph Document
  • 37. GraphDB Database Quadrant RelationshipsComplexity> Data Complexity > Relational Key Value Column Graph Document These were 1st generation NoSQL products, where each tool was only good at a few use cases
  • 38.
  • 40. 1st Generation NoSQL: Fact In > 90% of use cases, NoSQL products are used as second DBMS
  • 41. Oracle (RDBMS) Redis or Memcache (Key/Value) MongoDB (DocDB) Neo4j (GraphDB) Application ETL 1st Generation NoSQL: Problems - No standard between NoSQL products - Multiple vendors = multiple skills - ETL + synchronization code is costly to write and maintain - Performance and Reliability is hard to predict
  • 43. What’s Multi-Model DBMS? GraphDocument Object Key/Value Multi Model represents the intersection of multiple models in just one product
  • 44. What’s Multi-Model DBMS? GraphDocument Object Key/Value Multi Model represents the intersection of multiple models in just one product - Just one product to learn and maintain - Just one vendor relationship to manage - No ETL, no synchronization required - Performance and Reliability is easy to test from the beginning
  • 45. Relationships give data “meaning” Order #134 (Order) Luca (Provider) Commodore Amiga 1200 (Product) (Sells) Jill (Customer) (Has) (Makes) Monitor 40” (Product) (Sells) (Has) 3 Wheel Mouse (Product) Bruno (Provider) (Sells) (Has)
  • 46. Multi-Model domain schema Customer Provider Product name: string qty: int Actor name: string surname: string Sells price: decimal Inherits Edge Legenda: V Vertex Makes Order number: int date: datetime Has price: decimal
  • 47. ` Vertices and Edges are Documents { ”@rid": “12:382”, ”@class": ”Customer", “name”: “Jill”, “surname” : “Raggio”, “phone” : “+39 33123212”, “details”: { “city”:”London", “tags”:”millennial” } } Jill Order M akes General purpose solution: • JSON • Schema-less • Schema-full • Schema-hybrid • Nested documents • Rich indexing and querying • Developer friendly
  • 48. Polymorphic queries Luca (Provider) Jill (Customer)SELECT * FROM Customer SELECT * FROM Provider SELECT * FROM Actor Bruno (Provider) Bruno (Provider) Jill (Customer) Luca (Provider)
  • 49. Multi-Model complex domains schema Band Genre AccountMusicTaste Location Likes Performs Inherits Edge Legenda: V Vertex Plays
  • 50. Multi-Model complex domains Snow Patrol (Band) Luca (Account) Indie (Genre) 123, 1st Street Austin, TX (Location) (Performs) April 7, 2015 9pm-11.30pm (Likes) Jill (Account) (Likes) (Likes) Rock (Genre) (Likes) (Plays)
  • 51. Multi-Model Database Quadrant RelationshipsComplexity> Data Complexity > Relational Key Value Column Graph Multi-Model Document
  • 53. There are a few DBMSs that claim to be Multi-Model, but they do not have a true Graph Engine. The “Graph” is only a layer on top of the engine. Under the hood they do JOINs, which means traversal time is affected by database size.
  • 54. Meet OrientDB The First Ever Multi-Model Database Combining Flexibility of Documents with Connectedness of Graphs
  • 55. With a true Graph, Document, Key/Value and Object Oriented engine
  • 56. FEATURES ORIENTDB)) MONGODB NEO4J MYSQL) (RDBMS) Operational Database X X X Graph Database X X Document Database X X Object-Oriented Concepts X Schema-full, Schema-less, Schema mix X User and Role & Record Level Security X Record Level Locking X X X SQL X X ACID Transaction X X X Relationships (Linked Documents) X X X Custom Data Types X X X Embedded Documents X X Multi-Master Zero Configuration Replication X Sharding X X Server Side Functions X X X Native HTTP Rest/ JSON X X Embeddable with No Restrictions X OrientDB features
  • 57. DEMO
  • 58. • Support for TinkerPop standard for Graph DB: Gremlin language and Blueprints API • SQL + extensions for graphs • JDBC driver to connect any BI tool • HTTP/JSON support • Drivers in Java, Node.js, Python, PHP, .NET, Perl, C/C++ and more API & Standards
  • 59. Availability and Integrity • Atomic, Consistent, Isolated and Durable (ACID) multi-statement transactions Master Node Master Node C C C C CC C Multi-master Replication
  • 60. Scalability and Performance • Multi-Master Replication, Sharding and Auto- Discovery to Simplify Ops • +200k Tps on Commodity Hardware Master Node Master Node C C C C CC C Auto- Discovered Node
  • 61. Some numbers 50,000 Downloads per Month from 200+ countries. 70+ Committers contributing to the product 1000s Users from SMBs to Fortune 10 Companies. 17+ Years of Research have been put in the product
  • 62. A Bright Future Graph DBMS increased their popularity by 500% within the last 2 years Document DBMS are the 3rd fastest growing category
  • 63. Some of Our Customers
  • 64. Get Started for Free OrientDB Community Edition is FREE for any purpose (Apache 2 license) Udemy Getting Started Training is ★★★★★ and Free http://www.orientechnologies.com/getting-started OrientDB Enterprise is Free for Development
  • 65. Thank you. Ask your questions on Twitter for the Big Data Panel using #QCONBIGDATA Luca Garulli @lgarulli www.orientdb.com