SlideShare une entreprise Scribd logo
1  sur  62
Polyglot Persistence
vs
Multi-Model Databases
Luca Garulli, Founder and CEO at OrientDB
Relational Databases are the
Most Successful Technology
Ever and Ruled for the Last 45
Years
Structured Data
Small Datasets
Few Relationships
Waterfall Approach
Scale Up
CIO
The World Has Changed
Unstructured Data
Large Volume
Connected Data
Agile Approach
Scale Out
Developers
Relational NoSQL
1970 2009
A NoSQL database provides a mechanism for storage and retrieval of
data that is modeled in means other than the tabular relations
used in relational databases. Motivations for this approach include:
simplicity of design, "horizontal" scaling, which is a problem for
relational databases, and finer control over availability
What s Next?
DBMS Quadrant
RelationshipComplexity>
Data Complexity >
Relational
Key Value
Column
Graph
Document
Polyglot Persistence
Polyglot Persistence is a fancy term to
describe that when storing data, it is best to use
multiple data storage technologies, chosen
based upon the way data is being used by
individual applications or components.
http://www.jamesserra.com/archive/2015/07/what-is-polyglot-persistence/
Multi-Model
A multi-model database is designed to support
multiple data models against a single, integrated
backend.
Multi-model databases are intended to offer the
data modeling advantages of polyglot
persistence without its disadvantages. Complexity,
in particular, is reduced.
https://en.wikipedia.org/wiki/Multi-model_database
What s a Multi-Model DBMS?
GraphDocument
Object
Key/Value
Multi-Model represents the
intersection
of multiple models in just one
product
Full-Text
Spatial
Multi-Model
Snow
Patrol
(Band)
Luca
(Account)
Indie
(Genre)
123,
1st Street
Austin,
Jill
(Account)
Graphs
{
@rid": 12:382 ,
@class": Customer",
name : Jill ,
surname : Raggio ,
phone : +39 33123212 ,
details : {
city : London",
tags : millennial
}
}
Schema-less structures
Object Oriented
Key-Value pairs
Geo-Spatial
Full-Text
OrientDB
(Multi-Model)
Multi-Model
Snow
Patrol
(Band)
Luca
(Account)
Indie
(Genre)
123,
1st Street
Austin,
Jill
(Account)
Graphs
{
”@rid": “12:382”,
”@class": ”Customer",
“name”: “Jill”,
“surname” : “Raggio”,
“phone” : “+39 33123212”,
“details”: {
“city”:”London",
“tags”:”millennial”
}
}
Schema-less structures
Object OrientedKey-Value pairsGeo-Spatial
Full-Text
OrientDB
(Multi-Model)
DBMS Quadrant: Multi-Model
RelationshipComplexity>
Data Complexity >
Relational
Key Value
Column
Graph
Document
Multi-Model
OrientDB
• First Multi-Model DBMS with a Graph-Engine
• Open Source Apache2 license
• Data Models are built into the core engine
• The Graph Database engine allows O(1) performance on
traversing relationships, against O(LogN) of RDBMS and
any other Multi-Model DBMS built as layers
• Schema-less, Schema-full and Schema-mixed
• Use of Apache Lucene for Full-Text and Spatial
• Written in Java (runs on every platform)
• Zero-config HA
Online Hotel Booking Application
Product Catalog
Recommendations for
similar products
Transactional data about
rooms left at this moment
Consider the active sessions
on the same Product
The initial reaction of developers when
the CTO agrees to use
Polyglot Persistence
I can
use the
best tools for
my use cases! No limits
anymore! This is
Developer
FREEDOM!
No more
Tables?
Deployment
Polyglot Persistence in Action
DOCUMENTKEY/VALUE GRAPH RELATIONAL
User Sessions
Rapid Access for
reads and writes.
No need to be
durable.
Financial Data
Needs transactional
updates. It will
manage orders and
payments.
Recommendations
Rapidly traverse
links between
friends, product
purchases, and
ratings.
Product Catalog
Lots of reads,
infrequent writes.
Products make
natural aggregates.
Example: Hotel Booking Application
SEARCH
Search Engine
Full-Text Search.
Support for faceted
search and
suggestions.
Polyglot Persistence Application
DOCUMENT
KEY/VALUE GRAPH
APPLICATION
RELATIONAL
User Sessions
Product Catalog
Recommendation
Financial Data
SEARCH
Search Engine
Multi-Model in Action
Example: Hotel Booking Application
User Sessions
Rapid Access for
reads and writes.
No need to be
durable.
Financial Data
Needs transactional
updates. It will
manage orders and
payments.
Recommendations
Rapidly traverse
links between
friends, product
purchases, and
ratings.
Product Catalog
Lots of reads,
infrequent writes.
Products make
natural aggregates.
Search Engine
Full-Text Search.
Support for faceted
search and
suggestions
Multi-Model Application
APPLICATION
User Sessions
Product Catalog
Recommendation
Financial Data
Search Engine
Deployment
Multi-ModelPolyglot
• Only 1 product to learn
• Only 1 server to configure and deploy
• Only 1 vendor in case of support
• 5 products to learn
• 5 servers to configure and deploy
• 5 vendors in case of support
Polyglot Deployment
• 5 PRODUCTS TO LEARN
No standard, all products are different. Even in the same category, they
have different APIs (ex. MongoDB and CouchDB). Every developer has to
learn multiple products or you should hire multiple developers with specific
skills for every product.
• 5 SERVERS TO CONFIGURE AND DEPLOY
Usually it’s a bad idea to put more databases on the same machine due to
the aggressive use of resources such as RAM and DISK.
• 5 VENDORS IN CASE OF SUPPORT
This means 5 contracts with 5 different vendors.
Domain design
Domain Design
Product
User
Session
Order
Review
Polyglot Domain Design
Product
User
Session
Order
Review
Multi-Model Domain Design
Product
User
Session
Order
Review
Domain Design
Multi-ModelPolyglot
• The entire domain is represented in
just one model in the same database
• All data is interconnected and easy
to access
• Easy to refactor
• Design of 5 different ways to reproduce
part of the data on each product
• Management of Application level
relationship between data in different
datasets represented in different way
• Hard to refactor
Performance
Polyglot: Sequence Diagram
APPLICATION
(2) Get Product Details
(3) Get Recommendation for
the current product
(5) Get orders to
check availability
(6) Check concurrent
user activity on the
same product
(7) Update current
user activity (in
background)
(4) Get basic information for each
recommended product
(1) Request Product Detail Page
Polyglot: Performance
APPLICATION
(4) Get orders to
check availability
(1) Request Product Detail Page
(5) Check concurrent
user activity on the
same product
= 10ms
= 50ms
= 200ms
= 150ms
= 20ms
= 10ms
Total Time = 530ms
(6) Update current
user activity (in
background)
(2) Get Product Details
(3) Get Recommendation for
the current product
(4) Get basic information for each
recommended product
= 100ms
Multi-Model: Sequence Diagram
APPLICATION
(1) Request Product Detail Page
(2) Get Product Details
(3) Get Recommendation for
the current product
(5) Get orders to check availability
(7) Update concurrent user activity
(in background)
(6) Check concurrent users activity
on the same product
(4) Get basic information for
each recommended product
Multi-Model: Performance
APPLICATION
(1) Request Product Detail Page = 10ms
Total Time = 300ms
APPLICATION
= 290ms
(2) Get Product Details
(3) Get Recommendation for
the current product
(5) Get orders to check availability
(7) Update concurrent user activity
(in background)
(6) Check concurrent users activity
on the same product
(4) Get basic information for
each recommended product
Caching to the Rescue
(2) Get Product Details
(3) Get Recommendation for
the current product
(4) Get basic information for each
recommended product
(1) Request Product Detail Page
(6) Check concurrent users
activity on the same product
= 200ms
(7) Update current
user activity (in background)
= 10ms
= 50ms
= 150ms
= 20ms
= 10ms
If products description don’t change
very often, they can be cached
Caching recommendation means
loosing the ability to recommend per
use, but only per products
(5) Get orders to check availability
= 100ms If products description don’t change
very often, they can be cached
Polyglot: Parallel Async Execution
(2) Get Product Details
(3) Get Recommendation for the current product
(5) Get orders to check
availability
(1) Request Product Detail Page
(6) Check concurrent users activity on the same product
= 200ms
(7) Update current user activity
= 10ms
= 50ms
= 150ms
= 20ms
= 10ms
= 310ms
APPLICATION
(4) Get basic information for each recommended product
= 100ms
Performance
But when the
domain is simple,
using specific products
could give you better
performance
With complex
domains, Multi-Model is
faster then Polyglot
Performance continued...
• With OrientDB, we have many stories about users that
switched from a pure Graph Database to OrientDB. In
all the cases, they had comparable or better
performance.
• From the other side, we don t have many stories about
users that switched from a Key-Value to OrientDB.
• Performance depends on the Multi-Model product.
• With Multi-Model it s very important having the models
built in the engine. If they are just layers, you ll have a lot
of compromises in term of flexibility and performance.
Features
Features
Multi-ModelPolyglot
Even if Multi-Model are feature-rich
products, it’s possible to not find the
feature you need.
You can choose from 300 products,
giving you access to all the available
features.
Data
Synchronization
Synchronization
Multi-ModelPolyglot
No standard between products, the
synchronization is entirely up to the
developer via ETL or at Application
level.
All data is in the same datastore, so
no synchronization is needed.
Polyglot: Synchronization by ETL
DOCUMENT
GRAPH
RELATIONAL
In order to use the Recommendation engine, you
have to develop the ETL to pump data into the
Graph Database every hour/day, mixing data of
products and sales. The Search Engine, instead,
only needs data from the Product Catalog.
ETL
ETL
ETL
Polyglot: Synchronization by App
DOCUMENT
GRAPH
RELATIONAL
You can avoid ETL
is the application is
responsible to
populate all the
DBMS and keep
them in synch.
APPLICATION
Let s put everything
in
High Availability
(HA)
Polyglot Persistence
in
High Availability
(HA)
Redis in HA
Server A
Sentinel A
Server B
Sentinel B
Server C
Sentinel C
Suggested Configuration:
Deploy at least 3 Redis Server
+ Redis Sentinel on 3 separate Boxes
http://redis.io/topics/sentinel
Neo4j in HA
Suggested Configuration:
Deploy at least 3 Neo4j Servers
http://neo4j.com/docs/stable/ha-architecture.html
MongoDB in HA
Secondary 1
Suggested Configuration:
Deploy at least 3 MongoDB Servers
(1 Primary and 2 Secondary Servers)
Primary
Secondary 2
https://docs.mongodb.org/manual/core/replica-set-members/
ElasticSearch in HA
Suggested Configuration:
Deploy at least 2 ElasticSearch Servers
https://www.elastic.co/guide/en/elasticsearch/guide/current/_add_failover.html
MySQL in HA
Sorry, but the ways to put MySQL in HA are too many…
I found this configuration with 2 master servers that should be
the minimum for HA.
Polyglot Persistence in HA
APPLICATION
Servers = 13
The beauty of me
is that I’m very rich.
But this setup would cost
too much even for me!
You’re fired!!!
Multi-Model
in
High Availability
(HA)
Multi-Model in HA
APPLICATION
OrientDB supports Multi-Master
replication with flexible sharding
Zero-config cluster deployment allows
to create a cluster of servers in a few
minutes
When a new server connects to the
cluster, the database is automatically
shared
All the clients are always notified
about new servers, so in case of a
crash, the client can automatically
switch to another available server with
no failure at application level
Servers = 3
Final score
Final Score (1-3)
Multi-Model Polyglot
Low TCO (Costs)
Easy Maintenance
Easy Scalability
Performance
Easy Deployment
Minimal Skills
Product Variety
Easy Synchronization
Number of Features
3 3
1
1
1
3
3
3
3
3
3
3
2
1
1
1
3 1
Confidential
OrientDB At a Glance
70,000
Downloads per month
from 200+ countries
100+
Code contributors on
Github and 15,000+
commits
1,000s
Users from SMBs to
Fortune 10 Companies
17+
Years of
Product 

