SlideShare a Scribd company logo
Abdelmawla Mohamed (Abdo)
Senior Developer
2nd generation of Multi-Model NoSQL
Page
Relational database
/ Copyright ©2014 by Readify Limited2
› Data is presented to the user in the form of rows
and columns (a relation)
› Data can be manipulated through relational
operators in a tabular form
Page
Over Time
/ Copyright ©2014 by Readify Limited3
› Data start grown in size
› Data become heterogonous
› Structured, semi-structured, unstructured
Page
Big Data
/ Copyright ©2014 by Readify Limited4
Page
Relational database low
/ Copyright ©2014 by Readify Limited5
If the only tool you have is a relational database,
everything looks like a table.
Page
One tool doesn’t fit all
› Scalability issues
› Scale out
› Index intensive issues
› Join data
/ Copyright ©2014 by Readify Limited6
Page
Issues with joins
› the relationships are computed every time a
query is performed
› time complexity grows with data: O(log n)
› heavy runtime cost with large datasets
› Index lookup does not help, it could speeds up
searches but slows down inserts, updates,
deletes. Imagine on billions of records.
/ Copyright ©2014 by Readify Limited7
Page
NoSQL movement
/ Copyright ©2014 by Readify Limited8
› Not only SQL
› Simplicity of design (through different data
models)
› Being non-relational
› Simpler horizontal scaling
› Distributed
Page
NoSQL Models
› Document
› MongoDB, CouchDB, ….
› Key-value
› Cassandra, Redis, …
› Column
› Hbase, Cassandra, ..
› Graph
› Neo4j, ..
/ Copyright ©2014 by Readify Limited9
Page
But, all of them are one model
/ Copyright ©2014 by Readify Limited10
Page
NoSQL one model limitations
› Document model: no relationships, no schema
validation
› Graph model: no complex data, no schema
› key-value model: faster, but-key based access
only
› no transactions
/ Copyright ©2014 by Readify Limited11
Page
So What ?
/ Copyright ©2014 by Readify Limited12
Page
Multi-model database
/ Copyright ©2014 by Readify Limited13
Key-value
Graph Object-oriented
Document
Page / Copyright ©2014 by Readify Limited14
Page
Why OrientDB
/ Copyright ©2014 by Readify Limited15
› Native document store (schema-free, complex properties)
› Native graph store (index-free adjacent, fast relationships
traversal)
› Object oriented concepts (classes, inheritance, polymorphism)
› ACID Transactions (no lock applied but at commit time, the
MVCC applied)
› Rest / JSON interface
› Distributed (multi-master replication / sharding)
› SQL (extended)
Page
OrientDB data model
/ Copyright ©2014 by Readify Limited16
Page
Graph
/ Copyright ©2014 by Readify Limited17
G = (V, E)
Graph Vertices Edges
Graph
Page
Graph
/ Copyright ©2014 by Readify Limited18
drives
name: Abdo
Vertices can
have
properties
Vertices are
directed
AudiAbdo
license: A134
model: Q7
doors: 5Edges can
have
properties
Page
Abdo Lyon
An Edge connects only 2 vertices
Use multiple edges to represent 1-N
and N-M relationships
1-N and N-M Relationships
Graph
Page
Basic Concepts
› Class
› Used to represent type of data model
› Cluster
› Stores group of records within a class
/ Copyright ©2014 by Readify Limited20
Class Car
Cluster
USA_Car
Cluster
Germany_Car
Page
Vertices
› Record Identifier (RID)
› Each vertex has a unique self-assigned
identifier (RID)
› Format: #:<cluster-id>:<cluster-position>
› List of properties
› Edge’s RID (in & out)
/ Copyright ©2014 by Readify Limited21
Page
Edges
› Record identifier (RID)
› Each record has it’s own self-assigned unique
ID
› Composed of 2 parts
#:<cluster-id>:<cluster-position>
› in (RID of the incoming vertex)
› out (RID of the outgoing vertex)
/ Copyright ©2014 by Readify Limited22
Page
Relationships
/ Copyright ©2014 by Readify Limited23
› Doesn't make use of JOINS like RDBMS
› Physical links O(1)
› Relationship managed by storing the edge’s RID
in both vertices as “out” and “in”
› For 1-to-n relationship collections of rid are
used
Page
Relationships
/ Copyright ©2014 by Readify Limited24
drives
out: [#14:10]
name: Abdo
@class: Driver
#14:10
#13:20
out: [#13:20]
in: [#15:20]
license: A134
@class: Drives
#15:20
in: [#14:10]
model: Q7
doors: 5
name: BMW
@class: Car
Page
Demo
/ Copyright ©2014 by Readify Limited25
Page
API Interfaces
/ Copyright ©2014 by Readify Limited26
• 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
Page
Getting Started for Free
/ Copyright ©2014 by Readify Limited27
OrientDB Community Edition is FREE for
any purpose (Apache 2 license)
http://orientdb.com/docs
Udemy Getting Started Training is Free
★★★★★
http://www.orientechnologies.com/getting-started
Page / Copyright ©2014 by Readify Limited28

More Related Content

PPTX
NoSQL document oriented data access for .net systems with postgresql and marten
PPTX
MongoDB NoSQL - Developer Guide
PPTX
NoSQL Databases
PPTX
«NoSQL Databases and Polyglot Persistence»
PPTX
OData – Super Cola W3
PDF
NoSQL Databases
PPTX
Mango Database - Web Development
PDF
01 nosql and multi model database
NoSQL document oriented data access for .net systems with postgresql and marten
MongoDB NoSQL - Developer Guide
NoSQL Databases
«NoSQL Databases and Polyglot Persistence»
OData – Super Cola W3
NoSQL Databases
Mango Database - Web Development
01 nosql and multi model database

What's hot (20)

PDF
An Introduction to Druid
PPTX
noSQL
PDF
Barracuda Company Report
PDF
Storage dei dati con MongoDB
PDF
Multi model-databases
PPTX
MongoDB by Emroz sardar.
PDF
An introduction to MongoDB
PPTX
Displaying message on web page in Javascript
PPT
Introduction to mongodb
PDF
JSDB - NoSQL Funcional e Minimalista - TDC 2016
PPTX
The secret sauce behind {binding} in xaml
KEY
Behaviour And Model
PDF
あなたが創るセマンティックウェブ
KEY
NoSQL in the context of Social Web
PPTX
Jumpstart: Introduction to MongoDB
PPTX
Mongodb open data day 2014
PPT
Archives hub ead 2011_lifeshare
PPTX
Mongodb vs mysql
PPTX
MongoDB Introduction - Document Oriented Nosql Database
An Introduction to Druid
noSQL
Barracuda Company Report
Storage dei dati con MongoDB
Multi model-databases
MongoDB by Emroz sardar.
An introduction to MongoDB
Displaying message on web page in Javascript
Introduction to mongodb
JSDB - NoSQL Funcional e Minimalista - TDC 2016
The secret sauce behind {binding} in xaml
Behaviour And Model
あなたが創るセマンティックウェブ
NoSQL in the context of Social Web
Jumpstart: Introduction to MongoDB
Mongodb open data day 2014
Archives hub ead 2011_lifeshare
Mongodb vs mysql
MongoDB Introduction - Document Oriented Nosql Database
Ad

Similar to Intoduction to OrientDB (20)

PPTX
Graph Databases & OrientDB
PPTX
OrientDB - the 2nd generation of (Multi-Model) NoSQL
PDF
OrientDB & Node.js Overview - JS.Everywhere() KW
PDF
Change RelationalDB to GraphDB with OrientDB
PPT
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
PDF
Evaluation of graph databases
PDF
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
PDF
OrientDB - Voxxed Days Berlin 2016
PDF
OrientDB - Voxxed Days Berlin 2016
PPT
10. Graph Databases
PDF
OrientDB - Perché le tue applicazioni meritano un DB Multi-Model
PDF
How Graph Databases started the Multi Model revolution
PDF
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
PDF
Dove sono i tuoi vertici e di cosa stanno parlando?
PDF
Beyond Relational Databases
PDF
OrientDB: Unlock the Value of Document Data Relationships
PDF
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
PDF
Graph Databases and Web Frameworks (NodeJS, AngularJS, GridFS, OpenLink Virtu...
PDF
Go fast in a graph world
Graph Databases & OrientDB
OrientDB - the 2nd generation of (Multi-Model) NoSQL
OrientDB & Node.js Overview - JS.Everywhere() KW
Change RelationalDB to GraphDB with OrientDB
Soffri di patologie da "domini complessi con tante relazioni"? C'è una nuova ...
Evaluation of graph databases
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016
10. Graph Databases
OrientDB - Perché le tue applicazioni meritano un DB Multi-Model
How Graph Databases started the Multi Model revolution
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
Dove sono i tuoi vertici e di cosa stanno parlando?
Beyond Relational Databases
OrientDB: Unlock the Value of Document Data Relationships
OrientDB - the 2nd generation of (MultiModel) NoSQL - Luigi Dell Aquila - Cod...
Graph Databases and Web Frameworks (NodeJS, AngularJS, GridFS, OpenLink Virtu...
Go fast in a graph world
Ad

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Mushroom cultivation and it's methods.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Zenith AI: Advanced Artificial Intelligence
Digital-Transformation-Roadmap-for-Companies.pptx
1. Introduction to Computer Programming.pptx
DP Operators-handbook-extract for the Mautical Institute
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Hybrid model detection and classification of lung cancer
Unlocking AI with Model Context Protocol (MCP)
A comparative analysis of optical character recognition models for extracting...
Web App vs Mobile App What Should You Build First.pdf
Approach and Philosophy of On baking technology
Hindi spoken digit analysis for native and non-native speakers
Heart disease approach using modified random forest and particle swarm optimi...
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
cloud_computing_Infrastucture_as_cloud_p
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A comparative study of natural language inference in Swahili using monolingua...
Programs and apps: productivity, graphics, security and other tools
Mushroom cultivation and it's methods.pdf
TLE Review Electricity (Electricity).pptx
WOOl fibre morphology and structure.pdf for textiles
Zenith AI: Advanced Artificial Intelligence

Intoduction to OrientDB

  • 1. Abdelmawla Mohamed (Abdo) Senior Developer 2nd generation of Multi-Model NoSQL
  • 2. Page Relational database / Copyright ©2014 by Readify Limited2 › Data is presented to the user in the form of rows and columns (a relation) › Data can be manipulated through relational operators in a tabular form
  • 3. Page Over Time / Copyright ©2014 by Readify Limited3 › Data start grown in size › Data become heterogonous › Structured, semi-structured, unstructured
  • 4. Page Big Data / Copyright ©2014 by Readify Limited4
  • 5. Page Relational database low / Copyright ©2014 by Readify Limited5 If the only tool you have is a relational database, everything looks like a table.
  • 6. Page One tool doesn’t fit all › Scalability issues › Scale out › Index intensive issues › Join data / Copyright ©2014 by Readify Limited6
  • 7. Page Issues with joins › the relationships are computed every time a query is performed › time complexity grows with data: O(log n) › heavy runtime cost with large datasets › Index lookup does not help, it could speeds up searches but slows down inserts, updates, deletes. Imagine on billions of records. / Copyright ©2014 by Readify Limited7
  • 8. Page NoSQL movement / Copyright ©2014 by Readify Limited8 › Not only SQL › Simplicity of design (through different data models) › Being non-relational › Simpler horizontal scaling › Distributed
  • 9. Page NoSQL Models › Document › MongoDB, CouchDB, …. › Key-value › Cassandra, Redis, … › Column › Hbase, Cassandra, .. › Graph › Neo4j, .. / Copyright ©2014 by Readify Limited9
  • 10. Page But, all of them are one model / Copyright ©2014 by Readify Limited10
  • 11. Page NoSQL one model limitations › Document model: no relationships, no schema validation › Graph model: no complex data, no schema › key-value model: faster, but-key based access only › no transactions / Copyright ©2014 by Readify Limited11
  • 12. Page So What ? / Copyright ©2014 by Readify Limited12
  • 13. Page Multi-model database / Copyright ©2014 by Readify Limited13 Key-value Graph Object-oriented Document
  • 14. Page / Copyright ©2014 by Readify Limited14
  • 15. Page Why OrientDB / Copyright ©2014 by Readify Limited15 › Native document store (schema-free, complex properties) › Native graph store (index-free adjacent, fast relationships traversal) › Object oriented concepts (classes, inheritance, polymorphism) › ACID Transactions (no lock applied but at commit time, the MVCC applied) › Rest / JSON interface › Distributed (multi-master replication / sharding) › SQL (extended)
  • 16. Page OrientDB data model / Copyright ©2014 by Readify Limited16
  • 17. Page Graph / Copyright ©2014 by Readify Limited17 G = (V, E) Graph Vertices Edges Graph
  • 18. Page Graph / Copyright ©2014 by Readify Limited18 drives name: Abdo Vertices can have properties Vertices are directed AudiAbdo license: A134 model: Q7 doors: 5Edges can have properties
  • 19. Page Abdo Lyon An Edge connects only 2 vertices Use multiple edges to represent 1-N and N-M relationships 1-N and N-M Relationships Graph
  • 20. Page Basic Concepts › Class › Used to represent type of data model › Cluster › Stores group of records within a class / Copyright ©2014 by Readify Limited20 Class Car Cluster USA_Car Cluster Germany_Car
  • 21. Page Vertices › Record Identifier (RID) › Each vertex has a unique self-assigned identifier (RID) › Format: #:<cluster-id>:<cluster-position> › List of properties › Edge’s RID (in & out) / Copyright ©2014 by Readify Limited21
  • 22. Page Edges › Record identifier (RID) › Each record has it’s own self-assigned unique ID › Composed of 2 parts #:<cluster-id>:<cluster-position> › in (RID of the incoming vertex) › out (RID of the outgoing vertex) / Copyright ©2014 by Readify Limited22
  • 23. Page Relationships / Copyright ©2014 by Readify Limited23 › Doesn't make use of JOINS like RDBMS › Physical links O(1) › Relationship managed by storing the edge’s RID in both vertices as “out” and “in” › For 1-to-n relationship collections of rid are used
  • 24. Page Relationships / Copyright ©2014 by Readify Limited24 drives out: [#14:10] name: Abdo @class: Driver #14:10 #13:20 out: [#13:20] in: [#15:20] license: A134 @class: Drives #15:20 in: [#14:10] model: Q7 doors: 5 name: BMW @class: Car
  • 25. Page Demo / Copyright ©2014 by Readify Limited25
  • 26. Page API Interfaces / Copyright ©2014 by Readify Limited26 • 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
  • 27. Page Getting Started for Free / Copyright ©2014 by Readify Limited27 OrientDB Community Edition is FREE for any purpose (Apache 2 license) http://orientdb.com/docs Udemy Getting Started Training is Free ★★★★★ http://www.orientechnologies.com/getting-started
  • 28. Page / Copyright ©2014 by Readify Limited28