Académique Documents
Professionnel Documents
Culture Documents
L'équipe
Dans toute base de données, vous ne pouvez respecter au plus que 2 propriétés parmi la cohérence,
la disponibilité et la distribution ( CA OU CP OU AP ).
CAP: Acid vs Base
Sharding
le sharding est une méthode qui permet de partitionner un ensemble de données venant d’une même base de
données. On fractionne ainsi notre base de données en plusieurs sous-ensembles de données également
appelées « datasets ».
Il existe deux principales méthodes de sharding ou partitionnement : le partitionnement horizontal et le
partitionnement vertical.
Sharding
le partitionnement horizontal : permet de séparer les lignes et de les stocker dans différents
serveurs.
Considérons l’exemple d’une chaîne de magasins qui possède une base de données de ses clients et leurs
produits achetés. Le schéma suivant représente un partitionnement horizontal. Dans le premier fragment,
nous avons toutes les informations concernant les produits qui coûtent moins de 100€ alors que dans le
deuxième, nous avons les informations concernant les produits qui coûtent plus de 100€.
Sharding
le partitionnement vertical : quant à lui permet de séparer les colonnes et de les stocker dans
différents serveurs.
En reprenant l’exemple précédent, nous pouvons également effectuer un partitionnement vertical. Le premier
fragment contiendra les informations personnelles d’un utilisateur alors que le deuxième fragment contiendra
les informations sur les produits achetés.
Quelques base de NOSQL orienté graphe
NEO4J
Définition:
Neo4j est un
système de gestion de base de données au
code source libre basé sur les graphes, développé
en Java , par la société suédo-américaine Neo
technology. Le produit existe depuis 2000, la version
1.0 est sortie en février.
Exemple d’usage neo4j:
Logistique : calculer le meilleur chemin pour livrer un
client
Social, collaboration : rechercher très facilement qui
sont les amis de mes amis
Droits d’accès : gestion des groupes, utilisateurs et
droits rapidement et sans redondance . . .
les caractéristiques de neo4j :
● Neo4j intègre son propre langage de requêtage , le Cypher
Forces Faiblesses
open source work in progress : le système n`est
pas forcément complet mais évolue
vite!
un moteur puissant accessible il n’est pas évident dans l'interface
facilement. de base de rendre les graphes
dynamiques
Système de requêtage plus plaisant oblige à architecturer correctement
que le SQL les modèles de données