स्रोत को प्रभावित किए बिना Fabric में Azure SQL Database की लगभग वास्तविक समय, केवल-पढ़ने वाली प्रतिकृति बनाएं।
→Azure SQL Database के लिए Fabric Mirroring का उपयोग करें।
क्यों: Mirroring OneLake में डेटा की निम्न-विलंबता, निरंतर प्रतिकृति को Delta तालिकाओं के रूप में प्रदान करता है, जो बिना ETL विकास के वास्तविक समय एनालिटिक्स के लिए आदर्श है।
किसी अन्य वर्कस्पेस के साथ एक डेटासेट साझा करें या कॉपी बनाए बिना बाहरी डेटा तक पहुंचें।
→स्रोत lakehouse तालिका या बाहरी डेटा स्थान की ओर इशारा करते हुए एक Shortcut बनाएं।
क्यों: Shortcuts प्रतीकात्मक लिंक के रूप में कार्य करते हैं, OneLake में डेटा का एक एकीकृत दृश्य प्रदान करते हैं जबकि डेटा डुप्लीकेशन, स्टोरेज लागत और सिंक समस्याओं से बचते हैं।
उच्च-वेग स्ट्रीमिंग डेटा को ऐतिहासिक बैच डेटा के साथ एकीकृत एनालिटिक्स के लिए संयोजित करें।
→वास्तविक समय अंतर्ग्रहण के लिए Eventstream और एकीकृत स्टोरेज के लिए Delta Lake तालिकाओं के साथ एक Lakehouse का उपयोग करें।
क्यों: Eventstream स्ट्रीमिंग पथ को संभालता है, जबकि Delta Lake के ACID गुण इसे स्ट्रीमिंग ऐपेंड्स और बैच अपडेट दोनों के लिए एक लक्ष्य के रूप में कार्य करने की अनुमति देते हैं।
एक ही lakehouse डेटा पर T-SQL-आधारित विश्लेषण और Python-आधारित डेटा साइंस दोनों को सक्षम करें।
→Lakehouse के लिए स्वचालित रूप से जेनरेट किए गए SQL एनालिटिक्स एंडपॉइंट का लाभ उठाएं।
क्यों: Fabric एक ही Delta तालिकाओं तक दोहरे-इंजन पहुंच प्रदान करता है: T-SQL प्रश्नों के लिए एक SQL एंडपॉइंट और नोटबुक के लिए Spark इंजन, बिना डेटा डुप्लीकेशन के।
एक ऑन-प्रिमाइसेस डेटा स्रोत (जैसे Oracle, SQL Server) से Fabric में डेटा अंतर्ग्रहण करें।
→एक ऑन-प्रिमाइसेस डेटा गेटवे स्थापित और कॉन्फ़िगर करें।
क्यों: गेटवे एक सुरक्षित ब्रिज के रूप में कार्य करता है, ऑन-प्रिमाइसेस नेटवर्क और Fabric क्लाउड सेवा के बीच डेटा रिले करता है बिना स्रोत को इंटरनेट पर उजागर किए।
Azure Blob Storage में आते ही नई फ़ाइलों को स्वचालित रूप से संसाधित करें।
→डेटा पाइपलाइन के लिए एक Storage Event ट्रिगर का उपयोग करें, जिसे Blob निर्माण घटनाओं पर फायर करने के लिए कॉन्फ़िगर किया गया है।
क्यों: इवेंट-ड्रिवन ट्रिगर कम विलंबता प्रदान करते हैं और शेड्यूल किए गए पोलिंग की तुलना में अधिक कुशल होते हैं, जो डेटा को मिस कर सकते हैं या अनावश्यक रूप से चल सकते हैं।
Slowly Changing Dimension Type 2 लॉजिक को लागू करें या Change Data Capture (CDC) स्ट्रीम्स को संसाधित करें।
→Delta Lake MERGE ऑपरेशन का उपयोग `WHEN MATCHED` और `WHEN NOT MATCHED` क्लॉज़ के साथ करें।
क्यों: MERGE एटॉमिक upsert (अपडेट/इन्सर्ट/डिलीट) क्षमताएं प्रदान करता है, जो SCD2 पैटर्न में ऐतिहासिक रिकॉर्ड बनाए रखने के लिए मूलभूत ऑपरेशन है।
ऑब्जेक्ट्स के नेस्टेड एरेज़ वाले एक DataFrame कॉलम को अलग-अलग पंक्तियों में बदलें।
→PySpark नोटबुक में एरे कॉलम पर `explode()` फ़ंक्शन लागू करें।
क्यों: `explode()` एरेज़ को अन-नेस्टिंग करने के लिए मानक Spark फ़ंक्शन है, जो एरे में प्रत्येक तत्व के लिए एक नई पंक्ति बनाता है।
एक स्टेटफुल स्ट्रीमिंग एग्रीगेशन (जैसे, विंडो वाले काउंट) में देर से आने वाले डेटा को संभालें।
→Spark Structured Streaming क्वेरी में इवेंट-टाइम कॉलम पर एक वॉटरमार्क कॉन्फ़िगर करें।
क्यों: वॉटरमार्किंग एक समय सीमा को परिभाषित करता है कि इंजन देर से आने वाले डेटा के लिए कब तक प्रतीक्षा करेगा, अनिश्चित काल तक स्थिति को बढ़ने से रोकता है जबकि शुद्धता सुनिश्चित करता है।
एक स्रोत सिस्टम से वृद्धिशील डेटा लोड करें जिसमें एक टाइमस्टैम्प कॉलम है लेकिन कोई CDC नहीं है।
→एक हाई-वॉटरमार्क पैटर्न लागू करें। पिछली रन से अधिकतम टाइमस्टैम्प स्टोर करें और अगली रन में स्रोत को फ़िल्टर करने के लिए इसका उपयोग करें।
क्यों: यह केवल नए या अपडेट किए गए रिकॉर्ड को पूर्ण तालिका स्कैन के ओवरहेड या औपचारिक CDC की आवश्यकता के बिना निकालने के लिए एक कुशल और सामान्य पैटर्न है।
एक पाइपलाइन गतिविधि क्षणिक नेटवर्क समस्याओं या स्रोत सिस्टम लोड के कारण रुक-रुक कर विफल हो जाती है।
→निर्दिष्ट गणना और घातीय बैकऑफ़ अंतराल के साथ गतिविधि की पुन: प्रयास नीति को कॉन्फ़िगर करें।
क्यों: असफल ऑपरेशनों को स्वचालित रूप से पुनः प्रयास करके पाइपलाइन में लचीलापन बनाता है, अक्सर मैन्युअल हस्तक्षेप के बिना क्षणिक समस्याओं को हल करता है।
वास्तविक समय अन्वेषण विश्लेषण के लिए उच्च-मात्रा, कम-विलंबता टेलीमेट्री या लॉग डेटा को अंतर्ग्रहण और क्वेरी करें।
→Eventhouse में डेटा अंतर्ग्रहण करें और Kusto Query Language (KQL) का उपयोग करके उसे क्वेरी करें।
क्यों: Eventhouse (Azure Data Explorer पर निर्मित) और KQL उच्च-प्रदर्शन समय-श्रृंखला और लॉग एनालिटिक्स के लिए विशेष रूप से बनाए गए हैं।
एक एकल, पुन: प्रयोज्य पाइपलाइन बनाएं जो दर्जनों तालिकाओं को लोड करने के लिए एक ही परिवर्तन तर्क साझा करती है।
→एक मेटाडेटा-संचालित दृष्टिकोण का उपयोग करें। एक नियंत्रण तालिका में स्रोत/गंतव्य जानकारी संग्रहीत करें और एक सामान्य चाइल्ड पाइपलाइन को पुनरावृति करने और पैरामीटर पास करने के लिए ForEach गतिविधि का उपयोग करें।
क्यों: यह पैटर्न अत्यधिक स्केलेबल और रखरखाव योग्य है, प्रत्येक तालिका के लिए अलग-अलग पाइपलाइन बनाने के डुप्लीकेशन और प्रबंधन ओवरहेड से बचा जाता है।
एक Dataflow Gen2 के प्रदर्शन को ऑप्टिमाइज़ करें जो SQL Server जैसे रिलेशनल डेटाबेस से डेटा स्रोत करता है।
→ऐसे परिवर्तन डिज़ाइन करें जिन्हें फोल्ड किया जा सके। Power Query एडिटर में क्वेरी फोल्डिंग स्थिति सत्यापित करें।
क्यों: क्वेरी फोल्डिंग परिवर्तन तर्क को स्रोत डेटाबेस इंजन में धकेलता है, जो Spark इंजन में परिवर्तन के लिए सभी डेटा खींचने की तुलना में काफी अधिक प्रदर्शनशील होता है।
एक ऑडिट के लिए या आकस्मिक अपडेट से उबरने के लिए, किसी तालिका को अतीत के एक विशिष्ट बिंदु पर जैसा वह मौजूद था, क्वेरी करें।
→क्वेरी में `VERSION AS OF` या `TIMESTAMP AS OF` के साथ Delta Lake की टाइम ट्रैवल सुविधा का उपयोग करें।
क्यों: Delta Lake स्वाभाविक रूप से हर लेनदेन को संस्करणित करता है, मैन्युअल स्नैपशॉट या बैकअप की आवश्यकता के बिना बिंदु-में-समय क्वेरी की अनुमति देता है।