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

Post on 18-Dec-2014

1.915 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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 »

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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é

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

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

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

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!

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/

top related