Soirée Data Grid au Paris JUG (2009/05/12)

1,593 views
1,512 views

Published on

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 ?

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,593
On SlideShare
0
From Embeds
0
Number of Embeds
84
Actions
Shares
0
Downloads
48
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide










  • z/TPF users : Sabre, Amadeus, VISA Inc, American Express, Holiday Inn, Chicago Board Options Exchange (CBOE), Singapore Airlines, KLM, Qantas, Amtrak, Marriott International , Worldspan and the NYPD (911 system).






  • Cache is between the application and the database
    Reduce database workload
    Basic operations to manipulate data (put and get++)
    Data is still processed on the application side











































  • Soirée Data Grid au Paris JUG (2009/05/12)

    1. 1. 12/05/2009 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 Sunday, June 13, 2010
    2. 2. 12/05/2009 Data grid Du cache distribué aux grilles de données Cyrille Le Clerc Xebia www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    3. 3. 12/05/2009 Data grid Du cache distribué aux grilles de données Erwan Alliaume Xebia www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    4. 4. 12/05/2009 Data grid Du cache distribué aux grilles de données Jean-Michel Bea Fast Connect www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    5. 5. « Du cache distribué aux grilles de données » 12/05/2009 Grid computing www.parisjug.org 5 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    6. 6. Intervenants Cyrille Le Clerc (Xebia) Erwan Alliaume (Xebia) Jean-Michel Bea (Fast Connect) 12/05/2009 Grid computing www.parisjug.org 6 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    7. 7. Sommaire Caches distribués Network Attached Memory Grilles de données Data Grid, Cloud et les autres … 12/05/2009 Grid computing www.parisjug.org 7 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    8. 8. Distributed cache and Network Attached Memory has been removed to focus on Data Grid www.parisjug.org 8 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    9. 9. Grilles de données www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    10. 10. Partitionner pour tenir la charge www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    11. 11. Partitionner pour tenir la charge Tout sur le même serveur : déjà vu, souvent possible mais très couteux Jusqu’à 1.5 To de RAM et 64 processeurs Data Mainframe 12/05/2009 Grid computing www.parisjug.org 39 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    12. 12. Partitionner pour tenir la charge Data Grid Partition data on several servers Partition gamma Small Server Partition beta Small Server Data Mainframe Partition alpha Small Server www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    13. 13. Répliquer pour la disponibilité www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    14. 14. Répliquer pour la disponibilité Performances i té Read / Write o n ibil p Dis master Master Read Only Sync replica Partition alpha Sync replica Async replica Read Only Async replica Partition alpha www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    15. 15. Répliquer pour la disponibilité master Sync replica Active Data Center c des ave ones lie nce nchr r ési asy La licas rép Async replica Stand By Data Center www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    16. 16. Partitionner et Répliquer Container 1 JVM 1 master Sync replica Container 2 Catalog JVM 2 Catalog Service Service JVM JVM Sync replica master Container n JVM n Async replica Async replica partition alpha partition gamma www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    17. 17. Du Near Cache à la Data Grid www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    18. 18. Le Near Cache Application avec un near cache Da tab ase Ab sor Shoc ber k Central Database Datagrid Cache partition alpha Cache partition beta Cache partition gamma Application cluster Client near cache Client near cache Node 1 Node n 12/05/2009 Grid computing www.parisjug.org 46 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    19. 19. Les limites du Near Cache Datagrid Latency ! Bandwith ! Partition gamma Client near cache Partition beta Application Partition alpha 12/05/2009 Grid computing www.parisjug.org 47 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    20. 20. Du Near Cache à la Grille de Données Datagrid Stop data transfer Partition gamma Client near cache Partition beta Application Partition alpha 12/05/2009 Grid computing www.parisjug.org 48 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    21. 21. Du Near Cache à la Grille de Données s e nt m ite r tra es é l ise onn ca t d o e C ol Datagrid partition alpha ... Application partition gamma 12/05/2009 Grid computing www.parisjug.org 49 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    22. 22. La grille de donnée www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    23. 23. La grille de données Datagrid Reduced data transfer Collocated data & business logic partition alpha datagrid enabled app partition beta Reduced Business Logic partition gamma Collocated data & business logic 12/05/2009 Grid computing www.parisjug.org 51 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    24. 24. 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 12/05/2009 Grid computing www.parisjug.org 52 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    25. 25. Structurer ses données pour la grille www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    26. 26. Un système de réservation de billets de train ! 12/05/2009 Grid computing www.parisjug.org 54 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    27. 27. Partitionner les données Seat Booking Passenger number reduction name price Train code type TrainStation TrainStop code date name Modélisation orientée objet classique 12/05/2009 Grid computing www.parisjug.org 55 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    28. 28. Partitionner les données Partitioning ready entities tree e ntity Root Seat Booking Passenger number reduction name price Train code Du type pli Refe ca ted renc in e d TrainStation ea ata TrainStop ch code pa date rtit io n name Root entity, clef de partitionnement, sub-entities & duplication de données de référence 12/05/2009 Grid computing www.parisjug.org 56 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    29. 29. Partitionner les données Rem ove u nuse d da ta Seat Booking Passenger number reduction name price booked Train code type TrainStation TrainStop code date name Suppression des données inutiles à la logique métier 12/05/2009 Grid computing www.parisjug.org 57 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    30. 30. Partitionner les données U ‘sh n m a re o d Seat no èle thi number ng price ’ booked Train code type TrainStation TrainStop code date name Modélisation partitionnée ‘grid ready’ Des données façonnées au besoin métier 12/05/2009 Grid computing www.parisjug.org 58 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    31. 31. Partitionner les données Account Account number number from to CashWitdrawal MoneyTransfer CashWitdrawal date id date amount date amount amount Casser les relations pour partitionner Situation de comptes bancaires 12/05/2009 Grid computing www.parisjug.org 59 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    32. 32. Partitionner les données MoneyTransfer est partagé par 2 instances de la root entity ! Account Account number number CashWitdrawal MoneyTransferIn MoneyTransferOut CashWitdrawal date id id date amount date date amount amount amount Casser les relations pour partitionner Situation de comptes bancaires 12/05/2009 Grid computing www.parisjug.org 60 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    33. 33. Partitionner les données Découper MoneyTransfer en 2 entités Et casser le lien ! Account Account number number CashWitdrawal MoneyTransferIn MoneyTransferOut CashWitdrawal date id id date amount date date amount amount amount Casser les relations pour partitionner Situation de comptes bancaires 12/05/2009 Grid computing www.parisjug.org 61 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    34. 34. Partitionner les données Les instances d’Account sont isolées ! Account Account number number CashWitdrawal MoneyTransferIn MoneyTransferOut CashWitdrawal date id id date amount date date amount amount amount Casser les relations pour partitionner Situation de comptes bancaires 12/05/2009 Grid computing www.parisjug.org 62 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    35. 35. Partitionner les données Acc oun t es t la roo t en tity d e la Account gril le ! number CashWitdrawal MoneyTransferOut MoneyTransferIn date id id amount date date amount amount Modélisation partitionnée ‘grid ready’ Des données façonnées au besoin métier 12/05/2009 Grid computing www.parisjug.org 63 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    36. 36. Le modèle de programmation À la JPA 12/05/2009 Grid computing www.parisjug.org 64 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    37. 37. 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" 12/05/2009 Grid computing www.parisjug.org 65 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    38. 38. Les Design patterns t Datagrid ite me n er le tra artitions E n vo y s l e s p te su r tou departure=Paris arrival=Marseille departureTime=2009/05/01 15:00 Search trains partition alpha datagrid enabled app Search trains partition beta Search Map Reduce trains partition gamma 12/05/2009 Grid computing www.parisjug.org 66 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    39. 39. Les Design patterns e Datagrid re tourn partition t ue ré sulta Chaq en t de un fra g m 1543 - Paris -> Marseille - 14:35 7492 - Paris -> Lyon -> Marseille – 15:05 Search trains partition alpha datagrid enabled app Search trains NULL partition beta Map Reduce 0153 - Paris -> Marseille - 15:05 3954 - Paris -> Marseille - 15:35 Search trains partition gamma 12/05/2009 Grid computing www.parisjug.org 67 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    40. 40. Les Design patterns s Datagrid rè ge le cl i e nt ag sulta ts Le ré nt s de fra gme Search trains partition alpha datagrid enabled app Search trains partition beta 1543 - Paris -> Marseille - 14:35 7492 - Paris -> Lyon -> Marseille – 15:05 0153 - Paris -> Marseille - 15:05 3954 - Paris -> Marseille - 15:35 Map Reduce Search trains partition gamma 12/05/2009 Grid computing www.parisjug.org 68 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    41. 41. Les Design patterns Datagrid e tion réalis parti seule tement Une i le tra Book Ticket partition alpha datagrid enabled app Book Ticket partition beta Book 1 seat on train 0153 Book Request Routing Ticket partition gamma 12/05/2009 Grid computing www.parisjug.org 69 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    42. 42. 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 ? 12/05/2009 Grid computing www.parisjug.org 70 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    43. 43. Interactions avec la base de données www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    44. 44. Interactions avec la BDD Data Grid Co mm ent syn chr oni ser ? Partition gamma insert, update & delete Select (new, modified, deleted) Partition beta Central Database Partition alpha 12/05/2009 Grid computing www.parisjug.org 72 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    45. 45. Interactions avec la BDD Data Grid Grille -> B DD ins ert, upd Partition gamma ate &d ele datagrid te enabled app persist, merge insert, update & delete & remove Partition beta te le & de Central Database a te pd ,u ert ins Partition alpha Entities Modifications Listener 12/05/2009 Grid computing www.parisjug.org 73 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    46. 46. Interactions avec la BDD D D su r la B en batch Ca ch e critur ew E rite lat Entities Sync en cy Modifications Listener Queue datagrid enabled app persist, merge batch insert, & remove update & delete Partition Central Database Entities Async Batch Ecriture en batch à la BDD Modifications Listener Supporte l’indisponibilité de la BDD Hautement disponible par la réplication de la queue 12/05/2009 Grid computing www.parisjug.org 74 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    47. 47. Interactions avec la BDD Data Grid er Comme nt détect D? ents de la BD les changem Partition gamma Non datagrid enabled app insert, update create, merge & delete & remove Central Database Partition beta Partition alpha 12/05/2009 Grid computing www.parisjug.org 75 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    48. 48. Interactions avec la BDD BDD -> Grille Data Grid Ca ch er ea dl ate nc y Partition gamma sel ect select Partition beta Central Database ct sele select id from train where last_modification > ? Partition alpha Synchronization Daemon select id from sys_deleted where table=’train’ and last_modification > ? 12/05/2009 Grid computing www.parisjug.org 76 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    49. 49. Interactions avec la BDD System Change Number Sur chaque table, une colonne système porte un numéro croissant de la dernière transaction Utilisé pour les checkpoints et la réplication Support natif dans : Oracle: introduit en10G, le SCN est un nombre similaire au numéro de révision Subversion DB2: introduit en 9.5, le SCN est un timestamp Equivalent manuel : une colonne timestamp La liste des lignes supprimées est stockée dans une table système 12/05/2009 Grid computing www.parisjug.org 77 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    50. 50. Interactions avec la BDD Les API de loaders Lire en base les données manquantes List<entity> get(List<id>) Persister en base les modifications void 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 ! 12/05/2009 Grid computing www.parisjug.org 78 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    51. 51. Interactions avec la BDD Loaders internes : Pros L’accès à la base est regroupé dans la grille => cohesiveness La charge d’accès à la base est répartie sur les partitions Write behind permet de batcher les accès à la base Cons Comment 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 » 12/05/2009 Grid computing www.parisjug.org 79 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    52. 52. Interactions avec la BDD Data Grid Le loa der ext ern Central Database e select Partition gamma External loader cluster t pu Node 1 put Partition beta Node n pu t Partition alpha 12/05/2009 Grid computing www.parisjug.org 80 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    53. 53. Interactions avec la BDD Loaders externes : Pros Simple, le partitionnement est réalisé par la grille Cons Le loader externe devient le goulet d’étranglement des performances Le code d’accès à la base est disséminé entre la grille et le loader externe => loss of cohesiveness 12/05/2009 Grid computing www.parisjug.org 81 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    54. 54. Et les batchs ? Une grille de données peut écourter les nuits batch en parallélisant les traitements. www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    55. 55. Cloud, Grid, XTP et les autres www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    56. 56. Les acteurs www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    57. 57. Les acteurs Distributed HashTable (DHT), Key Value Store SimpleDB, DataStore / BigTable / Hypertable, Memcached, Project Voldermort, CouchDB Compute Grid GridGain In Memory Data Grid GigaSpaces, Oracle Coherence, Websphere eXtreme Scale. Distributed File system Hadoop www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    58. 58. Questions / Réponses www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    59. 59. Sponsors 12/05/2009 Grid computing www.parisjug.org 87 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    60. 60. Merci de votre attention! www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010
    61. 61. Licence http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ 12/05/2009 Grid computing www.parisjug.org 89 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Sunday, June 13, 2010

    ×