2 Variability-Aware design of Database Technology
Download
Report
Transcript 2 Variability-Aware design of Database Technology
Laboratoire d’Informatique et d’Automatique pour les Systèmes
A Roadmap To Variability-Aware
Design of Database Technology
Phd Student
Selma BOUARAR
[email protected]
Advisors
Ladjel BELLATRECHE
[email protected]
Stéphane JEAN
[email protected]
PLAN
Context:
Software reuse
Database design
Objective
Database as a Software Product Line
Contributions
A SPL-based framework for designing DB
Evaluation of the proposal
Future work
Variability-Aware design of Database Technology
2
Context: Software engineering
and reuse strategies
Context
Objective
Contributions
Future work
Most organizations produce families of similar systems,
differentiated by features.
A strategic reuse makes sense.
Reuse History
SPL
Focus on Mass customization and domain knowledge
Domain-driven approaches: Generative programming,
Software Factories and Software Product Lines (SPL)
Variability-Aware design of Database Technology
3
Context: Software engineering
and reuse strategies
Context
Objective
Contributions
Future work
“SPLE is a paradigm to develop software applications
using a set of common assets and mass customization”
[Pohl et al. 05]
From Ad hoc to Systematic reuse
Widespread Use of Software Product Lines
Variability-Aware design of Database Technology
4
Context
Context: Software engineering
vs Database systems
Objective
Contributions
Future work
The data flowing through all the organizations is managed by
database systems
E.g. Static Data, scientific, agregated, etc.
Storage/Management
Requirements
Design
Conceptual
Design
Analysis
Logical
Design
DM
Evaluation
Physical
Design
…
Statistic DB
Scientific DB
Testing
DW
Deployment
Centralized
Flash
Cloud
Design
Impleme
-ntation
Development cycle
(Software)
Tuning
Variability-Aware design of Database Technology
5
Context
Motivation and objectives
Objective
Contributions
Future work
Variety of choices
SPL to manage variability all along the cycle
Enjoy benefits: Reduced time to market/cost, Quality, maintanability, etc.
From an ad hoc DB design to a systematic one
Deal with database design as a whole
BD
Requirements
Sources
Assist DB users during design process
Conceptual Design
E/A, UML, Semantic, etc.
Relational, Object, Multidimensional, etc.
Logical Design
Physical Design
Vertical, horizontal, binary, etc.
DB
Variability-Aware design of Database Technology
6
Context
Objective
Issues and Contributions
Contributions
Future work
Question 1: How to adapt SPL for Database design
BD
Sources
Requirements
Answer: Identification of the artefacts
Issue: An evolving lifeCycle
A generic framework
Conceptual Design
Formal definition of
database lifecycle
Logical Design
Dependencies between variants
Physical Design
Contribution 1 : A SPL-based framework for designing
highly customizable database products
Variability-Aware design of Database Technology
BD
7
Issues and Contributions:
1-A SPL-based framework for designing DB
Context
Objective
Contributions
Future work
Identification of the artefacts making up a SPL
pertain to
AnyMarket
organisating
Strategy
having
/
data
Application
to store/manage
Domain
is satisfied by
share an
Products
Precedence of phases
Architecture
+
Constraints
used to structure
are built from
Concrete instance of a DB
ready-to-be-implemented
Variability of the design
Components
life cycle
Variability-Aware design of Database Technology
8
Issues and Contributions:
1-A SPL-based framework for designing DB
Context
Objective
Contributions
Future work
An in-depth study of the life cycle
Generic Formal definition
Moving from formal definition to feature models
Variability across DB design life-cycle
Variability-Aware design of Database Technology
9
Issues and Contributions:
1-A SPL-based framework for designing DB
Context
Objective
Contributions
Future work
Constraints, dependencies
Reason on feature models
Decrease possible configurations number
When to bind to a variant (Compilation,
Runtime, etc.)
Specification of dependencies between variants
-
DeploymentArchitecture requires semantic
Logical design requires a conceptual design
Variability-Aware design of Database Technology
10
Issues and Contributions:
1- A SPL-based framework for designing DB
Context
Objective
Contributions
Future work
Implement features
A set of Java classes
Configuration
Binding variation points to variants
Feature-oriented programming with Jak files
Eclipse Plugin
FeatureIDE [1,2 ]
Maintenance
Populate variant features
Prune old variants
Adapt to new requirements
Variability-Aware design of Database Technology
11
Context
Issues and Contributions
Objective
Contributions
Future work
Question 2: How to assist DB designer, during the
configuration process, against the panoply of choices?
Answer: Evaluate variants and compare
A specific type of testing
Issue: Large number of variants
Contribution 2: Evaluation of the proposal: Use case on
testing DB design
Variability-Aware design of Database Technology
12
Issues and Contributions:
Context
Objective
2- Use case on testing databases
ER
Contributions
Future work
Relational
MV
NF1
NF2
Index
Horizontal
Vertical
HDD
Parallel
Centralized
Testing concern only leaf features
Performance
0,N
0,1
Design
Configuration
Feature
Functionality
Process
Usability
Variability-Aware design of Database Technology
13
Issues and Contributions:
2- Use case on testing databases
Logical Design:
Context
Objective
Contributions
Future work
Embedded Variants
First Level: Tied to DBMS choice.
Variation point: Relational
Variants: NF1, NF2, …, BCNF
Input: CMi = ᵠ(CM, Fi)
Output: LM1, LM2, …, LMn / Variability implementation
Test:
Performance, Functional, Usability, etc.
Result: Choose the most suitable LMi
Variability-Aware design of Database Technology
User+ hint
Correlation+
Workload
14
Issues and Contributions:
2- Use case on testing databases
Context
Objective
Contributions
Future work
RDB
..
XML
ETL
Conceptual
Phase
Logical
Phase
Physical
Phase
Tuning
Phase
ODB
Variability-Aware design of Database Technology
15
Issues and Contributions:
Context
Objective
2- Use case on testing databases
Contributions
Future work
Correlation+
Workload+ Statistics
Workload+
Statistics+ Hints
Hints +
Constraints
Deployment Layout [Jean et al., 13]
Optimization structures:
[Boukorça et al., 13]
Choice of the algorithm
Variability-Aware design of Database Technology
16
Context
Issues and Contributions
Objective
Contributions
Future work
Question 3: From Ad hoc to systematic design, how can
this help in the predictability of DB schema evolution
Future work
Contribution 3 : Application of SPL-based database design
on Schema evolution
Variability-Aware design of Database Technology
17
Context
Publications
Objective
Contributions
Publications
Conférences Internationales
•
Selma BOUARAR, Ladjel BELLATRECHE, Stephane JEAN, Mickael BARON, Do
Rule-based Approaches Still Make Sense in Logical Data Warehouse
Design?, Proceedings of the 18th East-European Conference on Advances in
Databases and Information Systems (ADBIS’ 2014)
•
Selma KHOURI, Ladjel BELLATRECHE, Ilyes BOUKHARI, Selma BOUARAR,
More Investment in Conceptual Designers: Think about it!, 15th IEEE
International Conference on Computational Science and Engineering (CSE’2012)
• Conférences Nationales
•
Selma BOUARAR, Ladjel BELLATRECHE, Stéphane JEAN, Mickael BARON,
Leveraging Ontology-based Methodologies for Designing Semantic
Data Warehouses, 29 èmes journées Bases de Données Avancées(BDA’2013)
En cours, Revue internationale
Selma BOUARAR, Ladjel BELLATRECHE, Stéphane JEAN, A Roadmap To
Variability-Aware Design of Database Technology, Software and System
Modeling (SOSYM). 30/11/2014
Variability-Aware design of Database Technology
18
References
[Jean et al., 13]: S. Jean, L. Bellatreche, O. Carlos, G. Fokou, and M.
Baron. Ontodbench: Interactively benchmarking ontology storage in a
database (demo paper). 32nd International Conference on Conceptual
Modeling, nov 2013.
[Boukorça et al., 13]: Ahcene BOUKORCA, Ladjel BELLATRECHE, SidAhmed Benali Senouci, Zoe FAGET, SONIC: Scalable multi-query
OptimizatioN through Integrated Circuit, (DEXA), 2013
[Pohl et al. 05]: Pohl, K., Böckle, G., and van der Linden, F. Software
Product Line Engineering - Foundations, Principles, and Techniques.
Springer. (2005)
Variability-Aware Testing in Database Technology
19
Des questions... ?