SlideShare a Scribd company logo
Ciel ! Mes données ne sont 
plus relationnelles 
BLEND WEB MIX 
01 Octobre 2013 
1
Xavier Gorse 
2 
@xgorse
3 
Association Française des Utilisateurs de PHP 
• Crée en 2001 
• Forum PHP ( 21 & 22 Novembre 2013 à Paris) 
• AperoPHP et Rendez Vous 
• Antennes Locale 
• Président en 2009 www.afup.org 
Association Francophone des utilisateurs de SYmfony 
• Initié en 2010 par Hugo Hamon 
• Pas encore une vraie association 
• Sfpot mensuel avec conférence suivie d’un apéro 
• Antenne à Marseille, Lyon ?? 
www.afsy.fr
4 
Elao 
• Fondateur en 2005 
• Lyon & Paris 
• Agence Web Technique de 15 personnes 
• Symfony depuis 2006 
• Partenaire officiel SensioLabs 
www.elao.com
5
Plan 
• Trend 
• Key-value databases 
• Document databases 
• Graph databases 
• Column-oriented databases 
6
RDBMS performance 
7 
Data complexity 
Performance 
Relational database 
Requirement of application 
Salary&list& 
Most&Web&apps& 
Social&Network& 
Loca5on7based&services& 
Source @ianSrobinson - @jimwebber from NeoTechnology
complexity = f(size, connectedness, uniformity) 
8
Data Size 
9 
2007 2008 2009 2010 2011 
2012 
2013
Data Size 
• 500 million page views a day 
• ~3TB of new data to store a day 
• Posts are about 50GB a day. 
Follower list updates are about 
2.7TB a day. 
10
Connectedness 
11 
Wikis) 
Blogs) 
Tagging) 
Ontologies) 
RDFa) 
web 1.0 web 2.0 “web 3.0” 
1990 2000 2010 2020 
Source @ianSrobinson - @jimwebber from NeoTechnology 
Informa(on)connec(vity) Text) 
Documents) 
Hypertext) 
Feeds) 
UGC) 
Folksonomies) 
GGG)
Uniformity 
• Semi-­‐structured 
data 
• Different 
data 
lifecycle 
• Store 
more 
data 
about 
each 
en7ty 
• Individualisa7on 
& 
decentraliza7on 
of 
content 
genera7on 
12
NoSQL 
Not Only SQL 
13
NoSQL 
• Non-­‐Rela7onal 
• Cluster 
Friendly 
• Schema 
less 
• Distributed 
architecture 
14
ACID & CAP Theorem 
ACID 
• Atomicity 
• Consistency 
• Isola7on 
• Durability 
15 
Cap 
Theorem 
• Consistency 
• Availability 
• Par77on 
Tolerance
Column 1 : value 
Column 2 : value 
Column 3 : value 
Key 
Key 
Key/Value Column-oriented 
Field 1 : value 
Field A : value 
Field B : value 
Field 2 : value 
Node 1 
Node 3 
Node 2 
Node 4 
Node 5 
Document 
oriented 
Graph 
Key Value 
Key Value 
Key Value 
Key Value 
16
Column 1 : value 
Column 2 : value 
Column 3 : value 
Key 
Key 
Key/Value Column-oriented 
Field 1 : value 
Field A : value 
Field B : value 
Field 2 : value 
Node 1 
Node 3 
Node 2 
Node 4 
Node 5 
Document 
oriented 
Graph 
Key Value 
Key Value 
Key Value 
Key Value 
17
Key-value databases 
• Inspired by Amazon’s Dynamo (2007) 
• Global collection of key-value 
• Big scalable HashMap 
18
• Strengths 
• Simple data model 
• High performance 
• Great at scaling out horizontally 
• Weaknesses 
• Simplistic data model 
• Poor for complex data 
19 
Key-value databases
• Written in C - BSD License - 2009 
• Very fast and light-weigth 
• All data in memory 
• Persistence 
• Master/Slave Replication 
• Used for caching, session or working 
queue 
20 
Key-value databases 
http://redis.io/
• Riak 
• Memcache (RAM) 
• Voldemort 
• Amazon DynamoDB (Saas) 
• IronCache (Saas) 
21 
Key-value databases
Column 1 : value 
Column 2 : value 
Column 3 : value 
Key 
Key 
Key/Value Column-oriented 
Field 1 : value 
Field A : value 
Field B : value 
Field 2 : value 
Node 1 
Node 3 
Node 2 
Node 4 
Node 5 
Document 
oriented 
Graph 
Key Value 
Key Value 
Key Value 
Key Value 
22
Document databases 
• Inspired by IBM Lotus Notes/Domino 
• Idem from Key/Value with value as a 
document 
• A document is a key-value collection 
• Flexible schema 
• Non-relational, data is de-normalized 
23
Document databases 
• Strengths 
• Simple, powerful data model 
• Good scaling, Easy/Auto sharding 
• Usually “ACID” compliant 
• Weaknesses 
• Unsuited for interconnected data 
• Query model limited to keys (and indexes) 
24
Document databases 
• Written in C++ - License AGPL - 2009 
• JSON-style documents 
• Full Index Support 
• Fast In-Place Updates 
• Auto-Sharding 
• Replication & High Availability 
• A lot of Connector 
• Big Community 
• Commercial Support 
25 
http://www.mongodb.org
Document databases 
• Lotus Notes / Domino 
• CouchDB 
written in Erlang, Javascript for Query 
• OrientDB 
written in Java, relationship as graph 
26
Column 1 : value 
Column 2 : value 
Column 3 : value 
Key 
Key 
Key/Value Column-oriented 
Field 1 : value 
Field A : value 
Field B : value 
Field 2 : value 
Node 1 
Node 3 
Node 2 
Node 4 
Node 5 
Document 
oriented 
Graph 
Key Value 
Key Value 
Key Value 
Key Value 
27
Graph databases 
• Nodes with properties 
• Named relationships with properties 
• Focus on the data structure 
• Direct pointer to its adjacent element and 
no indexlookups are necessary 
28
Graph databases 
• Strengths 
• Powerful data model 
• Fast for connected data 
• A new data architecture 
• Weaknesses 
• No Sharding : All data in one instance 
• Using Node/Relation property for Query kill 
performance 
• A new data architecture 
29
Graph databases 
• Java - GPL/Commercial - 2007 
• Query language : Cypher / Gremlin 
• REST Interface 
• Embed Mode 
• High Availability ( Master / Slave) 
• Commercial Support 
http://neo4j.org 
30
GraphDB - Products 
• Titan 
• OrientDB 
• InfiniteGraph 
• AllegroGraph 
31
Column 1 : value 
Column 2 : value 
Column 3 : value 
Key 
Key 
Key/Value Column-oriented 
Field 1 : value 
Field A : value 
Field B : value 
Field 2 : value 
Node 1 
Node 3 
Node 2 
Node 4 
Node 5 
Document 
oriented 
Graph 
Key Value 
Key Value 
Key Value 
Key Value 
32
Column-oriented database 
• A big table, with column families 
• Data stored by column instead of row 
• Build for distributed architecture 
• Map-reduce for querying/processing 
• Flexible schema 
• Easy sharding (partitioning) 
33
Column-oriented database 
• Strengths 
• Data model supports semi-structured data 
• Naturally indexed (columns) 
• Horizontally scalable – RW increase linearly 
• Fault tolerant – no single point of failure 
• Weaknesses 
• Unsuited for interconnected data 
34
Column-oriented database 
• Java - Apache License 2 - 2008 
• Developed by Facebook 
• Decentralized 
• Supports replication and multi data center 
replication 
• Scalability 
• Fault-tolerant 
• MapReduce support 
http://cassandra.apache.org/ 
35
Column-oriented database 
• HBase (Apache) 
• HyperTable 
• BigTable (Google) 
36
Conclusion 
• Application architecture impact 
• Store your data in the way you want to 
query it 
• Denormalize your data and try to keep 
them up-to-date ! 
37
38
Merci