Research
Global Coverage and 24x7 Support
Awards and Press Coverage
2015 Bossie Award Winner
OrientDB is an interesting hybrid in the NoSQL world,
combining features from a document database and a graph
database.
A new breed of database hopes to blend the best
of NoSQL and RDBMS
Multi-model databases may help tame the growing
complexity of enterprise data.
11 cutting-edge databases worth exploring now
OrientDB packages itself as a "second-generation graph
database." In other words, the nodes in the graphs are
documents waiting for arbitrary key-value pairs.
A Bright Future
Graph DBMS increased their popularity
by 500% within the last 2 years.
Document DBMS are the 3rd fastest
growing category.
Forrester estimates that over 25 percent of enterprises will
use graph databases by 2017.
Among the top 50, OrientDB is the technology with the
largest year-on-year growth (+22 positions).
Don t miss my presentation
Tomorrow, at GraphDay
10:00am:
Working Towards an
Unbreakable Graph Database
that Scales
Thank you!
@lgarulli
Join the community, visit orientdb.com

Contenu connexe

Tendances

21- Self-Hosted Integration Runtime in Azure Data Factory.pptx
21- Self-Hosted Integration Runtime in Azure Data Factory.pptx21- Self-Hosted Integration Runtime in Azure Data Factory.pptx
21- Self-Hosted Integration Runtime in Azure Data Factory.pptxBRIJESH KUMAR
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake OverviewJames Serra
 
