SlideShare a Scribd company logo
1 of 21
www.modeliosoft.com
Multi-cloud and multi-data
stores:
The challenges behind
heterogeneous data models
Marcos Almeida, Andrey Sadovykh, SOFTEAM |
ModelioSoft
CLOSER’14
1
20 ME
2006
17,5 ME
2005
60 ME
2012
Paris
Rennes
Nantes
Sophia
SOFTEAM – We are a French IT services / Software
vendor
OFTEAM, a growing
company
 20 years’ experience
 700 experts
 Regular growth
pecialist in OO technologies,
new architectures,
methodologies
anking, Defense, Telecom, …
www.modeliosoft.com 2
23 ME
2008
Modelio is a modelling tool for Software
and Systems Engineering
ML editor with 20 years’ history
o CloudML
o SysML
o MARTE
o Code generation
o Documentation
o Teamwork
www.modeliosoft.com 3
• Available under open
source at Modelio.org
Our problem? Heterogeneity
ulti-cloud applications
ifferent providers = different data stores
eterogeneous data models!
ractical example
o Modelio SaaS = Modelling as a Service
o Traditional relational data
• Users, roles, projects, services, billing….
o Challenge: How to store models?
• current version is SVN basedwww.modeliosoft.com 4
Context: Two projects researching on (multi)clouds
and big data
www.modeliosoft.com 5
http://www.modaclouds.eu/ - 318484 http://www.juniper-project.org/ - 318763
MODAClouds: MDE to avoid vendor lock-in
roblem:
• The main keyword: Multi clouds
• Multiplication of cloud providers
• Threats: Multiplication of Platforms  Vendor Lock-in
• Opportunities: MODACloudsML to reduce vendor-lockin
ur role
o Case study provider: Modelio as a Service
o Technology provider: Modelling applications independently from the cloud
www.modeliosoft.com
Service
A
Service
A
Service
B
Service
B
Interface IInterface I
Service A
(Deployment: Paas)
Service A
(Deployment: Paas)
NoSQL
Store
NoSQL
Store
Task
Queue
Task
Queue
Service A
(Deployment: Google App
Engine)
Service A
(Deployment: Google App
Engine)
BigTable
Store
BigTable
Store Google
Task
Queue
Google
Task
Queue
Service Oriented
Architecture based model Cloud specific concepts
model
Cloud provider specific
parameters model
<<required>>
<<provided>>
Deployable source codeDeployable source code
.WAR
file
.WAR
file
scriptsscripts
configurationconfiguration
JUNIPER: MDE to real-time applications
roblem
o The main keyword: Big Data
• Multiple streams of data + Multiple data types + Real-time constraints
o Current state of the art: NoSQL
• Pros
– Optimized for non-relational data
– Optimized for answering simple queries as fast as possible!
• Cons
– The code is “ the model” 
– Multiplication of NoSQL databases, paradigms and approaches
ur role
o Technology provider: Modelling real-time big data application
www.modeliosoft.com 7
Business Objects
(UML)
Business Objects
(UML)
Big Data Structure
Models
(e.g. Document based Data
Model)
Big Data Structure
Models
(e.g. Document based Data
Model)
Code
(Deployment scripts, Data
Access code)
Code
(Deployment scripts, Data
Access code)
The main problem is FRAGMENTATIONFRAGMENTATION!
any different database management systems
o Ex:
• MySQL (www.mysql.com/),
• Big Table (http://research.google.com/archive/bigtable.html)
• SimpleDB (http://aws.amazon.com/simpledb/)
• Memcached (http://memcached.org/)
• …
any underlying data representation paradigms
o Ex:
• Relational Databases
• Key-value Stores
• Object-oriented Databases
• Big Tables www.modeliosoft.com 8
The basis of our solution is MDE… Why?
eparating the problem from the solution
o In MODAClouds we model the problem
o In JUNIPER we model the solution
ostering automation
o Analysis
o Code generation www.modeliosoft.com 9
Business
Objects Transformation
HDFS
MySQL
MongoDB
Abstract Models
Specific Models / code
Transformation
Transformation
What do we get from MDE?
Pros
esign data once, store
everywhere!
rite your transformation
once, transform anything!
Cons
ransformations are hard to
write…
ow to make sure they are
CORRECT? i.e.
– Is there any data/semantic
loss?
www.modeliosoft.com 10
Understanding the problem… Why is it so
HARD? (1/2)
arget Technologies based on different paradigms
xample:
www.modeliosoft.com 11
A
B
JPA
@Entity
public class A {
@Basic
public B getB(){
…
}
…
}
SQL
create table A (…)
create table B (…)
create table A_B (…)
Understanding the problem… Why is it so
HARD? (2/2)
arget structure is variable
xample:
www.modeliosoft.com 12
A
B
ER
NoSQL
A
BAB
Here A and B
are
independent
entities
Here, for
performance
reasons, B is
embedded in A
A
B
Before modelling we need to understand what to
model!
hat’s the objective of this work!
oExisting databases
oSupported concepts
oWhat are the trade offs?
www.modeliosoft.com 13
How? identifying the main concepts, and related
expressiveness trade offs
oncepts rade offs
– Expressiveness:
• What one can or cannot
“say” in each database?
– Performance
• What kinds of query are
usually cheaper in each
data base?
– What’s the cost of going
from a database that
supports concept A to one
that supports concept B?
www.modeliosoft.com 14
What? identify the differences in data-models
supported by different data stores
www.modeliosoft.com 15
Why? to propose a cloud independent model of the
application data
www.modeliosoft.com 16
Example from Modelio SaaS
Why? to support mapping cloud independent data
types into specific ones
www.modeliosoft.com 17
urrent situation
o EXML
o HTTP
o RAMC
uture
o NoSQL database
Conclusion
ontext: Multiplication of …
o cloud providers, cloud data stores, data representation
paradigms
f you are a developer:
o How to design my application in a cloud provider
independent way?
• Ok, this doesn’t exist…
o What do I loose or gain when going from provider A to
provider B?
• Expressiveness
• Performance www.modeliosoft.com 18
Future Works
ODAClouds:
o Cloud independent Data Model
UNIPER:
o Business Object Model
• Targets Java 8
o Persistence Management
www.modeliosoft.com 19
Thank you for your attention!
arcos Almeida
OFTEAM | ModelioSoft
arcos.almeida@softeam.fr
OFTEAM R&D Web Site:
ttp://rd.softeam.com
odelioSoft Web Site:
www.modeliosoft.com 20
M o d e l i n g s o l u t i o n s.

More Related Content

Viewers also liked

Service Modelling with SoaML
Service Modelling with SoaMLService Modelling with SoaML
Service Modelling with SoaMLBrian Elvesæter
 
Mapping-Based Exchange of Models between Meta-Modeling Tools
Mapping-Based Exchange of Models between Meta-Modeling ToolsMapping-Based Exchange of Models between Meta-Modeling Tools
Mapping-Based Exchange of Models between Meta-Modeling Toolsheigoo
 
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...Alessandra Bagnato
 
INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...
INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...
INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...Alessandra Bagnato
 
Model driven engineering for big data management systems
Model driven engineering for big data management systemsModel driven engineering for big data management systems
Model driven engineering for big data management systemsMarcos Almeida
 
Service Modelling and Representation Techniques - a holistic Enterprise Arch...
Service Modelling and Representation Techniques  - a holistic Enterprise Arch...Service Modelling and Representation Techniques  - a holistic Enterprise Arch...
Service Modelling and Representation Techniques - a holistic Enterprise Arch...ServiceWave 2010
 
MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...
MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...
MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...Antonio García-Domínguez
 
BPMN Introduction
BPMN IntroductionBPMN Introduction
BPMN Introductionejlp12
 

Viewers also liked (9)

Service Modelling with SoaML
Service Modelling with SoaMLService Modelling with SoaML
Service Modelling with SoaML
 
Mapping-Based Exchange of Models between Meta-Modeling Tools
Mapping-Based Exchange of Models between Meta-Modeling ToolsMapping-Based Exchange of Models between Meta-Modeling Tools
Mapping-Based Exchange of Models between Meta-Modeling Tools
 
Softeam profile 2014
Softeam profile 2014Softeam profile 2014
Softeam profile 2014
 
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
 
INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...
INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...
INTO-CPS: An integrated “tool chain” for comprehensive Model-Based Design of ...
 
Model driven engineering for big data management systems
Model driven engineering for big data management systemsModel driven engineering for big data management systems
Model driven engineering for big data management systems
 
Service Modelling and Representation Techniques - a holistic Enterprise Arch...
Service Modelling and Representation Techniques  - a holistic Enterprise Arch...Service Modelling and Representation Techniques  - a holistic Enterprise Arch...
Service Modelling and Representation Techniques - a holistic Enterprise Arch...
 
MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...
MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...
MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commerc...
 
BPMN Introduction
BPMN IntroductionBPMN Introduction
BPMN Introduction
 

Similar to Multi-cloud and multi-data stores challenges

Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Databricks
 
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02BIWUG
 
How to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePointHow to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePointJoris Poelmans
 
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...Karen Thompson
 
Big Data Expo 2015 - Barnsten Why Data Modelling is Essential
Big Data Expo 2015 - Barnsten Why Data Modelling is EssentialBig Data Expo 2015 - Barnsten Why Data Modelling is Essential
Big Data Expo 2015 - Barnsten Why Data Modelling is EssentialBigDataExpo
 
How to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldHow to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldKaren Lopez
 
The Data Science Process - Do we need it and how to apply?
The Data Science Process - Do we need it and how to apply?The Data Science Process - Do we need it and how to apply?
The Data Science Process - Do we need it and how to apply?Ivo Andreev
 
01 nosql and multi model database
01   nosql and multi model database01   nosql and multi model database
01 nosql and multi model databaseMahdi Atawneh
 
黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)Fong Liou
 
Data Treatment MongoDB
Data Treatment MongoDBData Treatment MongoDB
Data Treatment MongoDBNorberto Leite
 
SQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBSQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBMarco Segato
 
NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)
NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)
NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)Binary Studio
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningPaco Nathan
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBMongoDB
 
