0Pricing
MongoDB Academy · Leçon

Le goulet d’étranglement des bases de données relationnelles

Vous identifierez les difficultés de mise à l’échelle et de flexibilité des bases de données SQL qui ont motivé l’émergence du mouvement NoSQL.

Le goulet d’étranglement des bases de données relationnelles est une leçon MongoDB Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MongoDB Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MongoDB Academy comprend 4 leçons au total.

The Rise of Relational Databases

Pendant des décennies, les bases de données relationnelles comme MySQL et PostgreSQL ont dominé. Elles stockent les données dans des tableaux soignés composés de lignes et de colonnes, et elles fonctionnent très bien. Alors, pourquoi chercher plus loin ?

The Rigid Schema Problem

Les tables SQL utilisent un schéma rigide : vous devez définir chaque colonne au préalable. Le modifier ultérieurement nécessite une migration qui peut verrouiller la table et entraîner une interruption de service.

-- Adding a column to a large table in PostgreSQL can be slow
ALTER TABLE users ADD COLUMN preferences JSONB;
-- On 100M rows this may require a full table rewrite
-- and blocks reads/writes for minutes

Scaling Up vs. Scaling Out

Pour se développer, le SQL a généralement recours à la montée en charge (scale up) — un serveur plus gros et plus coûteux. Mais il y a une limite. Les applications modernes doivent se déployer sur de nombreuses machines, ce que le SQL gère difficilement.

JOIN Performance at Scale

SQL divise les données entre plusieurs tables et les rassemble à l'aide de JOINs. C'est très bien à petite échelle, mais avec d'énormes volumes de données, joindre cinq tables par requête devient lent.

-- A typical normalized SQL query joining 4 tables
SELECT o.id, c.name, p.title, oi.quantity
FROM orders o
JOIN customers c ON c.id = o.customer_id
JOIN order_items oi ON oi.order_id = o.id
JOIN products p ON p.id = oi.product_id
WHERE o.status = 'pending';

The High-Traffic Write Problem

SQL verrouille les lignes pour garantir la sécurité des données grâce aux transactions ACID. C'est idéal pour les banques, mais ces verrous deviennent problématiques lorsque vous avez besoin de millions d'écritures par seconde.

Unstructured and Semi-Structured Data

Le web regorge de données semi-structurées comme du JSON désordonné. Les forcer dans des colonnes fixes entraîne une multitude de champs vides ou des solutions de contournement maladroites.

-- EAV table: flexible but awkward to query
CREATE TABLE product_attributes (
  product_id INT,
  attr_name  VARCHAR(50),
  attr_value VARCHAR(200)
);
-- Querying all electronics by voltage is painful:
SELECT * FROM product_attributes
WHERE attr_name = 'voltage' AND CAST(attr_value AS INT) > 100;

The Internet Scale Wake-Up Call

Vers 2006, Google et Amazon se sont heurtés à de véritables limites de mise à l'échelle et ont publié leurs solutions. Cela a déclenché une toute nouvelle vague : des bases de données NoSQL conçues pour l'échelle d'Internet.

What NoSQL Does Differently

NoSQL sacrifie certaines règles SQL au profit de nouveaux atouts : des schémas flexibles, une mise à l'échelle aisée entre plusieurs machines et une grande rapidité d'écriture. Ce n'est pas toujours mieux, c'est simplement optimisé différemment.

When RDBMS Still Wins

Le SQL l'emporte encore largement : transactions financières, rapports complexes et données stables. La plupart des applications ne dépassent jamais les capacités d'une base PostgreSQL bien optimisée. Le bon outil pour le travail !

The Document Model as a Solution

La réponse de MongoDB est le modèle de document. Au lieu de diviser un utilisateur entre cinq tables, il stocke tout ensemble dans un seul document de type JSON. Le code ci-dessous en montre un.

// A MongoDB document stores related data together
{
  _id: ObjectId('...'),
  name: 'Alice',
  email: 'alice@example.com',
  address: { city: 'London', zip: 'EC1A' },
  tags: ['premium', 'newsletter'],
  createdAt: ISODate('2024-01-15')
}

Horizontal Scaling Is Built In

MongoDB évolue horizontalement grâce au sharding, qui permet d'ajouter des serveurs à mesure que vous vous développez. Les jeux de réplicas conservent des copies actives, de sorte que si un nœud tombe en panne, un autre prend automatiquement le relais.

Quick Check

Testez votre compréhension des concepts de MongoDB et des bases de données NoSQL abordés dans cette leçon.

Lesson Recap

Vous avez vu pourquoi les goulots d'étranglement SQL posent problème à très grande échelle, là où les JOIN et les écritures lourdes sont les plus pénalisants, et comment le modèle de document de MongoDB y remédie. La suite : les quatre familles de NoSQL.

Questions Fréquemment Posées

La leçon « Le goulet d’étranglement des bases de données relationnelles » est-elle gratuite ?

Oui — le texte complet de « Le goulet d’étranglement des bases de données relationnelles » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MongoDB Academy, passe à CoddyKit PRO. Le cours MongoDB Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Le goulet d’étranglement des bases de données relationnelles » ?

Vous identifierez les difficultés de mise à l’échelle et de flexibilité des bases de données SQL qui ont motivé l’émergence du mouvement NoSQL. Tu pratiques MongoDB Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer MongoDB Academy ?

Aucune expérience préalable n'est requise. MongoDB Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Le goulet d’étranglement des bases de données relationnelles » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon MongoDB Academy ?

Oui. Chaque leçon MongoDB Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Le goulet d’étranglement des bases de données relationnelles
  2. Les variantes NoSQL : documents, paires clé-valeur, colonnes et graphes
  3. Le théorème CAP en termes simples
  4. La place de MongoDB
← Retour à MongoDB Academy