Introduction of Cloud Computing By Pawan Thakur HOD CS & IT
Introduction of Cloud Computing By Pawan Thakur HOD CS & ITIntroduction of Cloud Computing By Pawan Thakur HOD CS & IT
Introduction of Cloud Computing By Pawan Thakur HOD CS & ITGovt. P.G. College Dharamshala
 
Free Training: How to Build a Lakehouse
Free Training: How to Build a LakehouseFree Training: How to Build a Lakehouse
Free Training: How to Build a LakehouseDatabricks
 
Bill inmon-data-warehousing-2-0-whitepaper
Bill inmon-data-warehousing-2-0-whitepaperBill inmon-data-warehousing-2-0-whitepaper
Bill inmon-data-warehousing-2-0-whitepaperEmbarcadero Technologies
 
Azure Data Factory ETL Patterns in the Cloud
Azure Data Factory ETL Patterns in the CloudAzure Data Factory ETL Patterns in the Cloud
Azure Data Factory ETL Patterns in the CloudMark Kromer
 
How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...
How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...
How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...Enterprise Management Associates
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMarkus Michalewicz
 
Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...
Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...
Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...Edureka!
 
Azure Data Factory Data Flow
Azure Data Factory Data FlowAzure Data Factory Data Flow
Azure Data Factory Data FlowMark Kromer
 
