क्वेरी लागत और प्रदर्शन के लिए एक बड़ी BigQuery टेबल को अनुकूलित करें।
→टेबल को बार-बार फ़िल्टर किए गए समय-इकाई कॉलम (जैसे, ट्रांज़ेक्शन डेट) द्वारा पार्टिशन करें। अन्य उच्च-कार्डिनैलिटी, बार-बार फ़िल्टर किए गए कॉलम (जैसे, `customer_id`) द्वारा टेबल को क्लस्टर करें।
क्यों: पार्टिशनिंग स्कैन किए गए डेटा की मात्रा को कम करके लागत और विलंबता को कम करने का सबसे प्रभावी तरीका है। क्लस्टरिंग पार्टिशन के भीतर डेटा को सॉर्ट करके प्रदर्शन में और सुधार करती है।
संदर्भ↗
एक संवेदनशील BigQuery डेटासेट से डेटा को एक अनधिकृत गंतव्य (जैसे, एक सार्वजनिक GCS बकेट) पर कॉपी होने से रोकें, भले ही वैध क्रेडेंशियल वाले उपयोगकर्ता द्वारा किया गया हो।
→BigQuery डेटासेट वाले प्रोजेक्ट के चारों ओर एक सेवा परिधि बनाने के लिए VPC Service Controls का उपयोग करें।
क्यों: VPC Service Controls GCP सेवाओं के लिए एक "वर्चुअल फ़ायरवॉल" के रूप में कार्य करते हैं, डेटा को परिधि छोड़ने से रोकते हैं। यह डेटा एक्सफ़िल्ट्रेशन के खिलाफ एक महत्वपूर्ण डीप-इन-डिफेंस नियंत्रण है।
संदर्भ↗
BigQuery टेबल में संवेदनशील कॉलम (जैसे, PII) तक पहुंच को अधिकृत समूहों तक सीमित करें, जबकि दूसरों को शेष कॉलम को क्वेरी करने की अनुमति दें।
→एक टैक्सोनॉमी और पॉलिसी टैग बनाने के लिए Data Catalog का उपयोग करें। संवेदनशील कॉलम पर पॉलिसी टैग लागू करें और अधिकृत समूहों को "फाइन-ग्रेन्ड रीडर" भूमिका प्रदान करें।
क्यों: यह BigQuery में कॉलम-स्तर की सुरक्षा के लिए मूल, स्केलेबल विधि है। यह अलग-अलग व्यू बनाने और प्रबंधित करने की आवश्यकता के बिना केंद्रीकृत शासन प्रदान करता है।
एक टेबल को फ़िल्टर करें ताकि उपयोगकर्ता केवल उन पंक्तियों को देख सकें जो उनसे संबंधित हैं (जैसे, बिक्री प्रबंधक केवल अपने स्वयं के क्षेत्र का डेटा देखते हैं)।
→टेबल पर एक Row-Level Security Policy बनाएँ जो `SESSION_USER()` के आधार पर पंक्तियों को फ़िल्टर करती है।
क्यों: क्वेरी समय पर गतिशील, प्रेडिकेट-आधारित फ़िल्टरिंग प्रदान करता है। यह प्रत्येक उपयोगकर्ता या भूमिका के लिए एक अधिकृत दृश्य बनाने की तुलना में अधिक सुरक्षित और प्रबंधनीय है।
विनियमों का पालन करने के लिए एक निर्दिष्ट प्रतिधारण अवधि के बाद BigQuery टेबल से डेटा को स्वचालित रूप से हटा दें (जैसे, 7 साल से अधिक पुराने डेटा को हटा दें)।
→टाइम-सीरीज़ डेटा के लिए, टाइम-पार्टिशन्ड टेबल पर पार्टिशन एक्सपिरेशन सेट करें। अन्य टेबलों के लिए, डिफ़ॉल्ट टेबल एक्सपिरेशन सेट करें।
क्यों: यह एक अंतर्निहित, "सेट-एंड-फॉरगेट" सुविधा है जो मैन्युअल क्लीनअप स्क्रिप्ट या बाहरी ऑर्केस्ट्रेशन के बिना अनुपालन सुनिश्चित करती है।
एक BigQuery टेबल को गलती से संशोधित या हटा दिया गया था।
→घटना से पहले जिस समय बिंदु पर टेबल मौजूद थी, उसे क्वेरी करने के लिए BigQuery Time Travel का उपयोग करें, `FOR SYSTEM_TIME AS OF` का उपयोग करके।
क्यों: BigQuery स्वचालित रूप से टेबल डेटा का 7-दिवसीय इतिहास रखता है। यह बैकअप से पुनर्स्थापित करने की आवश्यकता के बिना टाइम ट्रैवल विंडो के भीतर तत्काल रिकवरी की अनुमति देता है।
संदर्भ↗
पूरे संगठन में डेटा संपत्तियों (BigQuery, GCS) को खोजें, प्रबंधित करें, सुरक्षित करें और मॉनिटर करें।
→Dataplex का उपयोग करें।
क्यों: Dataplex एक इंटेलिजेंट डेटा फैब्रिक के रूप में कार्य करता है, जो विभिन्न डेटा साइलो में डेटा गवर्नेंस, गुणवत्ता, वंश, खोज और जीवनचक्र प्रबंधन के लिए एक एकीकृत फलक प्रदान करता है।
समझें और कल्पना करें कि डेटा स्रोत सिस्टम से, परिवर्तन जॉब्स के माध्यम से, अंतिम रिपोर्टिंग टेबलों तक कैसे प्रवाहित होता है।
→Dataplex Data Lineage का उपयोग करें।
क्यों: प्रभाव विश्लेषण और ऑडिटिंग के लिए डेटा निर्भरताओं का एक इंटरैक्टिव, ग्राफ-आधारित दृश्य प्रदान करने के लिए BigQuery, Data Fusion और Composer लॉग से वंशावली जानकारी को स्वचालित रूप से कैप्चर करता है।
महत्वपूर्ण वर्कलोड के लिए अनुमानित क्वेरी प्रदर्शन और लागत सुनिश्चित करें, अन्य उपयोगकर्ताओं से "स्लॉट विवाद" से बचें।
→BigQuery एडिशन (क्षमता-आधारित मूल्य निर्धारण) खरीदें। विशिष्ट प्रोजेक्ट या फ़ोल्डरों को स्लॉट का एक पूल समर्पित करने के लिए आरक्षण बनाएँ।
क्यों: साझा, ऑन-डिमांड पूल से एक समर्पित कंप्यूट क्षमता में स्विच करता है, महत्वपूर्ण जॉब्स के लिए संसाधनों की गारंटी देता है और अनुमानित बिलिंग प्रदान करता है।
BigQuery और Cloud Storage में सभी डेटा संपत्तियों को स्कैन करें ताकि PII और अन्य संवेदनशील डेटा को स्वचालित रूप से पहचाना और वर्गीकृत किया जा सके।
→एक Cloud Data Loss Prevention (DLP) खोज स्कैन जॉब कॉन्फ़िगर करें।
क्यों: Cloud DLP बड़े पैमाने पर संवेदनशील डेटा खोजने के लिए सैकड़ों पूर्वनिर्धारित डिटेक्टरों का उपयोग करता है। यह शासन के लिए स्वचालित रूप से पॉलिसी टैग लागू करने के लिए Data Catalog के साथ एकीकृत हो सकता है।
एक कंटेनरयुक्त एप्लिकेशन (GKE या Cloud Run पर) को सेवा खाता कुंजियों का प्रबंधन किए बिना BigQuery पर सुरक्षित रूप से प्रमाणित करने की आवश्यकता है।
→Workload Identity का उपयोग करें।
क्यों: सेवा-से-सेवा प्रमाणीकरण के लिए अनुशंसित सर्वोत्तम अभ्यास। यह एक Kubernetes सेवा खाते को एक GCP IAM सेवा खाते से मैप करता है, जिसमें अल्पकालिक, स्वचालित रूप से घुमाए गए टोकन का उपयोग किया जाता है।
अनुपालन के लिए, उन सभी उपयोगकर्ताओं की रिपोर्ट जनरेट करें जिन्होंने पिछले 90 दिनों में एक संवेदनशील BigQuery टेबल को क्वेरी किया है।
→BigQuery डेटा एक्सेस ऑडिट लॉग को सक्षम और क्वेरी करें, जिन्हें विश्लेषण के लिए BigQuery डेटासेट पर रूट किया जा सकता है।
क्यों: डेटा एक्सेस लॉग यह एक अपरिवर्तनीय रिकॉर्ड प्रदान करते हैं कि किसने किस डेटा को कब एक्सेस किया। वे सुरक्षा और अनुपालन ऑडिट के लिए आवश्यक हैं लेकिन उन्हें स्पष्ट रूप से सक्षम किया जाना चाहिए।
पहचानें कि BigQuery की उच्च लागत के लिए कौन से उपयोगकर्ता या क्वेरी जिम्मेदार हैं।
→`INFORMATION_SCHEMA.JOBS` व्यू को क्वेरी करें।
क्यों: यह मेटाडेटा व्यू चलाए गए हर क्वेरी के लिए विस्तृत जानकारी प्रदान करता है, जिसमें उपयोगकर्ता, बिल किए गए बाइट्स और खपत किए गए स्लॉट शामिल हैं, जिससे सटीक लागत एट्रिब्यूशन और विश्लेषण सक्षम होता है।