paris jug (sept 2010) - nosql : des concepts à la réalité

34
www.parisjug.org www.parisjug.org Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 14/09/2010

Upload: michael-figuiere

Post on 18-Dec-2014

1.915 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.org

www.parisjug.org

Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

14/09/2010

Page 2: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

14/09/2010

N(ot)O(nly) SQLDes concepts à la réalité

Olivier Mallassi

Michaël Figuière

Page 3: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

00/00/2009 Titre de la présentation 3

Intervenants

• Olivier Mallassi

• Michaël Figuière

Page 4: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

14/09/2010 NoSQL 4

Objectifs

• Vous proposer une vue synthétique de NoSQL

• Vous fournir un premier guide de lecture

Page 5: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

NoSQL, kezako?

La fin du langage SQL?

La fin des transactions (ACID)?

La fin des SGBDR?

Non,

Juste un sigle qui regroupe des alternatives aux SGBDR

Page 6: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Quelques idées reçues…

NoSQL n’est pas un remplacement des SGBDR

NoSQL reste un domaine d’innovation…

…même s’il existe de nombreux déploiement en production dans des systèmes hautement sollicités

NoSQL est un écosystème riche & complexe

Le reste ne la présentation ne se veut pas exhaustive

« Le diable est dans le détail »

14/09/2010 NoSQL

Page 7: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

7

Malgré tout, ces technologies sont intéressantes dans nos systèmes

• Vers plus de disponibilité

• Vers plus de souplesse des schémas/structures

• Vers plus d’élasticité de l’infrastructure

• Un volume de données stockées croissant

• Et finalement, la possibilité crée le besoin

14/09/2010 NoSQL

Page 8: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

8

Au commencement était…• Des cas d’usage différents mais des enjeux communs

• Performance

• Disponibilité (> 99,99%)

• Résilience

• Scalabilité horizontale

• Un moteur de recherche mondial

• Développements spécifiques : BigTable + Algorithmes Map/Reduce

• Des besoins massivement en lecture• Permet l’agrégation de gros volumes

de données

• La boutique en ligne mondiale

• Développements spécifiques : Dynamo

• Permet d’obtenir de débit et une disponibilité plus importants en écriture

• Dernier incidents majeurs : 2004• <40 minutes d’indisponibilité par an

14/09/2010 NoSQL

Page 9: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

9

Amazon : à l’origine de Dynamo

Différentes problématiques de stockage

Fill cart Checkout Payment Process order Prepare Send

Enjeu : disponibilité en écritureClé/Valeur suffisant

Enjeu : reporting (induit une modélisation riche)

Indisponibilité temporaire acceptable

Rupture du paradigme relationnel- table de hachage distribuée

- Relâchement d’ACID

14/09/2010 NoSQL

Page 10: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

10

A l’origine du mouvement noSQL

14/09/2010 NoSQL

Le Cloud démocratise ces solutions spécifiques hautement scalables

• Google App Engine permet de développer sur le Google Data Store• Amazon offre des services de stockage : SimpleDB, S3

Certains acteurs « open-sourcent » leurs solutions (pas uniquement dans le domaine NoSQL)

• LinkedIn et Voldemort, Facebook et Cassandra…

Une adoption de ces solutions

• Notamment dans le monde Web

Le sens de l’histoire : 40 années de suprématie des RDBMS enfin « challengée »

Page 11: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Un foisonnement de solutions…

11

Column OrientedDocument

Graph

Un marché « Open Source Pro » : Les développeurs Redis rachetés par VMWare Cassandra, MongoDB, Riak, Neo4j ont des structures pouvant assurer le support, la formation… ..

Un marché « As A Service »

Key/Value

14/09/2010 NoSQL

Page 12: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

…Organisées en grandes catégoriesbasées sur la modélisation de la donnée

Clé / Valeur

Document

Orienté colonne

Graphe

Flat file, Géographique, XML, Object…

{attr1, …}

14/09/2010 NoSQL

Page 13: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Les bases « graphe »

14/09/2010 NoSQL

Page 14: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

14

Neo4j

14/09/2010 NoSQL

Page 15: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Les espaces de stockage « clé /valeur »

NeoAge:29Name : Thomas Anderson…

Trinity YXpnYXplZw== YXpnYXplZw==

14/09/2010 NoSQL

Page 16: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

16

Riak

14/09/2010 NoSQL

Page 17: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Les espaces de stockage orientés colonnes

14/09/2010 NoSQL

Page 18: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

18

Cassandra

14/09/2010 NoSQL

Page 19: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Les bases « Document »

{« Age »: 29,« Name » : « Thomas Anderson »« knows »:[{« name »:  « Trinity »…

Neo

14/09/2010 NoSQL

Page 20: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

20

MongoDB

14/09/2010 NoSQL

Page 21: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Un changement de paradigme

1. Table de hachage distribuée

2. Relâchement d’ACID

Page 22: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

22

Table de hachage distribuée

• Objectif : assurer une répartition uniforme des objets dans les cluster

14/09/2010 NoSQL

Page 23: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

(C)onsistance ou « Eventually consistent »

N = Nombre de réplicas

R = Nombre de réponses de lecture à attendre

W = Nombre de confirmation d’écriture à attendre

14/09/2010 NoSQL

Page 24: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Le ratio entre N, R et W fait tout…

14/09/2010 NoSQL

Page 25: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Le ratio entre N, R et W fait tout…

14/09/2010 NoSQL

Page 26: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Le ratio entre N, R et W fait tout…

14/09/2010 NoSQL

Page 27: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

27

(D)urabilité

• Approche « traditionnelle » • Ecriture sur un ou plusieurs disques• La réplication permet de renforcer la durabilité

• Ecriture multiples en mémoire• La réplication apporte la durabilité

• En mémoire• Les données sont écrites sur le disque de manière asynchrone

• « Pas » de durabilité14/09/2010 NoSQL

Page 28: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

28

(A)Tomicité et (I)solation

• Les données ne sont plus co-localisées• Localisation non prédictible dans le temps• Transaction distribuée nuirait à la disponibilité et au débit en écriture

• Atomicité et isolation par opération sur une clé

14/09/2010 NoSQL

Page 29: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Pour conclure, des systèmes de stockage qui repoussent les limites et changent les règles établies

Performance, débit en écriture

Stockage et Manipulation de gros volume de données

Disponibilité

Elasticité des infrastructure de stockage

Souplesse de modélisation

14/09/2010 NoSQL

Au niveau des développements

• Relâchement d’ACID• Faible modélisation et requêtage de la donnée• La gestion de certaines problématiques remontent au niveau de l’espace

applicatif (Gestion de l’intégrité transactionnelle, jointures, filtres…)

Au niveau de l’exploitation

• Changement de l’outillage (JMX…)

Au niveau de la sécurité

Page 30: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Au-delà du buzz…

NoSQL parle de collaboration : stockage « polyglote » The right tool for the right job

NoSQL parle d’alternatives et challenge 40 années de suprématie des bases relationnelles…

14/09/2010 NoSQL

Page 31: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Questions / Réponses

Page 32: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

00/00/2009 Titre de la présentation 32

Sponsors

Page 33: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.org

Merci de votre attention!

Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Merci de votre attention!

Page 34: Paris JUG (sept 2010) - NoSQL : Des concepts à la réalité

www.parisjug.orgCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

00/00/2009 Titre de la présentation 34

Licence

http://creativecommons.org/licenses/by-nc-sa/2.0/fr/