1. informatica power center architecture
1. informatica power center architecture1. informatica power center architecture
1. informatica power center architectureMuhammad Salah ElOkda
 
Databricks for Dummies
Databricks for DummiesDatabricks for Dummies
Databricks for DummiesRodney Joyce
 
Top challenges in cloud computing
Top challenges in cloud computingTop challenges in cloud computing
Top challenges in cloud computingTISEE
 
DataMinds 2022 Azure Purview Erwin de Kreuk
DataMinds 2022 Azure Purview Erwin de KreukDataMinds 2022 Azure Purview Erwin de Kreuk
DataMinds 2022 Azure Purview Erwin de KreukErwin de Kreuk
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data EngineeringDurga Gadiraju
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowMarkus Michalewicz
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data EngineeringHadi Fadlallah
 

Tendances (20)

21- Self-Hosted Integration Runtime in Azure Data Factory.pptx
21- Self-Hosted Integration Runtime in Azure Data Factory.pptx21- Self-Hosted Integration Runtime in Azure Data Factory.pptx
21- Self-Hosted Integration Runtime in Azure Data Factory.pptx
 
Grid Computing
Grid ComputingGrid Computing
Grid Computing
 
Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 
Introduction of Cloud Computing By Pawan Thakur HOD CS & IT
Introduction of Cloud Computing By Pawan Thakur HOD CS & ITIntroduction of Cloud Computing By Pawan Thakur HOD CS & IT
Introduction of Cloud Computing By Pawan Thakur HOD CS & IT
 
Modern Data Architecture
Modern Data ArchitectureModern Data Architecture
Modern Data Architecture
 
Azure Data Factory v2
Azure Data Factory v2Azure Data Factory v2
Azure Data Factory v2
 
Free Training: How to Build a Lakehouse
Free Training: How to Build a LakehouseFree Training: How to Build a Lakehouse
Free Training: How to Build a Lakehouse
 
Bill inmon-data-warehousing-2-0-whitepaper
Bill inmon-data-warehousing-2-0-whitepaperBill inmon-data-warehousing-2-0-whitepaper
Bill inmon-data-warehousing-2-0-whitepaper
 
Azure Data Factory ETL Patterns in the Cloud
Azure Data Factory ETL Patterns in the CloudAzure Data Factory ETL Patterns in the Cloud
Azure Data Factory ETL Patterns in the Cloud
 
How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...
How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...
How to Merge the Data Lake and the Data Warehouse: The Power of a Unified Ana...
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...
Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...
Azure Data Factory | Moving On-Premise Data to Azure Cloud | Microsoft Azure ...
 
Azure Data Factory Data Flow
Azure Data Factory Data FlowAzure Data Factory Data Flow
Azure Data Factory Data Flow
 
1. informatica power center architecture
1. informatica power center architecture1. informatica power center architecture
1. informatica power center architecture
 
Databricks for Dummies
Databricks for DummiesDatabricks for Dummies
Databricks for Dummies
 
Top challenges in cloud computing
Top challenges in cloud computingTop challenges in cloud computing
Top challenges in cloud computing
 
DataMinds 2022 Azure Purview Erwin de Kreuk
DataMinds 2022 Azure Purview Erwin de KreukDataMinds 2022 Azure Purview Erwin de Kreuk
DataMinds 2022 Azure Purview Erwin de Kreuk
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 

En vedette

How Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolutionHow Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolutionLuca Garulli
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceAbdelmonaim Remani
 
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASeveralnines
 
Tadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraTadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraVolha Banadyseva
 
Testing Polyglot Persistence Done Right
Testing Polyglot Persistence Done RightTesting Polyglot Persistence Done Right
Testing Polyglot Persistence Done RightAlex Soto
 
No sql matters_2012_keynote
No sql matters_2012_keynoteNo sql matters_2012_keynote
No sql matters_2012_keynoteLuca Garulli
 
Polyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great TogetherPolyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great TogetherJohn Wood
 
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
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarOrient Technologies
 
Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)Chris Richardson
 
Graphs, Edges & Nodes - Untangling the Social Web
Graphs, Edges & Nodes - Untangling the Social WebGraphs, Edges & Nodes - Untangling the Social Web
Graphs, Edges & Nodes - Untangling the Social WebJoël Perras
 
OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0Orient Technologies
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph DatabasesMax De Marzi
 
Multi-model database
Multi-model databaseMulti-model database
Multi-model databaseJiaheng Lu
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB
 
MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series DataMongoDB
 
Webinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBWebinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBMongoDB
 

En vedette (18)

How Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolutionHow Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolution
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot Persistence
 
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
 
Tadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraTadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to Cassandra
 
Testing Polyglot Persistence Done Right
Testing Polyglot Persistence Done RightTesting Polyglot Persistence Done Right
Testing Polyglot Persistence Done Right
 
No sql matters_2012_keynote
No sql matters_2012_keynoteNo sql matters_2012_keynote
No sql matters_2012_keynote
 
Polyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great TogetherPolyglot Persistence - Two Great Tastes That Taste Great Together
Polyglot Persistence - Two Great Tastes That Taste Great Together
 
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
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - Webinar
 
Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)Developing polyglot persistence applications (gluecon 2013)
Developing polyglot persistence applications (gluecon 2013)
 
Graphs, Edges & Nodes - Untangling the Social Web
Graphs, Edges & Nodes - Untangling the Social WebGraphs, Edges & Nodes - Untangling the Social Web
Graphs, Edges & Nodes - Untangling the Social Web
 
OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0
 
Jenkins 20
Jenkins 20Jenkins 20
Jenkins 20
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
Multi-model database
Multi-model databaseMulti-model database
Multi-model database
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor Management
 
MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series Data
 
Webinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBWebinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDB
 

Similaire à Polyglot Persistence vs Multi-Model Databases

Data Virtualization Journey: How to Grow from Single Project and to Enterpris...
Data Virtualization Journey: How to Grow from Single Project and to Enterpris...Data Virtualization Journey: How to Grow from Single Project and to Enterpris...
Data Virtualization Journey: How to Grow from Single Project and to Enterpris...Denodo
 
Why Data Virtualization? An Introduction by Denodo
Why Data Virtualization? An Introduction by DenodoWhy Data Virtualization? An Introduction by Denodo
Why Data Virtualization? An Introduction by DenodoJusto Hidalgo
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickOPITZ CONSULTING Deutschland
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveOPITZ CONSULTING Deutschland
 
Continuous Database Delivery - 7/12/2018
Continuous Database Delivery - 7/12/2018Continuous Database Delivery - 7/12/2018
Continuous Database Delivery - 7/12/2018David P. Moore
 
Scaling Database Modernisation with MongoDB - Infosys
Scaling Database Modernisation with MongoDB - InfosysScaling Database Modernisation with MongoDB - Infosys
Scaling Database Modernisation with MongoDB - InfosysMongoDB
 
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...DATAVERSITY
 
Polyglot persistence for enterprise cloud applications
Polyglot persistence for enterprise cloud applicationsPolyglot persistence for enterprise cloud applications
Polyglot persistence for enterprise cloud applicationsLars Lemos
 
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo LiteDenodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo LiteDenodo
 
Map Reduce amrp presentation
Map Reduce amrp presentationMap Reduce amrp presentation
Map Reduce amrp presentationrenjan131
 
How Yellowbrick Data Integrates to Existing Environments Webcast
How Yellowbrick Data Integrates to Existing Environments WebcastHow Yellowbrick Data Integrates to Existing Environments Webcast
How Yellowbrick Data Integrates to Existing Environments WebcastYellowbrick Data
 
The valule of Multi-model Databases
The valule of Multi-model DatabasesThe valule of Multi-model Databases
The valule of Multi-model DatabasesRobert Bira
 
The Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationThe Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationEmbarcadero Technologies
 
Technical Presentation - TimeWIzard
Technical Presentation - TimeWIzardTechnical Presentation - TimeWIzard
Technical Presentation - TimeWIzardPraveen Kumar Peddi
 
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...BI Brainz
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Daniel Zivkovic
 
Modern Data Management for Federal Modernization
Modern Data Management for Federal ModernizationModern Data Management for Federal Modernization
Modern Data Management for Federal ModernizationDenodo
 
Interleaving, Evaluation to Self-learning Search @904Labs
Interleaving, Evaluation to Self-learning Search @904LabsInterleaving, Evaluation to Self-learning Search @904Labs
Interleaving, Evaluation to Self-learning Search @904LabsJohn T. Kane
 

Similaire à Polyglot Persistence vs Multi-Model Databases (20)

Data Virtualization Journey: How to Grow from Single Project and to Enterpris...
Data Virtualization Journey: How to Grow from Single Project and to Enterpris...Data Virtualization Journey: How to Grow from Single Project and to Enterpris...
Data Virtualization Journey: How to Grow from Single Project and to Enterpris...
 
Why Data Virtualization? An Introduction by Denodo
Why Data Virtualization? An Introduction by DenodoWhy Data Virtualization? An Introduction by Denodo
Why Data Virtualization? An Introduction by Denodo
 
Streaming is a Detail
Streaming is a DetailStreaming is a Detail
Streaming is a Detail
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein Architekturüberblick
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspective
 
Continuous Database Delivery - 7/12/2018
Continuous Database Delivery - 7/12/2018Continuous Database Delivery - 7/12/2018
Continuous Database Delivery - 7/12/2018
 
