MongoDB Academy · पाठ

Atlas Data Federation क्या है

शिक्षार्थी Data Federation की संरचना, इसके समर्थित डेटा स्रोतों के प्रकार और उन्हें एकीकृत करने वाले क्वेरी इंजन का वर्णन करेंगे।

पाठ 1, कुल 4 में से13 चरण

Atlas Data Federation क्या है, CoddyKit पर MongoDB Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह MongoDB Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। MongoDB Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

समस्या: डेटा हर जगह मौजूद है

आधुनिक एप्लिकेशन कई प्रणालियों में डेटा उत्पन्न करते हैं: MongoDB Atlas में लाइव ऑपरेशनल डेटा, Amazon S3 में ऐतिहासिक संग्रह और डेटा लेक में एनालिटिक्स एक्सपोर्ट। इन अलग-अलग डेटा भंडारों पर पारंपरिक रूप से क्वेरी करने के लिए डेटा पाइपलाइन, ETL कार्य और अलग-अलग क्वेरी इंजन आवश्यक होते हैं। Atlas Data Federation आपको एकल MongoDB कनेक्शन और परिचित एग्रीगेशन पाइपलाइन के माध्यम से इन सभी स्रोतों पर क्वेरी करने की सुविधा देकर इस समस्या का समाधान करता है।

Atlas Data Federation क्या है

Atlas Data Federation MongoDB Atlas में निर्मित पूरी तरह प्रबंधित क्वेरी इंजन है। यह एक फेडरेटेड डेटाबेस इंस्टेंस बनाता है — एक वर्चुअल MongoDB परिनियोजन, जो कई स्रोतों (Atlas क्लस्टर, S3 बकेट, Atlas Data Lake और HTTP एंडपॉइंट) के डेटा को वर्चुअल कलेक्शन से मैप करता है। आप मानक MongoDB कनेक्शन स्ट्रिंग से कनेक्ट करते हैं और उसी एग्रीगेशन पाइपलाइन का उपयोग करते हैं जिसे आप पहले से जानते हैं।

// 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'
)

समर्थित डेटा स्रोत

Atlas Data Federation इन स्रोतों पर क्वेरी कर सकता है: Atlas क्लस्टर — लाइव MongoDB कलेक्शन। Amazon S3 — S3 बकेट में संग्रहीत JSON, BSON, CSV, TSV, Avro, ORC और Parquet फ़ाइलें। Atlas Data Lake — प्रोसेस किए गए और बेहतर बनाए गए डेटासेट। HTTP/HTTPS एंडपॉइंट — JSON लौटाने वाले बाहरी REST API। सभी स्रोतों को फेडरेटेड इंस्टेंस के भीतर वर्चुअल नेमस्पेस से मैप किया जाता है।

फेडरेटेड डेटाबेस का आर्किटेक्चर

फेडरेटेड डेटाबेस की तीन परतें होती हैं: स्टोरेज कॉन्फ़िगरेशन — यह निर्धारित करता है कि कौन-से स्रोत किन वर्चुअल डेटाबेस और कलेक्शन से मैप होंगे। क्वेरी इंजन — यह वितरित SQL/MQL प्रोसेसर है, जो कई स्रोतों से पढ़ता है, पाइपलाइन चरण लागू करता है और परिणामों को मर्ज करता है। कनेक्शन परत — mongos-संगत एंडपॉइंट, जिससे आप किसी भी MongoDB ड्राइवर या mongosh के माध्यम से कनेक्ट करते हैं।

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

फेडरेटेड डेटाबेस इंस्टेंस बनाना

आप Atlas UI, Atlas Admin API या Atlas CLI के माध्यम से फेडरेटेड डेटाबेस इंस्टेंस बना सकते हैं। सेटअप के दौरान आप: 1) इंस्टेंस का नाम रखते हैं। 2) स्टोर जोड़ते हैं (IAM क्रेडेंशियल वाले S3 बकेट, Atlas क्लस्टर आदि)। 3) उन स्टोर की ओर संकेत करने वाले वर्चुअल डेटाबेस और कलेक्शन परिभाषित करते हैं। 4) कनेक्शन स्ट्रिंग कॉपी करके अपने 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' }

वर्चुअल नेमस्पेस: बिना स्कीमा वाले कलेक्शन

फेडरेटेड डेटाबेस में वर्चुअल कलेक्शन डेटा संग्रहीत नहीं करते — वे अंतर्निहित स्रोत फ़ाइलों या कलेक्शन पर बने तार्किक दृश्य होते हैं। आप analytics.orders नाम के वर्चुअल कलेक्शन पर क्वेरी कर सकते हैं, जो वास्तव में s3://my-bucket/orders/2024/ पर मौजूद S3 Parquet फ़ाइलों से पढ़ता है। MongoDB ड्राइवरों और टूल के लिए वर्चुअल कलेक्शन सामान्य MongoDB कलेक्शन जैसा ही दिखता और काम करता है।

// 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()

$lookup के साथ अलग-अलग स्रोतों पर जॉइन

सबसे शक्तिशाली सुविधाओं में से एक है एक ही पाइपलाइन में लाइव Atlas कलेक्शन को संग्रहित S3 डेटा के साथ जॉइन करना। उदाहरण के लिए: लाइव Atlas क्लस्टर से सक्रिय ग्राहक का विवरण खोजें और उसे S3 Parquet फ़ाइलों में संग्रहीत उस ग्राहक के तीन साल के खरीद इतिहास के साथ जॉइन करें — वह भी बिना किसी 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' } } }
])

