Not-Only SQL (Part. 1)

En informatique et en bases de données, NoSQL désigne une famille de systèmes de gestion de base de données qui s’écarte du paradigme classique des bases relationnelles. L’explicitation la plus populaire de l’acronyme est Not only SQL même si cette interprétation peut être discutée

Les 4 types de structure NoSQL

NoSQL – Orientée Clé-valeur

  • La plus simple
  • 3 opérations : PUT GET DELETE
  • Pas de langage de requête
  • Adaptée aux caches et aux accès rapides aux informations
  • Lecture / écriture = accès disque simple
  • Exemples (Amazon DynamoDB, Redis)

NoSQL – Orientée Colonnes

  • Se rapproche d’une base de données traditionnelles
  • Colonnes dynamiques, il n’y a pas de valeur nulles
  • Plus évolutive, flexible que les clé-valeurs
  • Exemples (Big Table, Apache HBase)

NoSQL – Orientée graphes

  • Palie à des problèmes impossible à résoudre avec des BDD relationnelles
  • Forme de graphe
  • Utilisation typique des réseaux sociaux
  • Exemples (Neo4j, Amazon Neptune)

NoSQL – Orientée Document

  • Proche de la version clé-valeur
  • Chaque valeur est représentée sous la forme d’un document
  • Sous forme hiérarchique (.json)
  • Exemples : (CouchDB, MongoDB)

ACID vs BASE

A = Atomicité : Transaction s’effectue soit entièremenent, soit pas dutout.

C = Cohérence : Le contenu de la base doit être cohérent.

I = Isolation : Tant qu’une transaction n’est pas finie, les modifications ne sont pas validées.

D = Durabilité : Une fois la transaction validée, l’état est permanent.

B = Basically & A = Available : Quelle que soit la charge de la base de données, le système garanti un taux de disponibilité de la donnée

S = Soft-state : La base peut changer lors de mises à jour

E = Eventually consistent : A terme la base aura un état cohérent

Théorème de CAP

Consistency (conhérence) : Une donnée n’a qu’un seul état visible.

Availability (disponibilité) : Tant que le système tourne, la donnée doit être disponible.

Partition Tolerance (Distribution) : Quel que soit le nombre de serveurs, toute requête doit fournir un résultat correct.

Liens

datascientest
openclassrooms
db-engines

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *