SlideShare a Scribd company logo
DevDay Napoli
And why GraphDB are the
starting point of this revolution
- the 2nd generation
of
(Multi-Model) NoSQL
And why GraphDB are the
starting point of this revolution
DevDay Napoli
29/10 ore 16.00 - Bootstrap 4 & SASS
(Js&Node Meetup Salerno)
30/11 ore 18.45 - OAuthorize yourself 2.0 - dalla
crittografia ai protocolli web (DevDay Napoli)
Prossimi Eventi
#OrientDB - @ldellaquila
DevDayNapoli
Luigi Dell’Aquila
Core Developer and Director of Consulting
OrientDB LTD
Twitter: @ldellaquila
http://www.orientdb.com
#OrientDB - @ldellaquila
DevDayNapoli
“90% of the data 

in the world today 

has been created 

in the last two years alone.”
- IBM
#OrientDB - @ldellaquila
DevDayNapoli
Order #134
(Order) John
(Provider)
Commodore
Amiga 1200
(Product)
Frank
(Customer)
Monitor 40”
(Product)
Mouse
(Product)
Bruno
(Provider)
#OrientDB - @ldellaquila
DevDayNapoli
Order #134
(Order) John
(Provider)
Commodore
Amiga 1200
(Product)
Frank
(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
#OrientDB - @ldellaquila
DevDayNapoli
Order #134
(Order) John
(Provider)
Commodore
Amiga 1200
(Product)
(Sells)
Frank
(Customer)
(Has)
(Makes)
Monitor 40”
(Product)
(Sells)
(Has)
Mouse
(Product)
Bruno
(Provider)
(Sells)
(Has)
#OrientDB - @ldellaquila
DevDayNapoli
Key/Value Databases
Document Databases
Graph Databases
Column Databases
#OrientDB - @ldellaquila
DevDayNapoli
Key/Value Databases
Document Databases Graph Databases
Column Databases
#OrientDB - @ldellaquila
DevDayNapoli
Why do most NoSQL products
avoid
managing relationships?
#OrientDB - @ldellaquila
DevDayNapoli
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?
#OrientDB - @ldellaquila
DevDayNapoli
What’s	wrong	
with	JOIN?
#OrientDB - @ldellaquila
DevDayNapoli
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 millions of records
joining 3-4 tables could
generate billions of
combinations
#OrientDB - @ldellaquila
DevDayNapoli
This is why the database
query performance
suffers as the database
increases in size
O(Log N)
#OrientDB - @ldellaquila
DevDayNapoli
PERFORMANCE
DATABASE SIZE
RDBMS performance on traversal
#OrientDB - @ldellaquila
DevDayNapoli
Solution: Graph Database!
#OrientDB - @ldellaquila
DevDayNapoli
Back to school:
Graph Theory crash course
#OrientDB - @ldellaquila
DevDayNapoli
Basic Graph
Luigi Rome
Visited
#OrientDB - @ldellaquila
DevDayNapoli
Vertices	and	Edges	can	
have	properties
Vertices	are	directed
*	https://github.com/tinkerpop/blueprints/wiki/Property-Graph-Model
Property Graph Model*
Rome	
country:	Italy
Luigi	
company:	OrientDB
Vertices	and	Edges	can	
have	properties
Vertices	and	Edges	can	
have	properties
Visited	
year:	2016
#OrientDB - @ldellaquila
DevDayNapoli
Luigi Rome
Visited	
year:	2016
An	Edge	connects	only	2	vertices		
Use	multiple	edges	to	represent	1-N	and	
N-M	relationships
Worked	
year:	2016
1-N and N-M Relationships
#OrientDB - @ldellaquila
DevDayNapoli
Congrats! This is your diploma in
«Graph Theory»
#OrientDB - @ldellaquila
DevDayNapoli
How does a true*
Graph Database
manage relationships?
*a “Graph” layer on top of a DBMS doesn’t qualify as a true GraphDB
#OrientDB - @ldellaquila
DevDayNapoli
Luigi Rome
Visited	
year:	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
#OrientDB - @ldellaquila
DevDayNapoli
Connections use
persistent pointers
Luigi Rome
Visited	
on:	2015
#13:55
#15:99out = #22:11
in = #22:11
#22:11
(Edge)
(Vertex)
(Vertex)
out = #13:55
in = #15:99
#OrientDB - @ldellaquila
DevDayNapoli
Luigi Rome
Visited	
on:	2015
#13:55
#15:99out = #22:11
in = #22:11
#22:11
(Edge)
(Vertex)
(Vertex)
out = #13:55
in = #15:99
#OrientDB - @ldellaquila
DevDayNapoli
Luigi Rome
Visited	
on:	2015
#13:55
#15:99out = #22:11
in = #22:11
#22:11
(Edge)
(Vertex)
(Vertex)
out = #13:55
in = #15:99
#OrientDB - @ldellaquila
DevDayNapoli
A Graph Database creates the
relationship just once
(when the edge is created)
VS
RDBMS computes the
relationship every time
you query a database
#OrientDB - @ldellaquila
DevDayNapoli
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
#OrientDB - @ldellaquila
DevDayNapoli
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
#OrientDB - @ldellaquila
DevDayNapoli
So the Graph Model
Is the only solution to efficiently
manage relationships
But what about data complexity?
And data consistency?
And scaling?
#OrientDB - @ldellaquila
DevDayNapoli
RelationshipsComplexity>
Data Complexity >
Relational
Key Value
Column
Graph
Document
First Generation NoSQL
#OrientDB - @ldellaquila
DevDayNapoli
RDBMS
Key/Value
Store
Document
Database
Graph
Database
Application
ETL
Primary
DB
#OrientDB - @ldellaquila
DevDayNapoli
RDBMS
Key/Value
Store
Document
Database
Graph
Database
Application
ETL
- 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
#OrientDB - @ldellaquila
DevDayNapoli
2nd Generation NoSQL
is
Multi-model
#OrientDB - @ldellaquila
DevDayNapoli
GraphDocument
Object
Key/Value
Multi Model represents the
intersection
of multiple models in just one
product
What’s Multi-Model DBMS?
#OrientDB - @ldellaquila
DevDayNapoli
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
What’s Multi-Model DBMS?
#OrientDB - @ldellaquila
DevDayNapoli
`
{
”@rid": “12:382”,
”@class": ”Customer",
“name”: “Frank”,
“surname” : “Raggio”,
“phone” : “+39 33123212”,
“details”: {
“city”:”London",
“tags”:”millennial”
}
}
Frank
Order
M
akes
General purpose solution:
• JSON
• Schema-less
• Schema-full
• Schema-hybrid
• Nested documents
• Rich indexing and querying
• Developer friendly
#OrientDB - @ldellaquila
DevDayNapoli
Second Generation NoSQL
RelationshipComplexity>
Data Complexity >
Relational
Key Value
Column
Graph
Document
Multi-Model
#OrientDB - @ldellaquila
DevDayNapoli
With a true Graph, Document,
Key/Value and Object Oriented engine
#OrientDB - @ldellaquila
DevDayNapoli
•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
#OrientDB - @ldellaquila
DevDayNapoli
• Basic HTTP authentication (+HTTPS/SSL)
• User/Role authentication system. One User can have multiple
Roles
• Privileges are managed in Roles
• Roles can inherit from other Roles
• Record-level security: every record can contain the user/
role can create/read/update/delete the record
• Auditing available in Enterprise Edition
Security
#OrientDB - @ldellaquila
DevDayNapoli
• HTTPS/SSL
• Starting from OrientDB v2.2:
• Support for Kerberos
• Encryption at REST using AES and DES of the entire
database or portions
• PBKDF2 HASH algorithm with a 24-bit length Salt per
user for a configurable number of iterations.
Encryption
#OrientDB - @ldellaquila
DevDayNapoli
• Full Backup and Restore
• Delta Backup (v2.2) Enterprise Edition and Restore is
available
• Studio web tool
• Command line Console
Administration
#OrientDB - @ldellaquila
DevDayNapoli
• Import/Export in JSON
• Import from SQL script
• OrientDB ETL tool (http://orientdb.com/docs/last/ETL-Introduction.html)
• Teleporter (v2.2)
Data Extraction and Loading
#OrientDB - @ldellaquila
DevDayNapoli
• Multi-Master architecture
• Tunable consistency through the usage of a quorum, per
database or single class (table)
• Synchronous and Asynchronous replication
• Zero config: if multicast is enabled the server is attached to
the cluster
Scale out and HA
#OrientDB - @ldellaquila
DevDayNapoli
Master Node Master Node
C
C C C
CC
C
Multi-master
Replication
Atomic, Consistent, Isolated and Durable (ACID) multi-statement transactions
#OrientDB - @ldellaquila
DevDayNapoli
Master Node Master Node
C
C C C
CC
C
Auto-
Discovered
Node
#OrientDB - @ldellaquila
DevDayNapoli
Architectures
•  Single, stand-alone node
•  Embedded (in-process) DB
•  Multi-Master Replica
•  Mixed
DB
Application
Application DB
Application
DBApplication
Application
DBDB
(replica N)
DBApplication
Application
DB
DB
ApplicationDB
(replica N)
#OrientDB - @ldellaquila
DevDayNapoli
FEATURES ORIENTDB)) MONGODB NEO4J
MYSQ
(RDBM
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 - @ldellaquila
DevDayNapoli
Udemy Getting Started Training is
and Free
http://www.orientechnologies.com/getting-started
OrientDB Enterprise is Free for
Development
OrientDB Community is FREE for any
purpose (APACHE 2 license)
#OrientDB - @ldellaquila
DevDayNapoli
DEMO
#OrientDB - @ldellaquila
DevDayNapoli
Thank you!
Luigi Dell’Aquila
@ldellaquila
http://www.orientdb.com
Q/A

More Related Content

PDF
OrientDB - Voxxed Days Berlin 2016
PDF
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
PDF
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
PPTX
Satisfaction hadoop meetup presentation
PDF
The Decoupled CMS in Financial Services
PPTX
Unity: introduzione storica ed analisi di un microprogetto
PPTX
A chatbot from scratch
PDF
Janus: an open source and general purpose WebRTC (gateway) server
OrientDB - Voxxed Days Berlin 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
Satisfaction hadoop meetup presentation
The Decoupled CMS in Financial Services
Unity: introduzione storica ed analisi di un microprogetto
A chatbot from scratch
Janus: an open source and general purpose WebRTC (gateway) server

Similar to OrientDB - Perché le tue applicazioni meritano un DB Multi-Model (20)

PDF
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
PDF
OrientDB - Voxxed Days Berlin 2016
PDF
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
PPTX
OrientDB - the 2nd generation of (Multi-Model) NoSQL
PDF
How Graph Databases started the Multi Model revolution
PDF
OrientDB: Unlock the Value of Document Data Relationships
PDF
Dove sono i tuoi vertici e di cosa stanno parlando?
PDF
OrientDB & Node.js Overview - JS.Everywhere() KW
PPTX
Where are yours vertexes and what are they talking about?
PDF
OrientDB - The 2nd generation of (multi-model) NoSQL
PPTX
Intoduction to OrientDB
PPTX
OrientDB: a Document-Graph Database ready for the Cloud - Dell'Aquila
PPTX
OrientDB Codemotion 2014
PDF
Change RelationalDB to GraphDB with OrientDB
PPT
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
PPTX
Graph Databases & OrientDB
PDF
Applying large scale text analytics with graph databases
PDF
01 nosql and multi model database
PDF
OrientDB
PDF
Scalable database, Scalable language @ JDC 2013
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - Voxxed Days Berlin 2016
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
OrientDB - the 2nd generation of (Multi-Model) NoSQL
How Graph Databases started the Multi Model revolution
OrientDB: Unlock the Value of Document Data Relationships
Dove sono i tuoi vertici e di cosa stanno parlando?
OrientDB & Node.js Overview - JS.Everywhere() KW
Where are yours vertexes and what are they talking about?
OrientDB - The 2nd generation of (multi-model) NoSQL
Intoduction to OrientDB
OrientDB: a Document-Graph Database ready for the Cloud - Dell'Aquila
OrientDB Codemotion 2014
Change RelationalDB to GraphDB with OrientDB
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
Graph Databases & OrientDB
Applying large scale text analytics with graph databases
01 nosql and multi model database
OrientDB
Scalable database, Scalable language @ JDC 2013
Ad

More from DevDay (6)

PDF
IoT101 - DevDay Caserta
PDF
BitGold. L'estinzione dei dinosauri.
PDF
DevDay Napoli - Scala - Dalla Svizzera con furore
PDF
Kotlin: foss' a vota bona (could be the right time)
PPTX
OAuthorize yourself 2.0
PDF
React js + ES6
IoT101 - DevDay Caserta
BitGold. L'estinzione dei dinosauri.
DevDay Napoli - Scala - Dalla Svizzera con furore
Kotlin: foss' a vota bona (could be the right time)
OAuthorize yourself 2.0
React js + ES6
Ad

Recently uploaded (20)

PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administraation Chapter 3
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
AI in Product Development-omnex systems
PDF
Nekopoi APK 2025 free lastest update
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Introduction to Artificial Intelligence
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms I-SECS-1021-03
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Reimagine Home Health with the Power of Agentic AI​
How Creative Agencies Leverage Project Management Software.pdf
Odoo Companies in India – Driving Business Transformation.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administraation Chapter 3
L1 - Introduction to python Backend.pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Which alternative to Crystal Reports is best for small or large businesses.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
AI in Product Development-omnex systems
Nekopoi APK 2025 free lastest update
VVF-Customer-Presentation2025-Ver1.9.pptx
Understanding Forklifts - TECH EHS Solution
Introduction to Artificial Intelligence
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms I-SECS-1021-03

OrientDB - Perché le tue applicazioni meritano un DB Multi-Model