2.1 KiB
2.1 KiB
Backend development
Overview
- Architecture serveur
- Types de base de données
- Base de données relationnelles
Architecture Serveur
--
Reverse proxy
- Résoud les requêtes (routing)
- Load balancing
- Cryptographie et certificats
--
Web server
- Le moteur écoute les requête, sérialise les réponses, gère les imprévus, fait tourner le code de l'API
- l'API est la partie programmable du serveur, la plaque tournant de la logique
--
Stockage
- Base de données
- Permet une structuration efficace et performante des données
- Peut être versionnée, backupé, migré
--
BDD relationnelles (schemafull)
- Extrêmement polyvalentes et performantes
- ACID (atomicity, consistency, isolation, and durability)
- difficiles à scale
--
BDD Document (schemaless)
- Données structurées de manière plus flexible
- Manipulées comme du JSON, naturel à utiliser depuis l'OO
- plus facile à aborder et à scale initialement
- Non ACID
--
BDD Clé-valeur
- Un genre de gros dictionnaire en mémoire vive
- Performance++
- Souvent utilisé comme cache pour les données fréquemment lues
- Ou pour des usages répétés mais relativement simples
--
BDD en graph
- Données fortement interconnectées (type réseau social)
- Les relations entre les éléements ont autant d'importance que les éléments eux-mêmes
BDD Relationnelles
- Polyvalence extrême
- Toujours ce qu'il se fait de mieux depuis 1970
--
Tables
- Une table représente généralement un genre d'entité (ici, Customer)
- On divise la table en colonnes (columns, des attributs) et en lignes (rows, des entrées dans la BDD)
- Chaque row doit avoir un moyen unique de la différencier du reste, ce qu'on appelle une Primary Key
- une PK peut être composite