Scaling Database Modernisation with MongoDB - Infosys
Scaling Database Modernisation with MongoDB - InfosysScaling Database Modernisation with MongoDB - Infosys
Scaling Database Modernisation with MongoDB - Infosys
 
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
ADV Slides: The Evolution of the Data Platform and What It Means to Enterpris...
 
Polyglot persistence for enterprise cloud applications
Polyglot persistence for enterprise cloud applicationsPolyglot persistence for enterprise cloud applications
Polyglot persistence for enterprise cloud applications
 
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo LiteDenodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
 
Map Reduce amrp presentation
Map Reduce amrp presentationMap Reduce amrp presentation
Map Reduce amrp presentation
 
Mr bi amrp
Mr bi amrpMr bi amrp
Mr bi amrp
 
How Yellowbrick Data Integrates to Existing Environments Webcast
How Yellowbrick Data Integrates to Existing Environments WebcastHow Yellowbrick Data Integrates to Existing Environments Webcast
How Yellowbrick Data Integrates to Existing Environments Webcast
 
The valule of Multi-model Databases
The valule of Multi-model DatabasesThe valule of Multi-model Databases
The valule of Multi-model Databases
 
The Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationThe Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: Collaboration
 
Technical Presentation - TimeWIzard
Technical Presentation - TimeWIzardTechnical Presentation - TimeWIzard
Technical Presentation - TimeWIzard
 
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
 
Modern Data Management for Federal Modernization
Modern Data Management for Federal ModernizationModern Data Management for Federal Modernization
Modern Data Management for Federal Modernization
 
Interleaving, Evaluation to Self-learning Search @904Labs
Interleaving, Evaluation to Self-learning Search @904LabsInterleaving, Evaluation to Self-learning Search @904Labs
Interleaving, Evaluation to Self-learning Search @904Labs
 

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
 
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
 
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
 
Roma Meta Framework Concepts @JavaDay Rome 2007
Roma Meta Framework Concepts @JavaDay Rome 2007Roma Meta Framework Concepts @JavaDay Rome 2007
Roma Meta Framework Concepts @JavaDay Rome 2007Luca Garulli
 

Plus de Luca Garulli (18)

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
 
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)
 
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
 
Roma Meta Framework Concepts @JavaDay Rome 2007
Roma Meta Framework Concepts @JavaDay Rome 2007Roma Meta Framework Concepts @JavaDay Rome 2007
Roma Meta Framework Concepts @JavaDay Rome 2007
 

Dernier

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 

