00 panorama-nosql

42
Associé chez www.Lateral-Thoughts.com Associé chez www.Hopwork.com @hugolassiege hlassiege at lateral-thoughts.com Contact

Upload: hugo-lassiege

Post on 04-Jul-2015

423 views

Category:

Technology


0 download

DESCRIPTION

Courte introduction sur le Nosql. Plus de détails ici : http://www.eventuallycoding.com/index.php/panorama-nosql/

TRANSCRIPT

Page 1: 00 panorama-nosql

Associé chez www.Lateral-Thoughts.com

Associé chez www.Hopwork.com

@hugolassiege

hlassiege at lateral-thoughts.com

Contact

Page 2: 00 panorama-nosql

Panorama

Page 3: 00 panorama-nosql

Des à priori ?

Page 4: 00 panorama-nosql

NoSQL

Page 5: 00 panorama-nosql

NotoSQL

Page 6: 00 panorama-nosql

NotonlySQL

Page 7: 00 panorama-nosql
Page 9: 00 panorama-nosql

Donc, SQL c’est bien ?

Page 10: 00 panorama-nosql

Oui

Page 11: 00 panorama-nosql

La normalisation des

données

Page 12: 00 panorama-nosql

Le SQL

A bientôt 40 ans on peut dire qu’il est mature

Page 13: 00 panorama-nosql

Ou pas…

Select column from table limit 10

Select * from table where rownum > 10

Fonctions propriétaires, séquences etc…

Page 14: 00 panorama-nosql

ACID

Atomicité

Cohérence

Isolation

Durabilité

Page 15: 00 panorama-nosql

Alors pourquoi changer ?

Page 16: 00 panorama-nosql

Le volume a augmenté

“ 90% des données dans le monde ont été créées au

cours des deux dernières années seulement.IBM - http://www-01.ibm.com/software/fr/data/bigdata/

Page 17: 00 panorama-nosql

L’usage à évolué

Recherche sémantique

Réseaux sociaux

Moteurs de recommandations

Page 19: 00 panorama-nosql

Et les architectures ?

Page 20: 00 panorama-nosql

Sans doute un peu…

Page 21: 00 panorama-nosql

Et le Nosql dans tout ça?

Page 22: 00 panorama-nosql

“ C’est l’enfer

Hugo Lassiège

150 bases de données listées sur

http://nosql-database.org/

Page 23: 00 panorama-nosql

Une définition

Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-

source and horizontally scalable.

Page 24: 00 panorama-nosql

Scaling

Horizontal scalingVertical scaling

Page 25: 00 panorama-nosql

Quelques points communs

schema-free, easy replication support, simple API, a huge amount of data, eventually consistent / BASE

Page 26: 00 panorama-nosql

BASE?

Basically Available, Soft state, Eventually consistent

not ACID

Page 27: 00 panorama-nosql

Quel est le problème avec

ACID ??

Page 28: 00 panorama-nosql

Comment garantissez-vous ACID et une disponibilité de 99%

Page 29: 00 panorama-nosql

Vous garantissez la

consistence ?

Dans ce cas, votre disponibilité est dépendante du taux de

panne de chaque composant

Page 30: 00 panorama-nosql

Vous garantissez la

disponibilité ?

(en répliquant vos données)

Dans ce cas, comment gérez vous la perte de réseaux entre

réplicas ?

Si vous autorisez les écritures, vous ne garantissez pas la

cohérence

Page 31: 00 panorama-nosql

CAP theorem

“It is impossible for a web service to provide following three guarantees :

Consistency Availability Partition-toleranceA distributed system can satisfy any two of these guarantees at the same time but not all three

Eric Brewer

Page 32: 00 panorama-nosql

Note du formateur : un système CA, vous y croyez ?

Page 33: 00 panorama-nosql

Basically Available : le système fonctionne

Soft state : les données ne sont pas forcément consistantes

Eventually consistent : mais finiront par l’être

=> Système AP

Page 34: 00 panorama-nosql

Revenons à nos moutons

Page 35: 00 panorama-nosql

4 grandes familles

Key Value

Column oriented

Document oriented

Graph oriented

Page 36: 00 panorama-nosql

Key-Value

Key Value

Page 37: 00 panorama-nosql

Key-Value

Id => objet

Login:#id => unlogin

Email:#id => [email protected]

Skills#id => set(redis, mongodb, java)

Page 38: 00 panorama-nosql

Column oriented

Page 39: 00 panorama-nosql

Document oriented

KeyDocument

{ field1 : value1,Field2 : value2}

Page 40: 00 panorama-nosql

Graph oriented

Page 41: 00 panorama-nosql

Pour finir

Logs

Audit

Transactions bancaires

10 ou 1M

d’utilisateurs ?

24/24 ?

RechercheReporting

Cache

Page 42: 00 panorama-nosql