Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parJean-Louis Primeau Modifié depuis plus de 8 années
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.