Upload
cyrille-le-clerc
View
2.037
Download
0
Embed Size (px)
DESCRIPTION
Cyrille Le Clerc (Xebia), Erwan Alliaume (Xebia), Jean Michel Bea (Fast Connect) ont présenté au Paris Java User Group les principes du Data Grid. Cache distribué, Network Attached Memory, Data Grid ou Cloud Computing sont des termes très à la mode qui s’inscrivent dans la même tendance. Nous présenterons pendant cette soirée le chemin qui nous à conduit d’un simple EH Cache à des grilles de centaines de giga octects de données qui s’étalent sur des data center. CACHES DISTRIBUES Les Cache Distribués se sont banalisés avec les frameworks Open Source Jboss Cache et EH Cache distribué. Où en sommes nous aujourd’hui ? - Quels sont les cas d’utilisation d’un cache distribué ? Quels gains en attendre ? - Comment migrer d’un cache local à un cache distribué ? Nos frameworks sont-ils adaptés à ces caches distribués ? - Comment fonctionne un cache distribué ? NETWORK ATTACHED MEMORY Le concept de Network Attached Memory a décollé dans l’univers Java avec Terracotta et offre à nos applications un espace mémoire encore inimaginable il y a peu. Que se cache-t-il derrière ? - Quels sont les cas d’utilisation des technologies de Network Attached Memory ? - Cette mémoire virtuellement infinie n’introduit-elle pas des contraintes ? - Si la mémoire est partagée, qu’en est-il des traitements ? - Quelles sont les perspectives des technologies de Network Attached Memory ? DATA GRID Le concept de data grid s’est popularisé avec les services Google Big Table ou Amazon S3 mais aussi avec des sites comme eBay qui annoncent des data center gigantesques. Cela va-t-il arriver dans l’informatique classique ? - Qu’est-ce qu’une grille de donnée ? Comment ça marche ? - Qui a besoin de Data Grid ? Est-ce réservé aux hyper scalable comme eBay ou Facebook ? Comment faisait-on avant ? En ai-je besoin ? - Comment structurer une application pour utiliser une grille de données ? Cela la change-t-il la façon de programmer ? - Map Reduce est-il un pattern utilisable avec une grille de données ? Est-ce le seul ? - Les grilles de données vont-elles remplacer les bases de données traditionnelles ? Comment peuvent-elles cohabiter ? DATA GRID, CLOUD ET LES AUTRES Data Grid, Grid Computing, Cloud Computing et eXtreme Transaction Processing (XTP) sont fréquement associés. Comment positionner Data Grid par rapport à ces technologies ? Quels positionnements ont les acteurs de cet univers ? Amazon S3&EC2 ? Coherence ? Gigaspace ? Google App engine & Big Table ? Grid Gain ? Terracotta ? Websphere eXtreme Scale ? Et les mainframes dans tout ça ?
Citation preview
www.parisjug.org
www.parisjug.org
Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009
Data gridDu cache distribué aux grilles de données
Cyrille Le ClercXebia
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009
Data gridDu cache distribué aux grilles de données
Erwan AlliaumeXebia
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009
Data gridDu cache distribué aux grilles de données
Jean-Michel BeaFast Connect
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 5
« Du cache distribué
aux grilles de données »
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 6
Intervenants
Cyrille Le Clerc (Xebia)
Erwan Alliaume (Xebia)
Jean-Michel Bea (Fast Connect)
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 7
Sommaire
Caches distribués
Network Attached Memory
Grilles de données
Data Grid, Cloud et les autres …
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Distributed cache and Network Attached Memory has been removed to focus on Data
Grid
8
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Grilles de données
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Partitionner pour tenir la charge
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 39
Partitionner pour tenir la charge
Jusqu’à 1.5 To de RAM et 64 processeurs
Tout sur le même serveur : déjà vu, souvent possible mais très couteux
Data
Mainframe
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Partitionner pour tenir la chargeData Grid
Partition beta
Partition gamma
Partition alpha
Data
Mainframe
Small Server
Small Server
Small Server
Partition data on several servers
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Répliquer pour la disponibilité
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Répliquer pour la disponibilité
Disponibilité Read / Write
Read Only
Read Only
Performances
Partition alpha
Partition alpha
master
Sync replica
Async replica
Master
Sync replica
Async replica
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Répliquer pour la disponibilité
La résilience avec des
réplicas asynchrones
Stand By Data Center
Async replica
Active Data Center
Sync replica
master
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Partitionner et Répliquer
JVM
2C
onta
iner
2JV
M 1
Con
tain
er 1
partition alpha
master
Sync replica
Async replica
partition gamma
Sync replica
master
Async replica
JVM
nC
onta
iner
n
JVM
Catalog Service
JVM
Catalog Service
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Du Near Cache
à la Data Grid
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 46
Le Near CacheApplication avec un near cache
Database ShockAbsorber
Central Database
Cache partition alpha Cache partition beta Cache partition gamma
Node 1
Client near cache
Node n
Client near cache
Dat
agrid
App
licat
ion
clus
ter
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 47
Les limites du Near Cache
Partition alpha
Application
Client near cache
Datagrid
Partition beta
Partition gamma
Latency !Bandwith !
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 48
Du Near Cache à la Grille de Données
Partition alpha
Application
Client near cache
Datagrid
Partition beta
Partition gamma
Stop data transfer
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 49
Du Near Cache à la Grille de Données
Colocalise
r traite
ments
et données
Application
partition alpha
partition gamma
Datagrid
...
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
La grille de donnée
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 51
La grille de données
partition alpha
partition beta
partition gamma
Datagrid
datagrid enabled app
Reduced Business Logic
Collocated data & business logic
Reduced data transferCollocated data & business logic
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 52
La grille de données
Les données sont partionnées
Traitements et données sont colocalisés
Le volume de données échangées est limité aux requêtes et aux fragments de résultat
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Structurer ses données pour la
grille
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 54
Un système de réservation de billets de train !
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 55
Partitionner les données
Modélisation orientée objet classique
TrainStopdate
TrainStationcodename
Traincodetype
Seatnumberprice
Bookingreduction
Passengername
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 56
Partitionner les données
Root entity, clef de partitionnement, sub-entities & duplication de données de référence
TrainStopdate
Seatnumberprice
Bookingreduction
Passengername
Reference data
Duplicated in each partition
TrainStationcodename
Root entity
Partitioning ready entities tree
Traincodetype
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 57
Partitionner les données
Suppression des données inutiles à la logique métier
TrainStopdate
Seatnumberprice
Bookingreduction
Passengername
booked
Remove unused data
TrainStationcodename
Traincodetype
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 58
Partitionner les données
Modélisation partitionnée ‘grid ready’Des données façonnées au besoin métier
Un modèle
‘share nothing’
TrainStopdate
TrainStationcodename
Seatnumberpricebooked
Traincodetype
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 59
Partitionner les données
Casser les relations pour partitionnerSituation de comptes bancaires
from to
CashWitdrawaldateamount
MoneyTransferiddateamount
Accountnumber
CashWitdrawaldateamount
Accountnumber
Sunday, June 13, 2010
CashWitdrawaldateamount
CashWitdrawaldateamount
MoneyTransferIniddateamount
MoneyTransferOutiddateamount
Accountnumber
Accountnumber
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 60
Partitionner les données
Casser les relations pour partitionnerSituation de comptes bancaires
MoneyTransfer est partagé par 2 instances de la root entity !
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 61
Partitionner les données
Casser les relations pour partitionnerSituation de comptes bancaires
Découper MoneyTransfer en 2 entités Et casser le lien !
CashWitdrawaldateamount
CashWitdrawaldateamount
MoneyTransferIniddateamount
MoneyTransferOutiddateamount
Accountnumber
Accountnumber
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 62
Partitionner les données
Casser les relations pour partitionnerSituation de comptes bancaires
Les instances d’Account sont isolées !
CashWitdrawaldateamount
MoneyTransferOutiddateamount
Accountnumber
CashWitdrawaldateamount
MoneyTransferIniddateamount
Accountnumber
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 63
Partitionner les données
Modélisation partitionnée ‘grid ready’Des données façonnées au besoin métier
Account est la root entity de la grille !
CashWitdrawaldateamount
MoneyTransferOutiddateamount
MoneyTransferIniddateamount
Accountnumber
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 64
Le modèle de programmation
À la JPA
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 65
Le modèle de programmation
API de haut niveau à la JPA (persist, merge, remove, find)
Relations entre les entités (@OneToMany, @ManyToOne, @OneToOne)
Versioning (@version)
Indexation des attributs (@Index)
Query language ("select e from Employee e where e.lastName=:lastName" )
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 66
Les Design patterns
Map Reduce
departure=Parisarrival=MarseilledepartureTime=2009/05/01 15:00
datagrid enabled
app
Datagrid
partition gamma
Search trains
partition beta
Search trains
partition alpha
Search trains
Envoyer le traitement
sur toutes les partitions
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 67
Les Design patterns
Map Reduce 0153 - Paris -> Marseille - 15:053954 - Paris -> Marseille - 15:35
datagrid enabled
app
Datagrid
partition gamma
Search trains
partition beta
Search trains
partition alpha
Search trains
1543 - Paris -> Marseille - 14:357492 - Paris -> Lyon -> Marseille – 15:05
NULL
Chaque partition retourne
un fragment de résultat
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 68
Les Design patterns
Map Reduce
Le client agrège les
fragments de résultats
datagrid enabled
app
Datagrid
partition gamma
Search trains
partition beta
Search trains
partition alpha
Search trains
1543 - Paris -> Marseille - 14:357492 - Paris -> Lyon -> Marseille – 15:050153 - Paris -> Marseille - 15:053954 - Paris -> Marseille - 15:35
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 69
Les Design patterns
Request Routing
Une seule partition réalise
le traitement
Book 1 seat on train 0153
datagrid enabled
app
Datagrid
partition gamma
partition beta
partition alpha
Book Ticket
Book Ticket
Book Ticket
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 70
Transactions et ACIDité
Mais et l' ACID dans tout ça ?
Théoriquement possible (Transaction distribuée, 2 phases commit)
Supporté par certains outils (GigaSpaces)
Est-ce vraiment une bonne chose ?
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Interactions avec la base de données
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 72
Interactions avec la BDD
Central Database
Data Grid
Partition beta
Partition alpha
Partition gamma
insert, update & delete
Select (new, modified, deleted)
Comment synchroniser ?
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 73
Interactions avec la BDD
Central Database
Data Grid
Partition gamma
Partition beta
Partition alpha
datagrid enabled
app persist, merge & remove
insert, update & delete
insert, update & delete
insert, update & delete
Entities Modifications Listener
Grille -> BDD
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 74
Interactions avec la BDD
Ecriture en batch sur la BDD
Ecriture en batch à la BDD
Supporte l’indisponibilité de la BDD
Hautement disponible par la réplication de la queue
Central DatabasePartition
Entities Async Batch Modifications Listener
datagrid enabled
app
Entities SyncModifications Listener
Queue
Cache write latency
batch insert, update & delete
persist, merge & remove
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 75
Interactions avec la BDD
Comment détecter
les changements de la BDD ?
Data Grid
Partition beta
Partition alpha
Partition gammaNon datagrid enabled app
create, merge & remove
insert, update & delete
Central Database
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 76
Interactions avec la BDD
select id from train where last_modification > ?
select id from sys_deleted where table=’train’ and last_modification > ?
Data Grid
Partition alpha
Partition beta
Partition gamma
Synchronization Daemon
Cache read latency
select
Central Database
select
select
BDD -> Grille
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 77
Interactions avec la BDD
System Change NumberSur chaque table, une colonne système porte un numéro croissant de la dernière transactionUtilisé pour les checkpoints et la réplicationSupport natif dans :
Oracle: introduit en10G, le SCN est un nombre similaire au numéro de révision SubversionDB2: introduit en 9.5, le SCN est un timestamp
Equivalent manuel : une colonne timestampLa liste des lignes supprimées est stockée dans une table système
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 78
Interactions avec la BDD
Les API de loadersLire en base les données manquantes
List<entity> get(List<id>)
Persister en base les modificationsvoid persist(List<type, entity>)type : insert, update, delete
Bulk load depuis la base au démarrage de la grille
preload(grid)
/!\ les opérations doivent être multi entités pour tenir la charge !
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 79
Interactions avec la BDD
Loaders internes :Pros
L’accès à la base est regroupé dans la grille => cohesivenessLa charge d’accès à la base est répartie sur les partitionsWrite behind permet de batcher les accès à la base
ConsComment un loader peut-il ne charger que les données de sa partition ?
« Je suis le loader de la partition beta, comment puis-jet interroger la base sur les seules données gérées par la partition beta ? Je dois connaitres l’algorithme de partionnement »
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 80
Interactions avec la BDD
Le loader externeCentral Database
Data Grid
Partition beta
Partition alpha
Partition gamma
Node 1
Node n
External loader cluster
select
put
put
put
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 81
Interactions avec la BDD
Loaders externes :Pros
Simple, le partitionnement est réalisé par la grille
ConsLe loader externe devient le goulet d’étranglement des performancesLe code d’accès à la base est disséminé entre la grille et le loader externe => loss of cohesiveness
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Et les batchs ?
Une grille de données peut écourter les nuits batch en parallélisant les traitements.
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Cloud, Grid, XTP et les autres
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Les acteurs
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Les acteursDistributed HashTable (DHT), Key Value Store
SimpleDB, DataStore / BigTable / Hypertable, Memcached, Project Voldermort, CouchDB
Compute GridGridGain
In Memory Data GridGigaSpaces, Oracle Coherence, Websphere eXtreme Scale.
Distributed File systemHadoop
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Questions / Réponses
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 87
Sponsors
Sunday, June 13, 2010
www.parisjug.org
Merci de votre attention!
Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
Merci de votre attention!
Sunday, June 13, 2010
www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
12/05/2009 Grid computing 89
Licence
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
Sunday, June 13, 2010