More Related Content

What's hot

Lantea platform
Lantea platformLantea platform
Lantea platform
Neuzilla
 
introduction to Neo4j (Tabriz Software Open Talks)
introduction to Neo4j (Tabriz Software Open Talks)introduction to Neo4j (Tabriz Software Open Talks)
introduction to Neo4j (Tabriz Software Open Talks)
Farzin Bagheri
 
GraphDb in XPages
GraphDb in XPagesGraphDb in XPages
GraphDb in XPages
Oliver Busse
 
Infinum Android Talks #04 - CouchBase Lite
Infinum Android Talks #04 - CouchBase LiteInfinum Android Talks #04 - CouchBase Lite
Infinum Android Talks #04 - CouchBase Lite
Denis_infinum
 
An Introduction to Pentaho Kettle
An Introduction to Pentaho KettleAn Introduction to Pentaho Kettle
An Introduction to Pentaho Kettle
Dan Moore
 
Find your data
Find your dataFind your data
Find your data
Oliver Busse
 
ACM TechTalks : Apache Arrow and the Future of Data Frames
ACM TechTalks : Apache Arrow and the Future of Data FramesACM TechTalks : Apache Arrow and the Future of Data Frames
ACM TechTalks : Apache Arrow and the Future of Data Frames
Wes McKinney
 