Above the cloud joarder kamal
Above the cloud   joarder kamalAbove the cloud   joarder kamal
Above the cloud joarder kamalJoarder Kamal
 
Studying Software Engineering Patterns for Designing Machine Learning Systems
Studying Software Engineering Patterns for Designing Machine Learning SystemsStudying Software Engineering Patterns for Designing Machine Learning Systems
Studying Software Engineering Patterns for Designing Machine Learning SystemsHironori Washizaki
 
Big Data is changing abruptly, and where it is likely heading
Big Data is changing abruptly, and where it is likely headingBig Data is changing abruptly, and where it is likely heading
Big Data is changing abruptly, and where it is likely headingPaco Nathan
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?Venu Anuganti
 
Continuous Intelligence: Keeping your AI Application in Production
Continuous Intelligence: Keeping your AI Application in ProductionContinuous Intelligence: Keeping your AI Application in Production
Continuous Intelligence: Keeping your AI Application in ProductionDr. Arif Wider
 

Similar to Multi-cloud and multi-data stores challenges (20)

Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
 
CG_CS25010_Lecture
CG_CS25010_LectureCG_CS25010_Lecture
CG_CS25010_Lecture
 
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
 
How to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePointHow to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePoint
 
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
 
Big Data Expo 2015 - Barnsten Why Data Modelling is Essential
Big Data Expo 2015 - Barnsten Why Data Modelling is EssentialBig Data Expo 2015 - Barnsten Why Data Modelling is Essential
Big Data Expo 2015 - Barnsten Why Data Modelling is Essential
 
