La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Java et les bases de données Etat de l’art 14 juin 2012.

Présentations similaires


Présentation au sujet: "Java et les bases de données Etat de l’art 14 juin 2012."— Transcription de la présentation:

1 Java et les bases de données Etat de l’art 14 juin 2012

2 P. 2 Guillaume HARRY l ARESU  ARESU (Architectures, réseaux, Expertise & Support aux unités)  Appui et accompagnement des projets  Veille technologique  Capitalisation des compétences techniques  Participation aux communautés informatique  Guillaume HARRY  11 ans d’expérience en tant que DBA  7 ans d’expérience en J2E Expertise accès aux données  Responsable des cellules « Bases de données » et « Gestion des identités »  Participation à la cellule « Développement »  Étude sur les failles de sécurité des applications Web https://aresu.dsi.cnrs.fr/IMG/pdf/failles_de_securite_v1-3.pdf

3 P. 3 Guillaume HARRY l ARESU SOMMAIRE 1. Introduction 2. Bases de données relationnelles 3. La mouvance NoSQL 4. Conclusion

4 P. 4 Guillaume HARRY l ARESU 1. INTRODUCTION Java et la sérialisation

5 P. 5 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  Modèle en couche  L’interface graphique ne doit pas manipuler directement les données stockées  La couche d’accès aux données doit être la seule responsable de la sérialisation des objets métiers  Qu’est-ce que la sérialisation ?  Rendre les objets persistants  Ecrire des données présentes en mémoire vers un flux de données binaires

6 P. 6 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  Développement spécifique  XML  Structure le contenu  Pas de véritable outil de gestion des données  SGBDOO  Outil idéal mais ne s’est pas imposé  NoSQL  Outil idéal pour un besoin bien défini  Pas de standards (langage, interface d’accès)  Conclusion  SGBD Relationnel reste un standard

7 P. 7 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  Pour les bases de données relationnelles  Standard d’accès : JDBC  Langage SQL largement répandu  Maintenance couteuse  SQL propre à chaque SGBDR  Besoin de redévelopper les frameworks de gestion des accès  Développement spécifique au SGBDR utilisé

8 P. 8 Guillaume HARRY l ARESU 1. Introduction : Java et la sérialisation  JDO (JSR243)JSR243  Interface standard pour la sérialisation  Indépendance vis-à-vis de la solution de stockage  Trop complexe à mettre en œuvre  Peu d’implémentations

9 P. 9 Guillaume HARRY l ARESU 2. BASES DE DONNÉES RELATIONNELLES 1. Besoins 2. ORM 3. JPA 4. Les limites

10 P. 10 Guillaume HARRY l ARESU 2.1 Bases de données relationnelles : Besoins  Faciliter le développement de la couche DAO  Ne pas gérer les accès à la base de données  Automatiser la corrélation Objet ↔ Base de données

11 P. 11 Guillaume HARRY l ARESU 2. BASES DE DONNÉES RELATIONNELLES 1. Besoins 2. ORM 1.Modèle 2.Exemple avec Hibernate 3. JPA 4. Limites

12 P. 12 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Objectifs  Faciliter  Ne pas gérer  Automatiser  Modèle  Implémentations Java  Hibernate (Jboss)  TopLink (Oracle)  MyBatis (mapping par requête et non par table)

13 P. 13 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec Hibernate  Configuration 1 fichier de configuration Hibernate (hibernate.cfg.xml) Déclaration de l’entité

14 P. 14 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec hibernate  Mapping 1 fichier de description XML ( classe.hbm.xml) par classe

15 P. 15 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec Hibernate  Outil Hibernate Tools pour faciliter la génération Java  XML et SGBDR  Java  Gestion des accès au SGBDR

16 P. 16 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : ORM  Exemple avec Hibernate  Gestion des accès au SGBDR 1 classe HibernateUtil pour obtenir une session dans la base de données Génération automatique des ordres SQL

17 P. 17 Guillaume HARRY l ARESU 2. SÉRIALISER DANS UN SGBDR 1. Besoins 2. ORM 3. JPA 1.Modèle 2.Exemple 4. Limites

18 P. 18 Guillaume HARRY l ARESU 2.3 Bases de données relationnelles : JPA  Objectifs  Bénéficier des avantages des frameworks ORM  Indépendance du framework utilisé  Langage standard JP-QL (inspiré de HQL)  Modèle  Implémentations Java  Hibernate (Jboss)  TopLink (Oracle)  EclipseLink (Fondation Eclipse)  DataNucleus Access Platform

19 P. 19 Guillaume HARRY l ARESU 2.3 Bases de données relationnelles : JPA  Exemple  Configuration 1 fichier de description Contexte de persistance Déclarations des classes  Permet de faciliter la gestion des contextes de test Déclaration de l’entité

20 P. 20 Guillaume HARRY l ARESU 2.3 Bases de données relationnelles : JPA  Exemple  Mapping Déclaration de l’entité Déclaration de l’identifant