Introduction to NoSQL and MongoDB
Introduction to NoSQL and MongoDBIntroduction to NoSQL and MongoDB
Introduction to NoSQL and MongoDB
Ahmed Farag
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph Schema
Joshua Shinavier
 
Presto at Hadoop Summit 2016
Presto at Hadoop Summit 2016Presto at Hadoop Summit 2016
Presto at Hadoop Summit 2016
kbajda
 
HypergraphDB
HypergraphDBHypergraphDB
HypergraphDB
Jan Drozen
 
Introduction to Big Data
Introduction to Big DataIntroduction to Big Data
Introduction to Big Data
Md. Afif Al Mamun
 
On-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the CloudOn-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the Cloud
Marin Dimitrov
 
BDM8 - Near-realtime Big Data Analytics using Impala
BDM8 - Near-realtime Big Data Analytics using ImpalaBDM8 - Near-realtime Big Data Analytics using Impala
BDM8 - Near-realtime Big Data Analytics using Impala
David Lauzon
 
Approaching graph db
Approaching graph dbApproaching graph db
Approaching graph db
Sergey Enin
 
Review of KohaCon18
Review of KohaCon18Review of KohaCon18
Review of KohaCon18
PTFS Europe Limited
 
JugMarche: Neo4j 2 (Cypher)
JugMarche: Neo4j 2 (Cypher)JugMarche: Neo4j 2 (Cypher)
JugMarche: Neo4j 2 (Cypher)
Onofrio Panzarino
 
Does it Mix? Cassandra and RDBMS working together!
Does it Mix? Cassandra and RDBMS working together!Does it Mix? Cassandra and RDBMS working together!
Does it Mix? Cassandra and RDBMS working together!
Carlos Juzarte Rolo
 
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use caseBDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
David Lauzon
 

What's hot (19)

Lantea platform
Lantea platformLantea platform
Lantea platform
 
introduction to Neo4j (Tabriz Software Open Talks)
introduction to Neo4j (Tabriz Software Open Talks)introduction to Neo4j (Tabriz Software Open Talks)
introduction to Neo4j (Tabriz Software Open Talks)
 
GraphDb in XPages
GraphDb in XPagesGraphDb in XPages
GraphDb in XPages
 
Infinum Android Talks #04 - CouchBase Lite
Infinum Android Talks #04 - CouchBase LiteInfinum Android Talks #04 - CouchBase Lite
Infinum Android Talks #04 - CouchBase Lite
 
An Introduction to Pentaho Kettle
An Introduction to Pentaho KettleAn Introduction to Pentaho Kettle
An Introduction to Pentaho Kettle
 
Find your data
Find your dataFind your data
Find your data
 
ACM TechTalks : Apache Arrow and the Future of Data Frames
ACM TechTalks : Apache Arrow and the Future of Data FramesACM TechTalks : Apache Arrow and the Future of Data Frames
ACM TechTalks : Apache Arrow and the Future of Data Frames
 
Introduction to NoSQL and MongoDB
Introduction to NoSQL and MongoDBIntroduction to NoSQL and MongoDB
Introduction to NoSQL and MongoDB
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph Schema
 
Presto at Hadoop Summit 2016
Presto at Hadoop Summit 2016Presto at Hadoop Summit 2016
Presto at Hadoop Summit 2016
 
HypergraphDB
HypergraphDBHypergraphDB
HypergraphDB
 
Introduction to Big Data
Introduction to Big DataIntroduction to Big Data
Introduction to Big Data
 
On-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the CloudOn-Demand RDF Graph Databases in the Cloud
On-Demand RDF Graph Databases in the Cloud
 
BDM8 - Near-realtime Big Data Analytics using Impala
BDM8 - Near-realtime Big Data Analytics using ImpalaBDM8 - Near-realtime Big Data Analytics using Impala
BDM8 - Near-realtime Big Data Analytics using Impala
 
Approaching graph db
Approaching graph dbApproaching graph db
Approaching graph db
 
Review of KohaCon18
Review of KohaCon18Review of KohaCon18
Review of KohaCon18
 