Dernier (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 

Polyglot Persistence vs Multi-Model Databases

  • 1. Polyglot Persistence vs Multi-Model Databases Luca Garulli, Founder and CEO at OrientDB
  • 2. Relational Databases are the Most Successful Technology Ever and Ruled for the Last 45 Years
  • 3. Structured Data Small Datasets Few Relationships Waterfall Approach Scale Up CIO The World Has Changed Unstructured Data Large Volume Connected Data Agile Approach Scale Out Developers Relational NoSQL 1970 2009 A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Motivations for this approach include: simplicity of design, "horizontal" scaling, which is a problem for relational databases, and finer control over availability What s Next?
  • 4. DBMS Quadrant RelationshipComplexity> Data Complexity > Relational Key Value Column Graph Document
  • 5. Polyglot Persistence Polyglot Persistence is a fancy term to describe that when storing data, it is best to use multiple data storage technologies, chosen based upon the way data is being used by individual applications or components. http://www.jamesserra.com/archive/2015/07/what-is-polyglot-persistence/
  • 6.
  • 7. Multi-Model A multi-model database is designed to support multiple data models against a single, integrated backend. Multi-model databases are intended to offer the data modeling advantages of polyglot persistence without its disadvantages. Complexity, in particular, is reduced. https://en.wikipedia.org/wiki/Multi-model_database
  • 8. What s a Multi-Model DBMS? GraphDocument Object Key/Value Multi-Model represents the intersection of multiple models in just one product Full-Text Spatial
  • 9. Multi-Model Snow Patrol (Band) Luca (Account) Indie (Genre) 123, 1st Street Austin, Jill (Account) Graphs { @rid": 12:382 , @class": Customer", name : Jill , surname : Raggio , phone : +39 33123212 , details : { city : London", tags : millennial } } Schema-less structures Object Oriented Key-Value pairs Geo-Spatial Full-Text OrientDB (Multi-Model)
  • 10. Multi-Model Snow Patrol (Band) Luca (Account) Indie (Genre) 123, 1st Street Austin, Jill (Account) Graphs { ”@rid": “12:382”, ”@class": ”Customer", “name”: “Jill”, “surname” : “Raggio”, “phone” : “+39 33123212”, “details”: { “city”:”London", “tags”:”millennial” } } Schema-less structures Object OrientedKey-Value pairsGeo-Spatial Full-Text OrientDB (Multi-Model)
  • 11. DBMS Quadrant: Multi-Model RelationshipComplexity> Data Complexity > Relational Key Value Column Graph Document Multi-Model
  • 12. OrientDB • First Multi-Model DBMS with a Graph-Engine • Open Source Apache2 license • Data Models are built into the core engine • The Graph Database engine allows O(1) performance on traversing relationships, against O(LogN) of RDBMS and any other Multi-Model DBMS built as layers • Schema-less, Schema-full and Schema-mixed • Use of Apache Lucene for Full-Text and Spatial • Written in Java (runs on every platform) • Zero-config HA
  • 13. Online Hotel Booking Application
  • 15. Transactional data about rooms left at this moment Consider the active sessions on the same Product
  • 16. The initial reaction of developers when the CTO agrees to use Polyglot Persistence
  • 17. I can use the best tools for my use cases! No limits anymore! This is Developer FREEDOM! No more Tables?
  • 19. Polyglot Persistence in Action DOCUMENTKEY/VALUE GRAPH RELATIONAL User Sessions Rapid Access for reads and writes. No need to be durable. Financial Data Needs transactional updates. It will manage orders and payments. Recommendations Rapidly traverse links between friends, product purchases, and ratings. Product Catalog Lots of reads, infrequent writes. Products make natural aggregates. Example: Hotel Booking Application SEARCH Search Engine Full-Text Search. Support for faceted search and suggestions.
  • 20. Polyglot Persistence Application DOCUMENT KEY/VALUE GRAPH APPLICATION RELATIONAL User Sessions Product Catalog Recommendation Financial Data SEARCH Search Engine
  • 21. Multi-Model in Action Example: Hotel Booking Application User Sessions Rapid Access for reads and writes. No need to be durable. Financial Data Needs transactional updates. It will manage orders and payments. Recommendations Rapidly traverse links between friends, product purchases, and ratings. Product Catalog Lots of reads, infrequent writes. Products make natural aggregates. Search Engine Full-Text Search. Support for faceted search and suggestions
  • 22. Multi-Model Application APPLICATION User Sessions Product Catalog Recommendation Financial Data Search Engine
  • 23. Deployment Multi-ModelPolyglot • Only 1 product to learn • Only 1 server to configure and deploy • Only 1 vendor in case of support • 5 products to learn • 5 servers to configure and deploy • 5 vendors in case of support
  • 24. Polyglot Deployment • 5 PRODUCTS TO LEARN No standard, all products are different. Even in the same category, they have different APIs (ex. MongoDB and CouchDB). Every developer has to learn multiple products or you should hire multiple developers with specific skills for every product. • 5 SERVERS TO CONFIGURE AND DEPLOY Usually it’s a bad idea to put more databases on the same machine due to the aggressive use of resources such as RAM and DISK. • 5 VENDORS IN CASE OF SUPPORT This means 5 contracts with 5 different vendors.
  • 29. Domain Design Multi-ModelPolyglot • The entire domain is represented in just one model in the same database • All data is interconnected and easy to access • Easy to refactor • Design of 5 different ways to reproduce part of the data on each product • Management of Application level relationship between data in different datasets represented in different way • Hard to refactor
  • 31. Polyglot: Sequence Diagram APPLICATION (2) Get Product Details (3) Get Recommendation for the current product (5) Get orders to check availability (6) Check concurrent user activity on the same product (7) Update current user activity (in background) (4) Get basic information for each recommended product (1) Request Product Detail Page
  • 32. Polyglot: Performance APPLICATION (4) Get orders to check availability (1) Request Product Detail Page (5) Check concurrent user activity on the same product = 10ms = 50ms = 200ms = 150ms = 20ms = 10ms Total Time = 530ms (6) Update current user activity (in background) (2) Get Product Details (3) Get Recommendation for the current product (4) Get basic information for each recommended product = 100ms
  • 33. Multi-Model: Sequence Diagram APPLICATION (1) Request Product Detail Page (2) Get Product Details (3) Get Recommendation for the current product (5) Get orders to check availability (7) Update concurrent user activity (in background) (6) Check concurrent users activity on the same product (4) Get basic information for each recommended product
  • 34. Multi-Model: Performance APPLICATION (1) Request Product Detail Page = 10ms Total Time = 300ms APPLICATION = 290ms (2) Get Product Details (3) Get Recommendation for the current product (5) Get orders to check availability (7) Update concurrent user activity (in background) (6) Check concurrent users activity on the same product (4) Get basic information for each recommended product
  • 35. Caching to the Rescue (2) Get Product Details (3) Get Recommendation for the current product (4) Get basic information for each recommended product (1) Request Product Detail Page (6) Check concurrent users activity on the same product = 200ms (7) Update current user activity (in background) = 10ms = 50ms = 150ms = 20ms = 10ms If products description don’t change very often, they can be cached Caching recommendation means loosing the ability to recommend per use, but only per products (5) Get orders to check availability = 100ms If products description don’t change very often, they can be cached
  • 36. Polyglot: Parallel Async Execution (2) Get Product Details (3) Get Recommendation for the current product (5) Get orders to check availability (1) Request Product Detail Page (6) Check concurrent users activity on the same product = 200ms (7) Update current user activity = 10ms = 50ms = 150ms = 20ms = 10ms = 310ms APPLICATION (4) Get basic information for each recommended product = 100ms
  • 37. Performance But when the domain is simple, using specific products could give you better performance With complex domains, Multi-Model is faster then Polyglot
  • 38. Performance continued... • With OrientDB, we have many stories about users that switched from a pure Graph Database to OrientDB. In all the cases, they had comparable or better performance. • From the other side, we don t have many stories about users that switched from a Key-Value to OrientDB. • Performance depends on the Multi-Model product. • With Multi-Model it s very important having the models built in the engine. If they are just layers, you ll have a lot of compromises in term of flexibility and performance.
  • 40. Features Multi-ModelPolyglot Even if Multi-Model are feature-rich products, it’s possible to not find the feature you need. You can choose from 300 products, giving you access to all the available features.
  • 42. Synchronization Multi-ModelPolyglot No standard between products, the synchronization is entirely up to the developer via ETL or at Application level. All data is in the same datastore, so no synchronization is needed.
  • 43. Polyglot: Synchronization by ETL DOCUMENT GRAPH RELATIONAL In order to use the Recommendation engine, you have to develop the ETL to pump data into the Graph Database every hour/day, mixing data of products and sales. The Search Engine, instead, only needs data from the Product Catalog. ETL ETL ETL
  • 44. Polyglot: Synchronization by App DOCUMENT GRAPH RELATIONAL You can avoid ETL is the application is responsible to populate all the DBMS and keep them in synch. APPLICATION
  • 45. Let s put everything in High Availability (HA)
  • 47. Redis in HA Server A Sentinel A Server B Sentinel B Server C Sentinel C Suggested Configuration: Deploy at least 3 Redis Server + Redis Sentinel on 3 separate Boxes http://redis.io/topics/sentinel
  • 48. Neo4j in HA Suggested Configuration: Deploy at least 3 Neo4j Servers http://neo4j.com/docs/stable/ha-architecture.html
  • 49. MongoDB in HA Secondary 1 Suggested Configuration: Deploy at least 3 MongoDB Servers (1 Primary and 2 Secondary Servers) Primary Secondary 2 https://docs.mongodb.org/manual/core/replica-set-members/
  • 50. ElasticSearch in HA Suggested Configuration: Deploy at least 2 ElasticSearch Servers https://www.elastic.co/guide/en/elasticsearch/guide/current/_add_failover.html
  • 51. MySQL in HA Sorry, but the ways to put MySQL in HA are too many… I found this configuration with 2 master servers that should be the minimum for HA.
  • 52. Polyglot Persistence in HA APPLICATION Servers = 13
  • 53. The beauty of me is that I’m very rich. But this setup would cost too much even for me! You’re fired!!!
  • 55. Multi-Model in HA APPLICATION OrientDB supports Multi-Master replication with flexible sharding Zero-config cluster deployment allows to create a cluster of servers in a few minutes When a new server connects to the cluster, the database is automatically shared All the clients are always notified about new servers, so in case of a crash, the client can automatically switch to another available server with no failure at application level Servers = 3
  • 57. Final Score (1-3) Multi-Model Polyglot Low TCO (Costs) Easy Maintenance Easy Scalability Performance Easy Deployment Minimal Skills Product Variety Easy Synchronization Number of Features 3 3 1 1 1 3 3 3 3 3 3 3 2 1 1 1 3 1
  • 58. Confidential OrientDB At a Glance 70,000 Downloads per month from 200+ countries 100+ Code contributors on Github and 15,000+ commits 1,000s Users from SMBs to Fortune 10 Companies 17+ Years of Product Research Global Coverage and 24x7 Support
  • 59. Awards and Press Coverage 2015 Bossie Award Winner OrientDB is an interesting hybrid in the NoSQL world, combining features from a document database and a graph database. A new breed of database hopes to blend the best of NoSQL and RDBMS Multi-model databases may help tame the growing complexity of enterprise data. 11 cutting-edge databases worth exploring now OrientDB packages itself as a "second-generation graph database." In other words, the nodes in the graphs are documents waiting for arbitrary key-value pairs.
  • 60. A Bright Future Graph DBMS increased their popularity by 500% within the last 2 years. Document DBMS are the 3rd fastest growing category. Forrester estimates that over 25 percent of enterprises will use graph databases by 2017. Among the top 50, OrientDB is the technology with the largest year-on-year growth (+22 positions).
  • 61. Don t miss my presentation Tomorrow, at GraphDay 10:00am: Working Towards an Unbreakable Graph Database that Scales
  • 62. Thank you! @lgarulli Join the community, visit orientdb.com