How to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database WorldHow to Survive as a Data Architect in a Polyglot Database World
How to Survive as a Data Architect in a Polyglot Database World
 
The Data Science Process - Do we need it and how to apply?
The Data Science Process - Do we need it and how to apply?The Data Science Process - Do we need it and how to apply?
The Data Science Process - Do we need it and how to apply?
 
01 nosql and multi model database
01   nosql and multi model database01   nosql and multi model database
01 nosql and multi model database
 
黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)黑豹 ch4 ddd pattern practice (2)
黑豹 ch4 ddd pattern practice (2)
 
Data Treatment MongoDB
Data Treatment MongoDBData Treatment MongoDB
Data Treatment MongoDB
 
SQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBSQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDB
 
NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)
NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)
NoSQL vs SQL (by Dmitriy Beseda, JS developer and coach Binary Studio Academy)
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine Learning
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDB
 
Above the cloud joarder kamal
Above the cloud   joarder kamalAbove the cloud   joarder kamal
Above the cloud joarder kamal
 
Studying Software Engineering Patterns for Designing Machine Learning Systems
Studying Software Engineering Patterns for Designing Machine Learning SystemsStudying Software Engineering Patterns for Designing Machine Learning Systems
Studying Software Engineering Patterns for Designing Machine Learning Systems
 
