16
150325 1 Département de génie logiciel et des technologies de l’information There were 34,522 complaints called in to 311 between September 8 and September 15, 2010. Here are the most common, plotted by time of day. Source: Wired.com Département de génie logiciel et des technologies de l’information Visualizing friendships Source: https://www.facebook.com/notes/facebook-engineering/visualizing-friendships/ 469716398919

semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

1  

Département de génie logiciel et des technologies de l’information

There were 34,522 complaints called in to 311 between September 8 and September 15, 2010. Here are the most common, plotted by time of day. Source: Wired.com

Département de génie logiciel et des technologies de l’information

Visualizing friendships Source: https://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919

Page 2: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

2  

Département de génie logiciel et des technologies de l’information

The Buddy System: How Medical Data Revealed Secret to Health and Happiness

Source: http://www.wired.com/medtech/health/magazine/17-10/ff_christakis?currentPage=all

Département de génie logiciel et des technologies de l’information

The Buddy System: How Medical Data Revealed Secret to Health and Happiness

Source: http://www.wired.com/medtech/health/magazine/17-10/ff_christakis?currentPage=all

Page 3: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

3  

Les systèmes NOSQL (NOSQL Systems)

Département de génie logiciel et des technologies de l’information

Intro

•  Les systèmes de traitement en lot massivement parallèle basé sur MapReduce (comme Hadoop) ont engendré des systèmes de base de données infonuagique.

Page 4: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

4  

Département de génie logiciel et des technologies de l’information

Système NOSQL

•  Nouveaux besoins de compagnies internet (Amazon, Facebook, Google…) !  Mise à l’échelle distribuée (scale out) !  Élasticité !  Disponibilité

Département de génie logiciel et des technologies de l’information

Attributs de qualités

•  Mise à l’échelle distribuée !  Pour répondre à la forte demande,

l’infonuagique est distribuée sur plusieurs machines, à travers le monde, qui possèdent chacun une copie de la base de données.

!  Il faut balancer la charge à travers les différents serveurs afin d’éviter les goulots d’étranglement.

Page 5: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

5  

Département de génie logiciel et des technologies de l’information

Attributs de qualités

•  Élasticité !  augmenter linéairement la capacité du

système en ajoutant de nouvelles instances de chaque composante.

!  Shared Nothing Architecture SN

Département de génie logiciel et des technologies de l’information

Attributs de qualités

•  Disponibilité !  L’usage d’une grande quantité de serveurs

à moindres couts implique que les pannes sont généralement plus fréquentes. Le système doit prendre cela en compte de façon automatique et offrir un service continu.

Page 6: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

6  

Département de génie logiciel et des technologies de l’information

Système NOSQL

•  Pour supporter ce nouveau modèle, il faut sacrifier : !  La garantie ACID (transaction) !  Les requêtes complexes (JOIN)

Département de génie logiciel et des technologies de l’information

Lecture vs écriture

•  Effectuer les opérations d’écriture en lots optimise grandement l’usage du disque. Cependant, ceci ralentit beaucoup les opérations de lectures.

•  Inversement, écrire immédiatement l’information prend plus de temps, mais accélère la lecture.

Page 7: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

7  

Département de génie logiciel et des technologies de l’information

Latence vs durabilité

•  Écrire les données en mémoire réduit la latence, mais le risque de perte de données est beaucoup plus grand.

•  Attendre l’acquiescement de plus d’un serveur beaucoup plus sûr, mais, augmente considérablement la latence.

Département de génie logiciel et des technologies de l’information

Réplication synchrone vs asynchrone

•  La réplication synchrone assure que chaque nœud possède la même version de chaque donnée. Ceci augmente la latence, mais assure la cohérence des données

•  La réplication asynchrone va éventuellement assurer la cohérence

Page 8: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

8  

Département de génie logiciel et des technologies de l’information

Compromis

Disponibilité

Cohérence Tolérance aux partitions

Disponibilité & Cohérence SGBD

Disponibilité & Partitions Dynamo (Amazon) Cassandra (Facebook) CouchDB

Cohérence & Partitions BigTable (Google) MongoDB Hbase

Département de génie logiciel et des technologies de l’information

Compromis

Page 9: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

9  

Département de génie logiciel et des technologies de l’information

Le SGBD

•  Notons que dans la majorité des cas, le SGBD répond aux besoins. !  Il existe des approches comme le

« Sharding » qui permet de répartir les données de façon à supporter un plus grand débit opératoire

Département de génie logiciel et des technologies de l’information

Le SGBD