S3 में फ़ाइल फ़ॉर्मैट का समर्थन

Data Federation कई फ़ॉर्मैट में S3 फ़ाइलें पढ़ता है: JSON (हर पंक्ति में एक दस्तावेज़ या ऐरे), BSON (MongoDB का मूल बाइनरी फ़ॉर्मैट), CSV/TSV (हेडर पंक्ति सहित), Avro, ORC और Parquet (डेटा लेक में व्यापक रूप से उपयोग किए जाने वाले कॉलमनुमा फ़ॉर्मैट)। कॉलमनुमा फ़ॉर्मैट के लिए Data Federation प्रोजेक्शन और प्रेडिकेट फ़िल्टर को फ़ाइल रीडर तक पहुँचा सकता है, जिससे स्कैन और भी तेज़ हो जाते हैं।

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

लागत मॉडल: क्वेरी-आधारित मूल्य निर्धारण

Atlas Data Federation का शुल्क अपटाइम के आधार पर नहीं, बल्कि प्रोसेस किए गए डेटा (स्कैन किए गए बाइट) के आधार पर लिया जाता है। इससे बड़े S3 संग्रहों पर कभी-कभार की जाने वाली विश्लेषणात्मक क्वेरी किफ़ायती बनती हैं — जब कोई क्वेरी नहीं चलती, तब कोई शुल्क नहीं लगता। हालाँकि, बिना पार्टिशन वाले पूरे S3 डेटासेट को स्कैन करना महँगा हो सकता है। लागत नियंत्रित करने के लिए S3 डेटा का पार्टिशन करना और स्कैन किए जाने वाले बाइट कम करने हेतु प्रोजेक्शन का उपयोग करना आवश्यक है।

सुरक्षा: प्रमाणीकरण और नेटवर्क

फेडरेटेड डेटाबेस इंस्टेंस वही Atlas डेटाबेस उपयोगकर्ता और भूमिकाएँ इस्तेमाल करते हैं जो सामान्य Atlas क्लस्टर इस्तेमाल करते हैं। कनेक्ट करने वाले लोगों को सीमित करने के लिए आप Atlas नेटवर्क पीयरिंग, निजी एंडपॉइंट (AWS PrivateLink) और IP Access Lists लागू कर सकते हैं। S3 से कनेक्शन में AWS कुंजियाँ सीधे संग्रहीत करने के बजाय IAM भूमिकाओं का उपयोग किया जाता है, जो AWS की सुरक्षा संबंधी सर्वोत्तम प्रक्रियाओं के अनुरूप है।

Atlas Data Federation का उपयोग कब करें

Data Federation इन स्थितियों में उपयुक्त है: 1) आपको डेटा को लाइव क्लस्टर में लोड किए बिना ऐतिहासिक S3 संग्रहों पर तदर्थ क्वेरी चलानी हो। 2) आप एक ही क्वेरी में लाइव लेन-देन संबंधी डेटा को संग्रहित डेटा के साथ जॉइन करना चाहते हों। 3) आपको कई Atlas क्लस्टर पर एकीकृत एनालिटिक्स इंटरफ़ेस चाहिए हो। 4) आप हर विश्लेषणात्मक उपयोग के लिए अलग ETL पाइपलाइन बनाने और बनाए रखने से बचना चाहते हों।

त्वरित जाँच

इस पाठ में MongoDB और NoSQL डेटाबेस की अवधारणाओं के बारे में अपनी समझ जाँचें।

पाठ का पुनरावलोकन

इस पाठ में आपने सीखा: Atlas Data Federation S3, Atlas क्लस्टर और अन्य स्रोतों पर एक वर्चुअल MongoDB नेमस्पेस बनाता है, आप एक ही ऑपरेशन में सभी स्रोतों के डेटा पर क्वेरी करने और उन्हें जॉइन करने के लिए मानक एग्रीगेशन पाइपलाइन का उपयोग करते हैं, और लागत स्कैन किए गए बाइट पर आधारित होती है, इसलिए लागत नियंत्रित करने के लिए पार्टिशनिंग और प्रोजेक्शन आवश्यक हैं। अब हम S3 और Atlas स्रोतों को वर्चुअल नेमस्पेस से मैप करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “Atlas Data Federation क्या है” पाठ निःशुल्क है?

हाँ—“Atlas Data Federation क्या है” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और MongoDB Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। MongoDB Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Atlas Data Federation क्या है” में मैं क्या सीखूँगा?

शिक्षार्थी Data Federation की संरचना, इसके समर्थित डेटा स्रोतों के प्रकार और उन्हें एकीकृत करने वाले क्वेरी इंजन का वर्णन करेंगे। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ MongoDB Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या MongoDB Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर MongoDB Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Atlas Data Federation क्या है” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस MongoDB Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर MongoDB Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Atlas Data Federation क्या है
  2. S3 और Atlas स्रोतों को वर्चुअल नेमस्पेस से मैप करना
  3. विभिन्न स्रोतों पर एग्रीगेशन डेटा-प्रवाह चलाना
  4. क्वेरी प्रदर्शन के लिए S3 डेटा का विभाजन
← MongoDB Academy पर वापस जाएँ