L ES BASES N O SQL Philippe Lacomme Tel. 04 73 40 75 85.

Slides:



Advertisements
Présentations similaires
Réaliser en Java un programme client d’une Base de Données
Advertisements

Introspection et Réflexion Manipulation dynamique de code Java.
Au programme du jour …. Un peu plus de structures de données
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Le modèle logique des données relationnel MLD
(Classes prédéfinies – API Java)
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Atelier System Copy.
TP 3-4 BD21.
Conception d’une application de gestion de fiches études
Les entrées /sorties en Java François Bonneville
API Présentation Comment ajouter des pages. Vous voici dans notre site « laboratoire » pour la démonstration RAJOUTER UNE PAGE.
Développement d’applications web
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Rappel sur les bases de données et le vocabulaire
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
POO-L3 H. Fauconnier1 Chapitre IV 1. classe Object, clonage 2. interfaces 3. classes internes et imbriquées.
JDBC ou comment manipuler une base de données en Java ?
Les instructions PHP pour l'accès à une base de données MySql
Principes de programmation (suite)
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Standard Template Library (STL)
L’utilisation des bases de données
Gestion des bases de données
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Conteneurs STL.
Projet Génie Logiciel & UML, Bases de Données & Interfaces
Framework Play 2.0 Démonstration du proof of concept
IFT 6800 Atelier en Technologies d’information
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
Management of Information Technology - e-business
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI1502 Principes fondamentaux en conception des logiciels
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
Une introduction à Java
Projet de semestre Responsable :Prof. Claude Petitpierre Superviseur :Duy Vo Duc.
4 Introduction des objets. Les chaînes et tableaux
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
La notion de type revisitée en POO
Nicolas DEWEZ Cyrille JOSSELIN Tuteur: Thierry DELOT Conception d’une application de partage de fichiers Projet IUP3 GMI - Valenciennes Jeudi, 23 mars.
14/04/2015onic1 Zone fonctionnelle Référentiel. 14/04/2015onic2 Sommaire Introduction Cas d’utilisations Le cache principal –La purge –Le remplissage.
Arbre GénéalogiqueDiagramme de Classes Comment la visualisation d’une hiérarchie de classes facilitera le travail de notre client ?
Tutorat en bio-informatique
Entrées / Sorties.
Acquisition d’information sur internet
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
Cours du 5 novembre.
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
JDBC - p. 1 JDBC. JDBC - p. 2 Objectifs Fournir un accès homogène aux SGBDR Abstraction des SGBDR cibles Requêtes SQL Simple à mettre en oeuvre Core API.
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Générateur d’applications WEB de gestion de données Modèle conceptuel de données.
A TELIER O RACLE N O SQL SGBD « C LÉ - VALEUR ». Qui suis-je ? Parcours : – Ingénieur ISIMA 2010 – Docteur en informatique 2013 – Ingénieur de Recherche.
A TELIER M ONGO DB SGBD ORIENTÉ « D OCUMENT ». Qui suis-je ? Parcours : – Ingénieur ISIMA 2010 – Docteur en informatique 2013 – Ingénieur de Recherche.
Séance /10/2004 SGBD - Approches & Principes.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Initiation aux bases de données et à la programmation événementielle
INFO 2014 Fichiers et base de données Philippe Fournier-Viger Département d’informatique, U.de Moncton Bureau D216
Analyse, élaboration et exploitation d’une Base de Données
Accès simplifié Web pour les responsables de Cuma 3 mars 2016.
Java et les bases de données Etat de l’art 14 juin 2012.
Bases de données   J-L Hainaut I. Concepts des bases de données 1. Motivation et introduction 5. Les SGBD 2. Concepts des bases de données 3.
Hadoop distributions Hadoop Hadoop est un framework Java libre destiné à faciliter la création d'applications distribuées.
Développement d’applications Web
Transcription de la présentation:

L ES BASES N O SQL Philippe Lacomme Tel

Source… principale Philippe Lacomme Maître de conférences ISIMA

4 enjeux Stocker (Comment ?) Extraire (fouille de données) Restituer Exploiter les données (nouvelle valorisation) 3

Trois éléments bases de données non relationnelles, appelées à tort NoSQL ; un système de distribution des traitements ; un système de stockages de données en mémoire pour accélérer les traitements. 4

Trois éléments 5

Autrefois…. Dans notre vieux temps 6

L’approche classique 7 LIVREAUTEUR

L’approche classique 8

Problème 1 9

Problème 2 10

La vraie vie... Naissance Modification 11