21 P. 21 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : JPA  Exemple  Outil Plugin Eclipse inclus dans Eclipse WTP  Gestion des accès au SGBDR Avec Hibernate

22 P. 22 Guillaume HARRY l ARESU 2.2 Bases de données relationnelles : JPA  Exemple avec Hibernate  Gestion des accès au SGBDR Avec Hibernate Génération automatique des ordres SQL

23 P. 23 Guillaume HARRY l ARESU 2. SÉRIALISER DANS UN SGBDR 1. Besoins 2. ORM 3. JPA 4. Limites

24 P. 24 Guillaume HARRY l ARESU 2.4 Bases de données relationnelles : Limites  Complexité du modèle  Implémentation des associations  Implémentation de l’héritage 1seule table, somme de tous les attributs des classes filles (par défaut) 1 table par classe  Persistance par transitivité  Performances  Comment faire avec des données non structurées ?

25 P. 25 Guillaume HARRY l ARESU 3. LA MOUVANCE NOSQL 1. Technologies 2. Limites 3. Et JPA alors?

26 P. 26 Guillaume HARRY l ARESU 3.1 NoSQL : Technologies  Not Only SQL  Répondre aux besoins  Explosion du volume de données (Big Data)  Données non structurées  Gestion des relations entre les données

27 P. 27 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Clé-valeur  Données représentée par couple clé/valeur  Accès rapides  Type de données simples  Exemple : stockage de résultats d’expérience, statistiques Système de cache  Implémentations Voldemort (LinkedIn) Redis Riak MySQL Cluster 7.2 … Clé 1 Clé 2 Clé 3 … valeur

28 P. 28 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Orientée document  Ensemble de clés-valeurs stockées dans un document  Données semi-structurées  Pas de support des transactions  Exemple : Catalogue de produits CMS  Implémentations MongoDB CouchDB OrientDB … Clé 1 Clé 2 Clé 3 … Document Champ 1valeur Champ 2valeur Champ 3valeur Champ 4valeur Document Champ 1valeur Champ 2valeur Document Champ 1valeur Champ 2valeur Champ 3valeur

29 P. 29 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Orientée colonne  Contrairement aux SGBDR, colonnes différentes pour chaque ligne  Ecritures rapides  Evite des colonnes à NULL  Exemple Stockage de journaux d’activité  Implémentation Hbase Cassandra BigTable (google) SuperColonne NomCNRS Valeur Colonne NomOrganisme ValeurCNRS Colonne NomSecteur Valeurpublic

30 P. 30 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Orientée graphe  Information représentée par des nœuds et des relations entre nœuds  Accès aux données par les liaisons  Exemple : Réseaux sociaux  Implémentation Neo4j HypergraphDB FlockDB OrientDB Nœud Champ 1valeur Champ 2valeur Champ 3valeur Champ 4valeur Nœud Champ 1valeur Champ 2valeur Nœud Champ 1valeur Champ 2valeur Champ 3valeur Arc Libellé : apprend Arc Libellé : connait

31 P. 31 Guillaume HARRY l ARESU 3.1 La mouvance NoSQL : Technologies  Choix de la technologie dépend du besoin, pas du volume à gérer  Ne sont pas NoSQL  Orientées objet  Hierarchique  Datagrids (hors clé-valeur)

32 P. 32 Guillaume HARRY l ARESU 3. LA MOUVANCE NOSQL 1. Technologies 2. Limites 3. Et JPA alors?

33 P. 33 Guillaume HARRY l ARESU 3.2 La mouvance NoSQL : Limites  NoSQL est encore récent  Pas de solution idéale  Théorème CAP  Cohérence  Availability  Partition tolerance Chaque client peut toujours lire et écrire Chaque client a la même vue de chaque donnée à tout instant Le système fonctionne malgré la partition physique des données Systèmes CPSystèmes AC Systèmes AP

34 P. 34 Guillaume HARRY l ARESU 3. LA MOUVANCE NOSQL 1. Technologies 2. Limites 3. Et JPA alors ?

35 P. 35 Guillaume HARRY l ARESU 3.3 La mouvance NoSQL : Et JPA alors?  OrientDB est nativement écrit en JPA  Datanucleus : JPA et JDO pour accès  SGBDR,  MongoDB,  Hbase,  LDAP,  Excel,  XML …

36 P. 36 Guillaume HARRY l ARESU 4. CONCLUSION

37 P. 37 Guillaume HARRY l ARESU Conclusion  JPA et ORM  Orientés CRUD  Tuning complexe dépendant du framework  Moins performants que des accès bas niveau  NoSQL  Ne remplace pas SGBDR  Administration/exploitation non triviale

38 Java et les bases de données Etat de l’art 14 juin 2012


Télécharger ppt "Java et les bases de données Etat de l’art 14 juin 2012."

Présentations similaires


Annonces Google