•  Dans certains cas, où on manipule des TB de données (à travers divers serveurs) et on désire offrir des réponses en temps réel, le SGBD ne fournit pas.

Page 10: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

10  

Département de génie logiciel et des technologies de l’information

Mise à l’échelle

•  Les approches NOSQL ne sont pas plus rapides que les SGBD relationnels.

•  Elles sont capables de répondre à une charge beaucoup plus importante.

Département de génie logiciel et des technologies de l’information

Mise à l’échelle

Ref: http://research.yahoo.com/node/3202

Majoritairement des opérations d’écritures

Majoritairement des opérations de lectures

Page 11: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

11  

Département de génie logiciel et des technologies de l’information

NOSQL

Devrait s’appeler NOREL (no relational), car plusieurs systèmes NOSQL offrent un langage fort similaire à SQL.

!  CQL, HiveQL

Département de génie logiciel et des technologies de l’information

Les systèmes NOSQL

« Lorsque la taille des données est colossale et que les contraintes temps réelles sont plus importantes que la cohérence des données » Exemple : pour indexer un grand nombre de documents.

Page 12: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

12  

Département de génie logiciel et des technologies de l’information

SQL vs NOSQL

23

Une table est séparée, verticalement en colonnes (columns) et horizontalement en rangées (rows). L’intersection d’une colonne et d’une rangée se nomme champ (field) et contient une valeur.

Ref image : http://www.chesshouse.com/Double_Drawer_Chess_Table_in_Golden_Rosewood_White_p/ct9642.htm

SQL NOSQL

Une table est séparée, verticalement en colonnes (columns) et horizontalement en rangées (rows). L’intersection d’une colonne et d’une rangée se nomme item et contient une paire clé-valeur (key-value pair).

Département de génie logiciel et des technologies de l’information

SQL vs NOSQL

•  Une clé primaire est la colonne utilisée pour identifier distinctement chaque rangée de la table. !  Ces valeurs sont uniques (non

nulles) !  Note: Les valeurs numériques

(index) sont plus efficaces.

24 GTI660: Introduction aux DBMM

•  Une clé de hachage est l’item utilisé pour identifier distinctement chaque item de la table. !  Ces valeurs sont uniques (non

nulles)

SQL NOSQL

Page 13: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

13  

Département de génie logiciel et des technologies de l’information

Key-value store

•  Paire clé-valeur •  Item : regroupement de paires clé-

valeurs •  Table : regroupement d’items •  Primary key ou hash key (indexé) •  Range key

Département de génie logiciel et des technologies de l’information

SQL vs NOSQL

id nom -- --- 1  Pirate 2  Monkey 3  Ninja 4  Spaghetti

« id » = « 1 » « nom » = « Pirate »

« id » = « 2 » « nom » = « Monkey »

« id » = « 3 » « nom » = « Ninja »

« id » = « 4 » « nom » = « Spaghetti »

SQL

NOSQL

Page 14: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

14  

Département de génie logiciel et des technologies de l’information

NOSQL requêtes limitées

•  Si « id » est la clé de hachage alors c’est le seul item sur lequel on peu faire des recherches

« id » = « 1 » « nom » = « Pirate »

« id » = « 2 » « nom » = « Monkey »

« id » = « 3 » « nom » = « Ninja »

« id » = « 4 » « nom » = « Spaghetti »

Département de génie logiciel et des technologies de l’information

Cohérence (Système NOSQL)

•  Transactions limitées à un item •  Plus d’un serveur doit acquiescer

l’insertion d’une entrée

Page 15: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

15  

Département de génie logiciel et des technologies de l’information

Cohérence éventuelle

•  La cohérence du système s’établit après un certain temps.

•  La cohérence n’est pas garantie de façon immédiate après l’ajout des données !  Il faut laisser du temps aux nœuds pour se

synchroniser et harmoniser leurs données.

Département de génie logiciel et des technologies de l’information

Système hybride

•  On conserve le SGBD pour l’information critique

•  On utilise une approche NOSQL pour l’information beaucoup moins importante, mais qu’on doit gérer en gros volumes

Page 16: semaine 8c - Cours · données de façon à supporter un plus grand débit opératoire Département de génie logiciel et des technologies de l’information Le SGBD • Dans certains

15-­‐03-­‐25  

16  

Département de génie logiciel et des technologies de l’information

Système hybride

•  Exemples: magasin de livres enligne !  SGBD : Les comptes clients (carte de

crédit…) •  La cohérence de cette information est cruciale • Cette information est beaucoup moins sollicitée

!  NOSQL : Les critiques de livres, les caractéristiques textuelles extraire des descriptions de livre pour faire de recommandations…