La vraie vie... Mise en prod Un besoin Nouvelles données Modification du MCD Nouvelles données Modification du MCD Durée de vie Modifications permanentes 12

Bilan MCD/MLD  base relationnelle Adaptée au cas où les données ne changent que rarement de structure 13

Une solution : base NoSQL 14

Existant 15

16 Existant

Principe a1a2a3 e1 a1a2a3 V1V2V3 W1W2W3 e2 17

Principe 18

L A SOLUTION N ÉO 4 J

Positionnement Une base de données = un graphe Une entité Une relation 20

Installation 21

Connexion 22

Ajout d’informations 23

Les informations structurées 24

Ajout d’informations structurées 25

Ajout d’informations structurées Node firstNode = graphDb.createNode(); Node secondNode = graphDb.createNode(); Node TroisiemeNode = graphDb.createNode(); Person une_personne = new Person(firstNode); une_personne.ajouter("Tintin", "Pierre", "Clermont", "0102"); une_personne.afficher(); Person une_personne2 = new Person(secondNode); une_personne2.ajouter("Milou", "Thierry", "Paris", "0101"); une_personne2.afficher(); Person une_personne3 = new Person(TroisiemeNode); une_personne3.ajouter("Castafiore", "Marie", "Paris", "0901"); une_personne3.afficher(); 26

Visualisation et interrogation de la base 27

Visualisation de la base 28

Résultat 29

Editeur Cypher 30

MongoDB 31

try { MongoClient mongoClient = new MongoClient(); DB db = mongoClient.getDB("bibliotheque"); // Code } catch(Exception E) { System.out.println(E.getMessage()); } 32 Connexion

Le modèle classique Auteur Livre 33

34 Insertion d’information

Liens table/collection DBCollection coll_livre = db.getCollection("Livre"); BasicDBObject dbObject_Livre = new BasicDBObject(); dbObject_Livre.put("Numero", "10101"); dbObject_Livre.put("Titre", "aaaaa"); dbObject_Livre.put("Prix", 10); coll_livre.insert(dbObject_Livre); 35

36 MongoDB et le Cloud

37 MongoDB et Hadoop 1. Liste des fichiers ".jar" à copier dans le répertoire "lib" d'Hadoop 2. Accéder à une base

ORACLE NoSQL 38

Démonstration 39 Serveur Client ping

Vérification de l’environnement 40 C:\oracle\CE\kv-ce \ kvclient.jar

Création d’un rep. de travail 41

String keyString1 = "85478"; String valueString1 = "Castafiore"; Key une_cle1 = Key.createKey(keyString1); Value une_valeur1 = Value.createValue(valueString1.getBytes()); store.put(une_cle1, une_valeur1); Ajouter 42

t_auteur un_auteur = new t_auteur(); un_auteur.nom = "Dayre"; un_auteur.prenom = "Pascal"; un_auteur.domicile = "Toulouse"; tableau_des_cles_de_recherche.clear(); tableau_des_cles_de_recherche.add("Dayre"); tableau_des_cles_de_recherche.add("Pascal"); Key myKey = Key.createKey(tableau_des_cles_de_recherche); Value myValue = Value.createValue(un_auteur.toString().getBytes()); store.put(myKey, myValue); 43 Ajouter

L A SOLUTION R EDIS

Installation 45

Un couple clé/valeur 46 package testjedis; import redis.clients.jedis.*; public class TestJedis { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); jedis.set("Durant", "Mon premier roman"); String value = jedis.get("Durant"); System.out.println("value= "+value); }

Manipulation d’une liste 47 package testjedis; import redis.clients.jedis.*; import java.util.List; public class TestJedis { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); jedis.rpush("message_java", "Bienvenue dans Redis"); jedis.rpush("message_java", "Ceci est un chapitre introductif"); jedis.rpush("message_java", "les exemples sont simples"); List value = jedis.lrange("message_java", 0, 2); for (int i=0; i<value.size(); i++) System.out.println("value numero "+ i +" = "+value.get(i)); }

Principes communs 48

T : Tableaux associatifs clé T[i]  accès en O(1) Principe : accès direct 49

Magique ou non ? 50

Un énoncé « classique » 51

Magique ou non ? 52

Magique ou non ? 53 content/themes/datastax /files/NoSQL_Benchmarks_EndPoint.pdf?2

Conclusion 54 Une nouvelle manière de stocker les données But : extraire des données présentes mais à ce jour non exploitées Pour Restituer Et au final exploiter les données (nouvelle valorisation)

Questions ? 55