Junior
Quels types de bases de données existent?
sobes.tech IA
Réponse de l'IA
Les bases de données sont classées selon plusieurs critères, principaux types:
-
Relationnelles (orientées SQL):
- Les données sont stockées dans des tables avec des lignes et des colonnes.
- Les relations entre les tables sont définies par des clés primaires et étrangères.
- Le langage SQL est utilisé pour les requêtes.
- Exemples : PostgreSQL, MySQL, Oracle, SQL Server.
-
NoSQL (non relationnelles):
- Se distinguent par des schémas flexibles et une scalabilité horizontale.
- Il existe différents modèles de données:
- Clé-valeur: Redis, Memcached.
- Documentaires: MongoDB, Couchbase.
- Colonnes larges: Cassandra, HBase.
- Graphes: Neo4j, ArangoDB.
-
En mémoire (RAM):
- Les données sont stockées directement en RAM pour un accès rapide.
- Peuvent être relationnelles ou NoSQL.
- Exemples : Redis, Memcached, SAP HANA.
-
Séries temporelles:
- Optimisées pour stocker et analyser des données en ordre chronologique.
- Exemples : InfluxDB, TimescaleDB.
-
Multimodèles:
- Supportent plusieurs modèles de données simultanément (par exemple, documentaire et graphique).
- Exemples : ArangoDB, OrientDB.
-
Spatiales:
- Optimisées pour stocker et requêter des données avec des coordonnées géographiques.
- Souvent des extensions de bases de données relationnelles ou NoSQL (par exemple, PostGIS pour PostgreSQL).
-
Maître-esclave:
- Patron architectural pour la réplication de données. Un nœud (maître) gère les écritures, d'autres (esclaves) ne font que lire et se synchronisent avec le maître. Utilisé pour la montée en charge des lectures et la haute disponibilité.
-
Sharding:
- Les données sont réparties sur plusieurs nœuds indépendants (shards). Utilisé pour la scalabilité horizontale et la gestion de grands volumes de données.
Tableau comparatif entre bases de données relationnelles et non relationnelles (principales différences):
| Caractéristique | Relationnelles (SQL) | Non relationnelles (NoSQL) |
|---|---|---|
| Schéma | Rigide, prédéfini | Flexible, dynamique |
| Scalabilité | Verticale (plus difficile horizontale) | Horizontale (plus simple) |
| Intégrité des données | ACID (généralement) | BASE (plus fréquent) |
| Modèle de données | Tables | Clé-valeur, documentaire, graphique, etc. |
| Langage de requêtes | SQL | Divers (API, spécifique) |