5. MAIS…
!
Avec l’avènement du big data, elles ne sont pas
scalables
Big data : Ensembles de données tellement volumineux qu'il est difficile de les
manipuler avec des outils classiques de gestion de base de données.
Scalabilité : Capacité d’un système à maintenir ses fonctionnalités et ses
performances en cas de forte demande.
7. SCALABILITÉ
•
En lecture : Généralement pas de problème
•
En écriture : Faible, principalement à cause des
contraintes ACID
Rappel : Atomicité, Consistence, Isolation, Durabilité
10. PROBLÈMES DE L’ATOMICITÉ
•
Une opération atomique ne permet pas des accès
entrelacés
•
La BDD est verrouillée pendant l’écriture
11. SE PASSER DE L’ATOMICITÉ
Réduit la durée de verrouillage ou supprime le
verrouillage de la BDD
12. PROBLÈMES DE LA CONSISTENCE
•
Toutes les transactions doivent être totalement
commitées ou totalement annulées
•
Tous les nœuds d’un cluster doivent avoir les mêmes
données : en modifiant une données on doit la màj sur
tous les autres nœuds
•
Respect des schémas
13. SE PASSER DE LA CONSISTENCE
•
Plus besoin d’avoir exactement les mêmes données sur
toutes les instances
•
•
Mais on synchronise quand on le peut
Plus de contraintes sur les champs (schemaless)
14. PROBLÈMES DE LA DURABILITÉ
Avant de répondre au client, on doit être sûr que les
données ont été écrites sur le disque
15. SE PASSER DE LA DURABILITÉ
Ne pas écrire sur le disque directement, ou ne pas
attendre la confirmation de l’écriture
16. FAMILLES DE BDD NOSQL
•
BDD clé-valeur (Ex : Redis, Riak)
•
BDD orientées graphes (Ex : Neo4J, OrientDB)
•
BDD orientées documents (Ex : MongoDB, CouchDB)
•
BDD orientée colonnes (Ex : Cassandra, HBase)
17. …
BDD ORIENTÉES CLÉ-VALEUR
•
Les BBD NoSQL les plus simples
•
Chaque élément est une paire (clé, valeur)
•
Certains systèmes supportent des valeurs typées
18. …
BDD ORIENTÉES GRAPHES
•
Les données sont représentées par des graphes
Un élément : un nœud
• Les relations : des arêtes orientées
• Les deux peuvent avoir des attributs
•
20. …
BDD ORIENTÉES DOCUMENTS
•
Les données sont stockées dans des documents
représentés dans des formats standards (JSON, XML,
etc.)
•
Les documents sont enregistrés dans des collections
(équivalentes aux tables SQL)
22. SQL VS NOSQL
Le choix dépendra des réponses à ces questions :
• Comment veut-on structurer nos données ?
• Combien de données à manipuler ?
• Ratio lectures/écritures ?