JugMarche: Neo4j 2 (Cypher)
JugMarche: Neo4j 2 (Cypher)JugMarche: Neo4j 2 (Cypher)
JugMarche: Neo4j 2 (Cypher)
 
Does it Mix? Cassandra and RDBMS working together!
Does it Mix? Cassandra and RDBMS working together!Does it Mix? Cassandra and RDBMS working together!
Does it Mix? Cassandra and RDBMS working together!
 
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use caseBDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
 

Similar to Ciel, mes données ne sont plus relationnelles

Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and NoSQLDon Demcsak
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
Bethmi Gunasekara
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
Viet-Trung TRAN
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
Girish Khanzode
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Don Demcsak
 
Scaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQLScaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQL
Richard Schneeman
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011
Gavin Heavyside
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
John D Almon
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalramazan fırın
 
Large Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraphLarge Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraph
P. Taylor Goetz
 
Large Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraphLarge Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraph
DataWorks Summit
 
Graph Database and Neo4j
Graph Database and Neo4jGraph Database and Neo4j
Graph Database and Neo4jSina Khorami
 
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesWebinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
MongoDB
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
nehabsairam
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
Rahul Borate
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
Christopher Foot
 

Similar to Ciel, mes données ne sont plus relationnelles (20)

Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and NoSQL
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
NoSQL
NoSQLNoSQL
NoSQL
 
NoSQL-Overview
NoSQL-OverviewNoSQL-Overview
NoSQL-Overview
 
Scaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQLScaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQL
 
noSQL choices
noSQL choicesnoSQL choices
noSQL choices
 
Revision
RevisionRevision
Revision
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-final
 
Large Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraphLarge Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraph
 
Large Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraphLarge Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraph
 
Graph Database and Neo4j
Graph Database and Neo4jGraph Database and Neo4j
Graph Database and Neo4j
 
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data LakesWebinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
Webinar: Enterprise Data Management in the Era of MongoDB and Data Lakes
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
 

Recently uploaded

space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 

Recently uploaded (20)

space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 

