MongoDB Academy · Leçon

Qu’est-ce qu’Atlas Data Federation ?

Les apprenants décriront l’architecture de Data Federation, les types de sources de données pris en charge et le moteur de requêtes qui les unifie.

Leçon 1 sur 413 étapes

Qu’est-ce qu’Atlas Data Federation ? 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.

Le problème : les données sont partout

Les applications modernes génèrent des données dans plusieurs systèmes : données opérationnelles en temps réel dans MongoDB Atlas, archives historiques dans Amazon S3 et exportations analytiques dans des lacs de données. Interroger ces silos de manière transversale nécessite traditionnellement des chaînes de traitement de données, des tâches ETL et des moteurs de requêtes distincts. Atlas Data Federation résout ce problème en vous permettant d’interroger toutes ces sources avec une seule connexion MongoDB et la chaîne de traitement d’agrégation que vous connaissez déjà.

Qu’est-ce qu’Atlas Data Federation ?

Atlas Data Federation est un moteur de requêtes entièrement géré intégré à MongoDB Atlas. Il crée une instance de base de données fédérée — un déploiement MongoDB virtuel qui associe les données de plusieurs sources (clusters Atlas, compartiments S3, Atlas Data Lake et points de terminaison HTTP) à des collections virtuelles. Vous vous connectez avec une chaîne de connexion MongoDB standard et utilisez la même chaîne de traitement d’agrégation que celle que vous connaissez déjà.

// Connect to a federated database instance
// The URI looks like a regular Atlas connection string
// mongodb://...@data.mongodb-api.com/federated
const client = new MongoClient(
  'mongodb+srv://federated-instance.mongodb.net/myFederatedDB'
)

Sources de données prises en charge

Atlas Data Federation peut interroger : les clusters Atlas — des collections MongoDB en temps réel. Amazon S3 — des fichiers JSON, BSON, CSV, TSV, Avro, ORC et Parquet stockés dans des compartiments S3. Atlas Data Lake — des ensembles de données traités et enrichis. Les points de terminaison HTTP/HTTPS — des API REST externes qui renvoient du JSON. Toutes les sources sont associées à des espaces de noms virtuels au sein de l’instance fédérée.

Architecture de la base de données fédérée

Une base de données fédérée comporte trois couches : configuration du stockage — définit quelles sources sont associées à quelles bases de données et collections virtuelles. moteur de requêtes — processeur SQL/MQL distribué qui lit plusieurs sources, applique les étapes de la chaîne de traitement et fusionne les résultats. couche de connexion — point de terminaison compatible avec mongos auquel vous vous connectez avec n’importe quel pilote MongoDB ou mongosh.

// Storage configuration (simplified JSON structure)
{
  'databases': [{
    'name': 'analytics',
    'collections': [{
      'name': 'orders_archive',
      'dataSources': [{
        'storeName': 's3Store',
        'path': '/data/orders/2024/'
      }]
    }]
  }]
}

Créer une instance de base de données fédérée

Vous créez une instance de base de données fédérée par l’intermédiaire de l’interface Atlas, de l’API d’administration Atlas ou de l’interface CLI Atlas. Lors de la configuration, vous devez : 1) nommer l’instance. 2) Ajouter des magasins (compartiments S3 avec des identifiants IAM, clusters Atlas, etc.). 3) Définir des bases de données et des collections virtuelles qui pointent vers ces magasins. 4) Copier la chaîne de connexion et vous connecter avec votre pilote MongoDB.

// Using Atlas CLI to create a data federation instance
// atlas dataFederation create myFederation --region US_EAST_1

// Then add a store via Atlas UI or API
// POST /api/atlas/v1.0/groups/{groupId}/dataFederation/{name}/dataStores
// { 'name': 's3Store', 'provider': 'S3', 'region': 'us-east-1', 'bucket': 'my-data' }

Espaces de noms virtuels : des collections sans schéma

Les collections virtuelles d’une base de données fédérée ne stockent pas les données : ce sont des vues logiques des fichiers ou collections de la source sous-jacente. Vous pouvez interroger une collection virtuelle nommée analytics.orders qui lit en réalité des fichiers Parquet S3 situés à s3://my-bucket/orders/2024/. Pour les pilotes et les outils MongoDB, la collection virtuelle ressemble à une collection MongoDB classique et se comporte comme telle.

// Query a virtual collection backed by S3 files
const ordersArchive = db.collection('orders_archive')
const result = await ordersArchive.aggregate([
  { $match: { year: 2024, region: 'EU' } },
  { $group: { _id: '$category', total: { $sum: '$revenue' } } },
  { $sort: { total: -1 } }
]).toArray()

