37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# Base de données Clés-Valeur
|
||
|
||
> Une base de données Key-Value Store est le modèle le plus simple du paradigme NoSQL :
|
||
> - Chaque donnée est enregistrée sous forme d’une paire clé → valeur.
|
||
> - La clé est un identifiant unique (souvent une chaîne de caractères ou un hash).
|
||
> - La valeur peut être de tout type : texte, nombre, objet JSON, données binaire (image, vidéo, objet sérialisé).
|
||
|
||
Elles sont vues comme des tables de hachage persistantes et distribuées.
|
||
|
||
## Caractéristiques
|
||
|
||
- Simplicité : un accès direct par clé, sans relations complexes ni jointures.
|
||
- Performance élevée : très rapide en lecture et écriture (souvent en mémoire).
|
||
- Scalabilité horizontale : ajout de nœuds pour répartir les clés (partitionnement/sharding).
|
||
- Tolérance aux pannes : réplication des paires clé/valeur sur plusieurs nœuds.
|
||
- Schéma flexible : la valeur peut changer de format sans contrainte stricte.
|
||
|
||
## Cas d’usage
|
||
|
||
- Cache en mémoire : accélération des performances d’applications,
|
||
- Sessions utilisateur : stockage temporaire des informations de connexion,
|
||
- Courtier de messages : stocke des messages et des notifications,
|
||
|
||
## Solutions
|
||
|
||
- [Memcached](https://memcached.org/)
|
||
- [Redis](https://redis.io/open-source/),
|
||
- [DragonFly](https://www.dragonflydb.io/),
|
||
- [Amazon DynamoDB](https://aws.amazon.com/fr/dynamodb/),
|
||
- [KeyDB](https://docs.keydb.dev/),
|
||
- [Valkey](https://valkey.io/).
|
||
- [Riak KV](https://riak.com/products/riak-kv/index.html)
|
||
- [Microsoft Garnet](https://microsoft.github.io/garnet/)
|
||
|
||
|
||
[VOIR Rediss](docs/redis.md)
|