Big Data is changing abruptly, and where it is likely heading
Big Data is changing abruptly, and where it is likely headingBig Data is changing abruptly, and where it is likely heading
Big Data is changing abruptly, and where it is likely heading
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?
 
Continuous Intelligence: Keeping your AI Application in Production
Continuous Intelligence: Keeping your AI Application in ProductionContinuous Intelligence: Keeping your AI Application in Production
Continuous Intelligence: Keeping your AI Application in Production
 

Recently uploaded

Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxmibuzondetrabajo
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Internet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptxInternet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptxErYashwantJagtap
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 

Recently uploaded (17)

Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptx
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Internet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptxInternet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptx
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 

Multi-cloud and multi-data stores challenges

  • 1. www.modeliosoft.com Multi-cloud and multi-data stores: The challenges behind heterogeneous data models Marcos Almeida, Andrey Sadovykh, SOFTEAM | ModelioSoft CLOSER’14 1
  • 2. 20 ME 2006 17,5 ME 2005 60 ME 2012 Paris Rennes Nantes Sophia SOFTEAM – We are a French IT services / Software vendor OFTEAM, a growing company  20 years’ experience  700 experts  Regular growth pecialist in OO technologies, new architectures, methodologies anking, Defense, Telecom, … www.modeliosoft.com 2 23 ME 2008
  • 3. Modelio is a modelling tool for Software and Systems Engineering ML editor with 20 years’ history o CloudML o SysML o MARTE o Code generation o Documentation o Teamwork www.modeliosoft.com 3 • Available under open source at Modelio.org
  • 4. Our problem? Heterogeneity ulti-cloud applications ifferent providers = different data stores eterogeneous data models! ractical example o Modelio SaaS = Modelling as a Service o Traditional relational data • Users, roles, projects, services, billing…. o Challenge: How to store models? • current version is SVN basedwww.modeliosoft.com 4
  • 5. Context: Two projects researching on (multi)clouds and big data www.modeliosoft.com 5 http://www.modaclouds.eu/ - 318484 http://www.juniper-project.org/ - 318763
  • 6. MODAClouds: MDE to avoid vendor lock-in roblem: • The main keyword: Multi clouds • Multiplication of cloud providers • Threats: Multiplication of Platforms  Vendor Lock-in • Opportunities: MODACloudsML to reduce vendor-lockin ur role o Case study provider: Modelio as a Service o Technology provider: Modelling applications independently from the cloud www.modeliosoft.com Service A Service A Service B Service B Interface IInterface I Service A (Deployment: Paas) Service A (Deployment: Paas) NoSQL Store NoSQL Store Task Queue Task Queue Service A (Deployment: Google App Engine) Service A (Deployment: Google App Engine) BigTable Store BigTable Store Google Task Queue Google Task Queue Service Oriented Architecture based model Cloud specific concepts model Cloud provider specific parameters model <<required>> <<provided>> Deployable source codeDeployable source code .WAR file .WAR file scriptsscripts configurationconfiguration
  • 7. JUNIPER: MDE to real-time applications roblem o The main keyword: Big Data • Multiple streams of data + Multiple data types + Real-time constraints o Current state of the art: NoSQL • Pros – Optimized for non-relational data – Optimized for answering simple queries as fast as possible! • Cons – The code is “ the model”  – Multiplication of NoSQL databases, paradigms and approaches ur role o Technology provider: Modelling real-time big data application www.modeliosoft.com 7 Business Objects (UML) Business Objects (UML) Big Data Structure Models (e.g. Document based Data Model) Big Data Structure Models (e.g. Document based Data Model) Code (Deployment scripts, Data Access code) Code (Deployment scripts, Data Access code)
  • 8. The main problem is FRAGMENTATIONFRAGMENTATION! any different database management systems o Ex: • MySQL (www.mysql.com/), • Big Table (http://research.google.com/archive/bigtable.html) • SimpleDB (http://aws.amazon.com/simpledb/) • Memcached (http://memcached.org/) • … any underlying data representation paradigms o Ex: • Relational Databases • Key-value Stores • Object-oriented Databases • Big Tables www.modeliosoft.com 8
  • 9. The basis of our solution is MDE… Why? eparating the problem from the solution o In MODAClouds we model the problem o In JUNIPER we model the solution ostering automation o Analysis o Code generation www.modeliosoft.com 9 Business Objects Transformation HDFS MySQL MongoDB Abstract Models Specific Models / code Transformation Transformation
  • 10. What do we get from MDE? Pros esign data once, store everywhere! rite your transformation once, transform anything! Cons ransformations are hard to write… ow to make sure they are CORRECT? i.e. – Is there any data/semantic loss? www.modeliosoft.com 10
  • 11. Understanding the problem… Why is it so HARD? (1/2) arget Technologies based on different paradigms xample: www.modeliosoft.com 11 A B JPA @Entity public class A { @Basic public B getB(){ … } … } SQL create table A (…) create table B (…) create table A_B (…)
  • 12. Understanding the problem… Why is it so HARD? (2/2) arget structure is variable xample: www.modeliosoft.com 12 A B ER NoSQL A BAB Here A and B are independent entities Here, for performance reasons, B is embedded in A A B
  • 13. Before modelling we need to understand what to model! hat’s the objective of this work! oExisting databases oSupported concepts oWhat are the trade offs? www.modeliosoft.com 13
  • 14. How? identifying the main concepts, and related expressiveness trade offs oncepts rade offs – Expressiveness: • What one can or cannot “say” in each database? – Performance • What kinds of query are usually cheaper in each data base? – What’s the cost of going from a database that supports concept A to one that supports concept B? www.modeliosoft.com 14
  • 15. What? identify the differences in data-models supported by different data stores www.modeliosoft.com 15
  • 16. Why? to propose a cloud independent model of the application data www.modeliosoft.com 16 Example from Modelio SaaS
  • 17. Why? to support mapping cloud independent data types into specific ones www.modeliosoft.com 17 urrent situation o EXML o HTTP o RAMC uture o NoSQL database
  • 18. Conclusion ontext: Multiplication of … o cloud providers, cloud data stores, data representation paradigms f you are a developer: o How to design my application in a cloud provider independent way? • Ok, this doesn’t exist… o What do I loose or gain when going from provider A to provider B? • Expressiveness • Performance www.modeliosoft.com 18
  • 19. Future Works ODAClouds: o Cloud independent Data Model UNIPER: o Business Object Model • Targets Java 8 o Persistence Management www.modeliosoft.com 19
  • 20. Thank you for your attention! arcos Almeida OFTEAM | ModelioSoft arcos.almeida@softeam.fr OFTEAM R&D Web Site: ttp://rd.softeam.com odelioSoft Web Site: www.modeliosoft.com 20
  • 21. M o d e l i n g s o l u t i o n s.

Editor's Notes

  1. Basically, talking about