Ciel, mes données ne sont plus relationnelles

  • 1. Ciel ! Mes données ne sont plus relationnelles BLEND WEB MIX 01 Octobre 2013 1
  • 2. Xavier Gorse 2 @xgorse
  • 3. 3 Association Française des Utilisateurs de PHP • Crée en 2001 • Forum PHP ( 21 & 22 Novembre 2013 à Paris) • AperoPHP et Rendez Vous • Antennes Locale • Président en 2009 www.afup.org Association Francophone des utilisateurs de SYmfony • Initié en 2010 par Hugo Hamon • Pas encore une vraie association • Sfpot mensuel avec conférence suivie d’un apéro • Antenne à Marseille, Lyon ?? www.afsy.fr
  • 4. 4 Elao • Fondateur en 2005 • Lyon & Paris • Agence Web Technique de 15 personnes • Symfony depuis 2006 • Partenaire officiel SensioLabs www.elao.com
  • 5. 5
  • 6. Plan • Trend • Key-value databases • Document databases • Graph databases • Column-oriented databases 6
  • 7. RDBMS performance 7 Data complexity Performance Relational database Requirement of application Salary&list& Most&Web&apps& Social&Network& Loca5on7based&services& Source @ianSrobinson - @jimwebber from NeoTechnology
  • 8. complexity = f(size, connectedness, uniformity) 8
  • 9. Data Size 9 2007 2008 2009 2010 2011 2012 2013
  • 10. Data Size • 500 million page views a day • ~3TB of new data to store a day • Posts are about 50GB a day. Follower list updates are about 2.7TB a day. 10
  • 11. Connectedness 11 Wikis) Blogs) Tagging) Ontologies) RDFa) web 1.0 web 2.0 “web 3.0” 1990 2000 2010 2020 Source @ianSrobinson - @jimwebber from NeoTechnology Informa(on)connec(vity) Text) Documents) Hypertext) Feeds) UGC) Folksonomies) GGG)
  • 12. Uniformity • Semi-­‐structured data • Different data lifecycle • Store more data about each en7ty • Individualisa7on & decentraliza7on of content genera7on 12
  • 13. NoSQL Not Only SQL 13
  • 14. NoSQL • Non-­‐Rela7onal • Cluster Friendly • Schema less • Distributed architecture 14
  • 15. ACID & CAP Theorem ACID • Atomicity • Consistency • Isola7on • Durability 15 Cap Theorem • Consistency • Availability • Par77on Tolerance
  • 16. Column 1 : value Column 2 : value Column 3 : value Key Key Key/Value Column-oriented Field 1 : value Field A : value Field B : value Field 2 : value Node 1 Node 3 Node 2 Node 4 Node 5 Document oriented Graph Key Value Key Value Key Value Key Value 16
  • 17. Column 1 : value Column 2 : value Column 3 : value Key Key Key/Value Column-oriented Field 1 : value Field A : value Field B : value Field 2 : value Node 1 Node 3 Node 2 Node 4 Node 5 Document oriented Graph Key Value Key Value Key Value Key Value 17
  • 18. Key-value databases • Inspired by Amazon’s Dynamo (2007) • Global collection of key-value • Big scalable HashMap 18
  • 19. • Strengths • Simple data model • High performance • Great at scaling out horizontally • Weaknesses • Simplistic data model • Poor for complex data 19 Key-value databases
  • 20. • Written in C - BSD License - 2009 • Very fast and light-weigth • All data in memory • Persistence • Master/Slave Replication • Used for caching, session or working queue 20 Key-value databases http://redis.io/
  • 21. • Riak • Memcache (RAM) • Voldemort • Amazon DynamoDB (Saas) • IronCache (Saas) 21 Key-value databases
  • 22. Column 1 : value Column 2 : value Column 3 : value Key Key Key/Value Column-oriented Field 1 : value Field A : value Field B : value Field 2 : value Node 1 Node 3 Node 2 Node 4 Node 5 Document oriented Graph Key Value Key Value Key Value Key Value 22
  • 23. Document databases • Inspired by IBM Lotus Notes/Domino • Idem from Key/Value with value as a document • A document is a key-value collection • Flexible schema • Non-relational, data is de-normalized 23
  • 24. Document databases • Strengths • Simple, powerful data model • Good scaling, Easy/Auto sharding • Usually “ACID” compliant • Weaknesses • Unsuited for interconnected data • Query model limited to keys (and indexes) 24
  • 25. Document databases • Written in C++ - License AGPL - 2009 • JSON-style documents • Full Index Support • Fast In-Place Updates • Auto-Sharding • Replication & High Availability • A lot of Connector • Big Community • Commercial Support 25 http://www.mongodb.org
  • 26. Document databases • Lotus Notes / Domino • CouchDB written in Erlang, Javascript for Query • OrientDB written in Java, relationship as graph 26
  • 27. Column 1 : value Column 2 : value Column 3 : value Key Key Key/Value Column-oriented Field 1 : value Field A : value Field B : value Field 2 : value Node 1 Node 3 Node 2 Node 4 Node 5 Document oriented Graph Key Value Key Value Key Value Key Value 27
  • 28. Graph databases • Nodes with properties • Named relationships with properties • Focus on the data structure • Direct pointer to its adjacent element and no indexlookups are necessary 28
  • 29. Graph databases • Strengths • Powerful data model • Fast for connected data • A new data architecture • Weaknesses • No Sharding : All data in one instance • Using Node/Relation property for Query kill performance • A new data architecture 29
  • 30. Graph databases • Java - GPL/Commercial - 2007 • Query language : Cypher / Gremlin • REST Interface • Embed Mode • High Availability ( Master / Slave) • Commercial Support http://neo4j.org 30
  • 31. GraphDB - Products • Titan • OrientDB • InfiniteGraph • AllegroGraph 31
  • 32. Column 1 : value Column 2 : value Column 3 : value Key Key Key/Value Column-oriented Field 1 : value Field A : value Field B : value Field 2 : value Node 1 Node 3 Node 2 Node 4 Node 5 Document oriented Graph Key Value Key Value Key Value Key Value 32
  • 33. Column-oriented database • A big table, with column families • Data stored by column instead of row • Build for distributed architecture • Map-reduce for querying/processing • Flexible schema • Easy sharding (partitioning) 33
  • 34. Column-oriented database • Strengths • Data model supports semi-structured data • Naturally indexed (columns) • Horizontally scalable – RW increase linearly • Fault tolerant – no single point of failure • Weaknesses • Unsuited for interconnected data 34
  • 35. Column-oriented database • Java - Apache License 2 - 2008 • Developed by Facebook • Decentralized • Supports replication and multi data center replication • Scalability • Fault-tolerant • MapReduce support http://cassandra.apache.org/ 35
  • 36. Column-oriented database • HBase (Apache) • HyperTable • BigTable (Google) 36
  • 37. Conclusion • Application architecture impact • Store your data in the way you want to query it • Denormalize your data and try to keep them up-to-date ! 37
  • 38. 38
  • 39. Merci