Difference between revisions of "EA2014-NoSQL"

From air
Jump to navigation Jump to search
(Created page with "==NoSQL==")
 
Line 1: Line 1:
  +
http://fr.slideshare.net/larsga/nosql-databases-the-cap-theorem-and-the-theory-of-relativity
==NoSQL==
 
  +
  +
= Introduction noSQL =
  +
nosql is an ensemble of concept to stocker les donnees
  +
nosql types are architectures
  +
== Rappel sur les bases relationnels ==
  +
== Concept de noSQL==
  +
  +
= Théoreme de Brewer =
  +
Dans le monde des systèmes distribués, le théoreme de Brewer(connu aussi sous le nom théoreme de CAP) dit qu'il est impossible de d'avoir simultanément une garantie des ces 3 propriétés :
  +
  +
*Consistency(cohérence) - Chaque noeud/serveur voir le même données au même moment
  +
*Availability(disponibilité) - Toutes les requêtes reçoivent use réponse en temps fini
  +
*Partition tolerance(résistance au morcellement) - Apart d'un coupure totale, le système distribué fonctionnement(répondre correctement) même s'il y a des partitionnement généré par des pannes sur un ou plusieur noeuds.
  +
  +
Les architectures noSQL sont distribué par nature et donc ce théoreme s'applique.
  +
  +
Pendant la conception d'une base noSQL, il faut bien choisir 2 parmi ces 3 propriétés qu'on veut et ensuite regarder parmi les marques de noSQL sur le marché lesquelles garanties ces 2 propriétés. (Les marques noSQL de même type ne garanties pas forcéments les mêmes propriétés CAP).
  +
  +
<INSERT PHOTO TRIANGLE http://digbigdata.com/wp-content/uploads/2013/05/media_httpfarm5static_mevIk.png>
  +
  +
Heureusement dans la plupart des cas, c'est les deux dernières qui sont choisies car les données sont EVENTUELLEMENT cohérente sont suffisante pour notre applications. Le fait d'avoir une donées qui est 'FORTEMENT correcte' dans un délai de quelques secondes (ou même millisecondes) nous semble moins important que ne pas avoir de résultat du tout.
  +
  +
= Sharding =
  +
Dans les bases de données distribués comme noSQL, sharding décrire un ensemble de techniques qui découpe une base de données entière en plusieurs shards(tranches/noeuds/serveurs). Imaginons une vitre qui représente une base de données et on la casse en plusieurs morceaux, chaque morceaux contient les données qui ne se trouvent pas dans les autres morceaux (pas de réplication).
  +
  +
Il y a plusieurs techniques pour 'sharder' une base de données, par exemple :
  +
  +
MongoDB utilise plusieurs serveurs d'indexe pour repérer les données dans un nombre de shards, ensuite redirige les requêtes vers les shards qui contiennet les données demandés.
  +
<photo>
  +
  +
CassandraDB utilise un grid de serveurs ou chaque serveur gère un certain nombre de données borné par une hash(random hash distribution). Si un shard reçoit une requête pour une intervalle de hash qui n'existe pas localement ou la fin de l'intervalle ne se situe pas localement, il retranfere la requête vers un autre shard dans le réseau.
  +
<photo http://fr.slideshare.net/lomakin.andrey/apache-cassandra-part-1-principles-data-model>
  +
  +
  +
  +
= Les 4 grands types de noSQL =
  +
  +
= Les marques de noSQL sur le marché =
  +
  +
  +
  +
  +
http://air.imag.fr/index.php?title=EA2012-NoSQL&action=edit
  +
http://davidmasclet.gisgraphy.com/post/2010/06/09/10-minutes-pour-comprendre...NoSQL
  +
http://blog.neoxia.com/nosql-5-minutes-pour-comprendre/

Revision as of 21:24, 12 November 2014

http://fr.slideshare.net/larsga/nosql-databases-the-cap-theorem-and-the-theory-of-relativity

Introduction noSQL

nosql is an ensemble of concept to stocker les donnees nosql types are architectures

Rappel sur les bases relationnels

Concept de noSQL

Théoreme de Brewer

Dans le monde des systèmes distribués, le théoreme de Brewer(connu aussi sous le nom théoreme de CAP) dit qu'il est impossible de d'avoir simultanément une garantie des ces 3 propriétés :

  • Consistency(cohérence) - Chaque noeud/serveur voir le même données au même moment
  • Availability(disponibilité) - Toutes les requêtes reçoivent use réponse en temps fini
  • Partition tolerance(résistance au morcellement) - Apart d'un coupure totale, le système distribué fonctionnement(répondre correctement) même s'il y a des partitionnement généré par des pannes sur un ou plusieur noeuds.

Les architectures noSQL sont distribué par nature et donc ce théoreme s'applique.

Pendant la conception d'une base noSQL, il faut bien choisir 2 parmi ces 3 propriétés qu'on veut et ensuite regarder parmi les marques de noSQL sur le marché lesquelles garanties ces 2 propriétés. (Les marques noSQL de même type ne garanties pas forcéments les mêmes propriétés CAP).

<INSERT PHOTO TRIANGLE http://digbigdata.com/wp-content/uploads/2013/05/media_httpfarm5static_mevIk.png>

Heureusement dans la plupart des cas, c'est les deux dernières qui sont choisies car les données sont EVENTUELLEMENT cohérente sont suffisante pour notre applications. Le fait d'avoir une donées qui est 'FORTEMENT correcte' dans un délai de quelques secondes (ou même millisecondes) nous semble moins important que ne pas avoir de résultat du tout.

Sharding

Dans les bases de données distribués comme noSQL, sharding décrire un ensemble de techniques qui découpe une base de données entière en plusieurs shards(tranches/noeuds/serveurs). Imaginons une vitre qui représente une base de données et on la casse en plusieurs morceaux, chaque morceaux contient les données qui ne se trouvent pas dans les autres morceaux (pas de réplication).

Il y a plusieurs techniques pour 'sharder' une base de données, par exemple :

MongoDB utilise plusieurs serveurs d'indexe pour repérer les données dans un nombre de shards, ensuite redirige les requêtes vers les shards qui contiennet les données demandés. <photo>

CassandraDB utilise un grid de serveurs ou chaque serveur gère un certain nombre de données borné par une hash(random hash distribution). Si un shard reçoit une requête pour une intervalle de hash qui n'existe pas localement ou la fin de l'intervalle ne se situe pas localement, il retranfere la requête vers un autre shard dans le réseau. <photo http://fr.slideshare.net/lomakin.andrey/apache-cassandra-part-1-principles-data-model>


Les 4 grands types de noSQL

Les marques de noSQL sur le marché

http://air.imag.fr/index.php?title=EA2012-NoSQL&action=edit http://davidmasclet.gisgraphy.com/post/2010/06/09/10-minutes-pour-comprendre...NoSQL http://blog.neoxia.com/nosql-5-minutes-pour-comprendre/