Files
ObsidianWork/Subjects/Backend development.md

2.1 KiB

Backend development


Overview

  • Architecture serveur
  • Types de base de données
  • Base de données relationnelles

Architecture Serveur

!Pasted image 20250312154125.png

--

Reverse proxy

!Pasted image 20250312154343.png

  • Résoud les requêtes (routing)
  • Load balancing
  • Cryptographie et certificats

--

Web server

!Pasted image 20250312155058.png

  • 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

!Pasted image 20250312155847.png

  • Base de données
  • Permet une structuration efficace et performante des données
  • Peut être versionnée, backupé, migré

--

BDD relationnelles (schemafull)

!Pasted image 20250312155847.png

  • Extrêmement polyvalentes et performantes
  • ACID (atomicity, consistency, isolation, and durability)
  • difficiles à scale

--

BDD Document (schemaless)

!Pasted image 20250312161605.png

  • 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

!Pasted image 20250312161701.png

  • 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

!Pasted image 20250312161743.png

  • 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

!Pasted image 20250312162226.png

  • Polyvalence extrême
  • Toujours ce qu'il se fait de mieux depuis 1970

--

Tables

!Pasted image 20250312162333.png

  • 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