Jointures entre sources avec $lookup

L’une des fonctionnalités les plus puissantes consiste à joindre une collection Atlas active à des données S3 archivées au sein d’une seule chaîne de traitement. Par exemple, vous pouvez rechercher les informations des clients actifs dans un cluster Atlas en temps réel et les joindre à leur historique d’achats de trois ans stocké dans des fichiers Parquet S3 — le tout dans une seule agrégation, sans tâche ETL.

// Join live Atlas collection with S3 archive
db.customers.aggregate([
  { $match: { tier: 'platinum' } },      // live Atlas
  { $lookup: {
    from: 'orders_archive',               // virtual S3-backed collection
    localField: '_id',
    foreignField: 'customerId',
    as: 'purchaseHistory'
  }},
  { $project: { name: 1, tier: 1,
    totalOrders: { $size: '$purchaseHistory' } } }
])

Prise en charge des formats de fichiers dans S3

Data Federation lit les fichiers S3 dans de nombreux formats : JSON (un document par ligne ou sous forme de tableau), BSON (format binaire natif de MongoDB), CSV/TSV (avec une ligne d’en-tête), Avro, ORC et Parquet (formats en colonnes largement utilisés dans les lacs de données). Pour les formats en colonnes, Data Federation peut transmettre la projection et les prédicats de filtrage au lecteur de fichiers afin d’accélérer encore les analyses.

// In storage config, specify file format per path
{
  'dataSources': [{
    'storeName': 's3Store',
    'path': '/analytics/events/{year string}/{month string}/',
    'defaultFormat': '.parquet'
  }]
}

Modèle de coût : tarification basée sur les requêtes

Atlas Data Federation facture en fonction des données traitées (octets analysés), et non de la durée de fonctionnement. Ce modèle est économique pour les requêtes analytiques peu fréquentes sur de grandes archives S3 : vous ne payez rien lorsqu’aucune requête n’est exécutée. Cependant, l’analyse de jeux de données S3 entièrement non partitionnés peut devenir coûteuse. Le partitionnement de vos données S3 et l’utilisation de projections pour réduire le nombre d’octets analysés sont essentiels à la maîtrise des coûts.

Sécurité : authentification et réseau

Les instances de bases de données fédérées utilisent les mêmes utilisateurs et rôles de base de données Atlas que les clusters Atlas classiques. Vous pouvez appliquer l’appairage réseau Atlas, des points de terminaison privés (AWS PrivateLink) et des listes d’accès IP afin de limiter les personnes autorisées à se connecter. La connexion à S3 utilise des rôles IAM plutôt que de stocker directement des clés AWS, conformément aux bonnes pratiques de sécurité AWS.

Quand utiliser Atlas Data Federation

Data Federation convient lorsque : 1) vous devez exécuter des requêtes ponctuelles sur des archives S3 historiques sans charger les données dans un cluster actif. 2) Vous souhaitez joindre des données transactionnelles en temps réel à des données archivées dans une seule requête. 3) Vous avez besoin d’une interface analytique unifiée sur plusieurs clusters Atlas. 4) Vous souhaitez éviter de créer et de maintenir une chaîne de traitement ETL distincte pour chaque cas d’usage analytique.

Vérification rapide

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

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que : Atlas Data Federation crée un espace de noms MongoDB virtuel au-dessus de S3, des clusters Atlas et d’autres sources, vous utilisez la chaîne de traitement d’agrégation standard pour interroger et joindre les données de toutes les sources en une seule opération, et les coûts dépendent du nombre d’octets analysés, le partitionnement et la projection étant donc essentiels à la maîtrise des coûts. Nous allons maintenant associer les sources S3 et Atlas à des espaces de noms virtuels.

Gratuit pour commencer

Apprends JavaScript avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Qu’est-ce qu’Atlas Data Federation ? » est-elle gratuite ?

Oui — le texte complet de « Qu’est-ce qu’Atlas Data Federation ? » 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 « Qu’est-ce qu’Atlas Data Federation ? » ?

Les apprenants décriront l’architecture de Data Federation, les types de sources de données pris en charge et le moteur de requêtes qui les unifie. 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 « Qu’est-ce qu’Atlas Data Federation ? » ?

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. Qu’est-ce qu’Atlas Data Federation ?
  2. Mapper des sources S3 et Atlas vers un espace de noms virtuel
  3. Exécuter des chaînes de traitement d’agrégation entre sources
  4. Partitionner les données S3 pour améliorer les performances des requêtes
← Retour à MongoDB Academy