• Aucun résultat trouvé

Bases de données NoSQL

N/A
N/A
Protected

Academic year: 2022

Partager "Bases de données NoSQL"

Copied!
16
0
0

Texte intégral

(1)

Bases de

données

NoSQL

(2)

Types de bases NoSql

• Key-Value

• Wide Column

• Document

• Graphes

(3)

BD Orientées document

• Document -> ligne

• Un document peut être accessible à partir d’une URI

• Exemples:

CouchDB

MongoDB4

Applications

Content Management

Catalogues de produits

Les produits ont des attributs en commun et des attributs spécifiques à une catégorie de produits

(4)

BD orientées colonnes

Les données sont stockées par colonne et non pas par ligne

Table avec une famille de colonnes

Une famille de colonnes possède des colonnes

Une colonne est une clé/Valeur

Exemples

BigTable de google

Cassandra de Facebook

Hbase Yahoo

Applications

Analyse de données

Stockage de valeurs qui sont mises à jour régulièrement (suivi de colis)

(5)

Key-value

• Exemples:

Amazon SimpleDB et DynamoDB (Dynomite version Open source)

Redis

Riak

Azure Table storage

MemCacheDB

Voldemort

• Applications

Implémentations d’un système de cache, stockages de variables session

(6)

BD orientées Graphes

• Une base de données orientée graphes stocke les données stocke les données en utilisant des nœuds et des arcs les reliant.

• Exemple:neo4j

(7)

Mongodb

• Installation

Lien de téléchargement pour Windows 64:

https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.6- signed.msi

• Interface d’administration : mongo compass

• Shell : mongo

(8)

Commandes du shell

show dbs

Sélection ou création de la base de données courante : use nom_base

Base courante: db

Référence

https://docs.mongodb.com/manual/mongo/#working-with-the-mongo-shell

(9)

Opérations CRUD

L’objet collection (db.nom_collection supporte les méthodes suivantes:

- Find()

- insertOne() - updateOne() - deleteOne() Référence:

https://docs.mongodb.com/manual/crud/

(10)

BD relationnelle vs BD orientée document

• SQL

• Schémas prédéfinis

• Clés étrangères

• Clés primaires

• Déclencheurs

• Scalabilité verticale

• MQL (MongoDB language)

• Schémas dynamique (BSON)

• Pas de clés étrangères

• OID

• Pas de déclencheurs

• Scalabilité horizontale

(11)

Comparaison SQL MQL

Select *

from produits

db.produits.find()

Select libelle from produits

Where quantite > 30

update produits Set libelle=‘M10’

Where _id = "5ec2baad3573ba4b75ebc3fc"

Delete from produits Where _id =

"5ec2bacab6d28f02faa624aa"

(12)

MongoDB Java

Driver

<dependencies>

<dependency>

<groupId>org.mongodb</groupId>

<artifactId>mongodb-driver-sync</artifactId>

<version>4.0.3</version>

</dependency>

</dependencies>

Connexion au serveur et ouverture de la base de données

MongoClient mongo =MongoClients.create();

MongoDatabasedb= mongo.getDatabase("base1");

(13)

CRUD - Insertion

• Insertion

MongoCollection<Document> users = db.getCollection("users");

for (int i = 1; i < 101; i++) {

Document user = new Document("_id", i).append("nom",

"user" + i);

users.insertOne(user);

}

(14)

Recherche

Document critere = new Document("_id", new Document("$gte", 50));

Document selection = new Document("nom", 1).append("_id", 0);

// Recherche des utilisateurs dont l'id est >= 50 for (Document u :

users.find(critere).projection(selection)) System.out.println(u.toJson());

(15)

Modification

Document critere=new Document("_id",new ObjectId("5ec2baad3573ba4b75ebc3fc"));

Document nouveau=new Document ("$set",new Document("libelle","M500"));

produits.updateOne(critere, nouveau);

(16)

Suppression

Document critere=new Document ("_id",new ObjectId("5ec2bacab6d28f02faa624a9"));

produits.deleteOne(critere);

Références

Documents relatifs

Vous pouvez maintenant créer une base de données personnelle, dans le domaine de votre choix, mais qui satisfait aux conditions suivantes : au moins trois tables distinctes, avec

Système de Gestion de Bases de Données SGBD Rappel sur les niveaux d’abstraction MySQL Principaux types de données disponibles Créer une BD phpMyAdmin Pour finir... Système de

G´en´erallement, la structure d’un objet g´eospatial flou doit d´efinir le type de l’objet, sa g´eom´etrie (forme et coordonn´ees) et la structure de l’ensemble de ses

La base de données (données primaires) est la matière première à partir de laquelle la bioinformatique va produire d'autres données (données secondaires) et

 Règle 1 : Toutes les données sont représentées par des valeurs présentes dans des colonnes et des lignes de tables..  Règle 3 : Une cellule peut ne pas contenir de valeur,

h) Nom et prime des joueurs sponsorisés par Peugeot entre 1985 et 1990. i) Nom et année de naissance des joueurs ayant participé au tournoi de Rolland Garros de 1989. j) Nom

Cette requête retourne exactement les mêmes colonnes qu’il y a dans la base de données. Pour en savoir plus sur le sujet il est recommandé de lire l’article avantage et

•Extraction des caractéristiques de l’image : couleur, texture, forme, contraintes spatiales, régions.. Recherche d’images basée sur