Search Console में मौजूद, बल्क डेटा एक्सपोर्ट के लिए BigQuery की परफ़ॉर्मेंस से जुड़ी सलाह

सोमवार, 5 जून, 2023

Search Console में बल्क डेटा एक्सपोर्ट की सुविधा, अपनी वेबसाइट की खोज की परफ़ॉर्मेंस को BigQuery में देखने का बेहतरीन तरीका है. इससे स्टोरेज, विश्लेषण, और रिपोर्टिंग की सुविधाएं को बेहतर बनाया जा सकता है. उदाहरण के लिए, डेटा एक्सपोर्ट करने के बाद, क्वेरी और यूआरएल क्लस्टर करने की सुविधा इस्तेमाल की जा सकती है. साथ ही, लॉन्ग-टेल खोज क्वेरी पर विश्लेषण किया जा सकता है और डेटा के दूसरे सोर्स के साथ खोज में शामिल हुआ जा सकता है. जब तक आपको डेटा की ज़रूरत हो, तब तक उसे सेव करके रखा जा सकता है.

बल्क डेटा एक्सपोर्ट का इस्तेमाल करते समय, यह ज़रूरी है कि डेटा प्रोसेसिंग और स्टोरेज की लागत को ठीक से मैनेज करने के बारे में बेहतर फ़ैसले लिए जाएं. Search Console से डेटा को एक्सपोर्ट करने के लिए, कोई शुल्क नहीं लिया जाता; हालांकि, BigQuery की कीमत को पढ़कर, यह ज़रूर समझ लें कि आपको किस चीज़ के लिए पैसे चुकाने होंगे. इस पोस्ट में, हम ऐसे सुझावों के बारे में बात करेंगे जिनकी मदद से, ज़्यादा पैसे खर्च किए बिना नए डेटा का फ़ायदा पाया जा सकता है.

अगर आपने अब तक बल्ट डेटा एक्सपोर्ट करने की सुविधा सेट अप नहीं की है, तो Search Console के सहायता केंद्र में सिलसिलेवार निर्देश देखें. एक्सपोर्ट करके मिले डेटा की खास जानकारी पाने के लिए, यहां एम्बेड किया गया वीडियो देखें.

बिलिंग से जुड़ी सूचनाएं और पाबंदियां सेट करना

अपनी लागत को ध्यान में रखते हुए, यह सोचा जा सकता है कि आपको कितना खर्च करना है. ऐसा हो सकता है कि इस सवाल का जवाब, स्टोरेज, विश्लेषण, और मॉनिटरिंग के हिसाब से अलग-अलग हो. उदाहरण के लिए, हो सकता है कि आप कुछ रकम चुकाना चाहें, ताकि यह पक्का किया जा सके कि आपका पूरा डेटा स्टोर किया जा रहा है. हालांकि, रिपोर्टिंग प्लैटफ़ॉर्म बनाने के लिए, आपको कम पैसे देने पड़ सकते हैं. ऐसा करते समय, हो सकता है कि आप Search के डेटा में निवेश करने के लिए, हर महीने का बजट सेट करना चाहें.

बजट की रकम तय करने के बाद, Google Cloud के बजट के लिए चेतावनी बनाई जा सकती है. इससे, आपको अपने बिल पर अचानक पड़ने वाले असर से बचने में मदद मिलेगी. आपके पास थ्रेशोल्ड नियम भी सेट करने का विकल्प होता है. इनकी मदद से, बजट की रकम को पार करते समय, ईमेल सूचनाओं को ट्रिगर किया जा सकता है.

Cloud Console में, बिलिंग अलर्ट बनाने का तरीका दिखाने वाला स्क्रीनशॉट

किसी क्वेरी के लिए बिल किए गए बाइट की संख्या पर पाबंदी लगाकर, ज़्यादा सुरक्षा पाई जा सकती है. ऐसा करने पर, क्वेरी चलाने से पहले क्वेरी की बाइट की संख्या का अनुमान लगाया जाता है. अगर अनुमानित बाइट की संख्या तय सीमा से ज़्यादा है, तो क्वेरी बिना किसी शुल्क के ही निलंबित हो जाएगी.

सीधे रॉ डेटा का इस्तेमाल करके डैशबोर्ड न बनाएं

BigQuery तेज़ होता है और अपने डैशबोर्ड को Search Console से एक्सपोर्ट की गई टेबल से सीधे लिंक करना अच्छा होता है. हालांकि, बड़ी साइटों के लिए यह डेटासेट बहुत बड़ा होता है. खास तौर पर, समय-समय पर होने वाली क्वेरी के साथ यह डेटासेट बड़ा हो जाता है. ऐसा डैशबोर्ड बनाने पर, जिसमें हर व्यू के बारे में खास जानकारी को फिर से लिखा जाता है और उसे आपकी कंपनी में शेयर किया जाता है, तो क्वेरी की लागत तेज़ी से बढ़ जाती है.

इन खर्चों से बचने के लिए, डेटा को हर दिन की गिरावट और एक या एक से ज़्यादा खास जानकारी वाली टेबल से पहले ही इकट्ठा करें. इसके बाद, आपका डैशबोर्ड बहुत छोटी टाइम सीरीज़ टेबल के लिए क्वेरी कर सकता है. इससे, प्रोसेसिंग की लागत में कमी आती है.

BigQuery में क्वेरी शेड्यूल करने की सुविधा देखें या अगर आपको अपने-आप काम करने वाली ज़्यादा सुविधाएं चाहिए, तो बीआई इंजन पर विचार करें.

डेटा स्टोरेज के खर्च को ऑप्टिमाइज़ करना

बल्क डेटा एक्सपोर्ट की सुविधा शुरू करने पर, आपका डेटा डिफ़ॉल्ट रूप से हमेशा के लिए, BigQuery डेटासेट में सेव रहता है. हालांकि, पार्टिशन की डिफ़ॉल्ट समयसीमा अपडेट करें, ताकि तारीख के पार्टिशन एक साल या 16 महीने या आपकी पसंद की अवधि के बाद अपने-आप मिट जाएं.

एक्सपोर्ट किया गया डेटा आपके लिए अहम हो सकता है. हालांकि, यह बहुत बड़ा हो सकता है. कारोबार के बारे में अपनी जानकारी का इस्तेमाल करें और इस बात को ध्यान में रखें कि आप गहराई से विश्लेषण करने के लिए इसका लंबे समय तक इस्तेमाल किया जाए. हालांकि, ऐसा करना ज़्यादा समय के लिए सही नहीं है. दूसरा विकल्प यह है कि पुरानी टेबल का सैंपल किया गया वर्शन रखते हुए, हाल ही की सभी तारीखों की पूरी टेबल को सेव रखें.

अपनी SQL क्वेरी ऑप्टिमाइज़ करना

Search Console के डेटा के बारे में क्वेरी करते समय, आपको यह पक्का करना चाहिए कि आपकी क्वेरी, परफ़ॉर्मेंस के लिए ऑप्टिमाइज़ की गई हों. अगर BigQuery आपके लिए नया है, तो सहायता केंद्र में दिशा-निर्देश और सैंपल क्वेरी देखें. आपको तीन तकनीकों को आज़माना चाहिए.

1. इनपुट स्कैन सीमित करें

सबसे पहले, SELECT * का इस्तेमाल करने से बचें. डेटा से क्वेरी करने का यह सबसे महंगा तरीका है. BigQuery, टेबल के हर कॉलम का पूरा स्कैन करता है. LIMIT क्लॉज़ लागू करने से, डेटा पढ़ने की मात्रा पर असर नहीं पड़ता है.

एक्सपोर्ट की गई टेबल, तारीख के हिसाब से अलग-अलग होती हैं. इसलिए, इनपुट स्कैन को सिर्फ़ उन दिनों तक सीमित कर सकते हैं जिनमें आपकी दिलचस्पी है. खास तौर पर, ऐसा तब होता है, जब डेटा की जांच और उसे इस्तेमाल करने की बात हो. तारीख के हिसाब से सेगमेंट में बांटी गई टेबल में, तारीख की सीमा तय करने के लिए, WHERE क्लॉज़ का इस्तेमाल करें. इससे, क्वेरी की लागत में काफ़ी बचत होगी. उदाहरण के लिए, यहां दिए गए क्लॉज़ का इस्तेमाल करके, सिर्फ़ पिछले 14 दिनों का डेटा देखा जा सकता है:

WHERE data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day)

इनपुट स्कैन को जल्द से जल्द कम करने के लिए, आपकी तरफ़ से बनाई जाने वाली हर क्वेरी में पहचान के फ़िल्टर लागू करने चाहिए. उदाहरण के लिए, अगर क्वेरी का विश्लेषण किया जा रहा है, तो शायद आप पहचान छिपाकर की गई क्वेरी को फ़िल्टर करना चाहें. ऐसी क्वेरी के लिए, टेबल में किसी वर्ण का इस्तेमाल नहीं किया जाता. इसके लिए, ये कॉम्पोनेंट जोड़े जा सकते हैं:

WHERE query != ''

2. डेटा का सैंपल

BigQuery से टेबल सैंपलिंग की सुविधा मिलती है. इसकी मदद से, BigQuery की बड़ी टेबल से डेटा के रैंडम सबसेट पर क्वेरी की जा सकती है. टेबल को स्कैन और प्रोसेस करने से जुड़ी लागत को बचाने के दौरान, सैंपलिंग से कई तरह के रिकॉर्ड मिलते हैं. यह खास तौर पर क्वेरी डेवलप करने में मदद होती हैं या ऐसे समय काम आती हैं जब सटीक नतीजों की ज़रूरत नहीं होती.

3. जहां सटीक नतीजों की ज़रूरत नहीं है, वहां अनुमानित फ़ंक्शन का इस्तेमाल करें

BigQuery में कई अनुमानित एग्रीगेशन फ़ंक्शन काम करते हैं. ये फ़ंक्शन, अनुमानित नतीजे दिखाते हैं. इनसे मिलते-जुलते नतीजों की तुलना में इनका आकलन करना ज़्यादा किफ़ायती होता है. उदाहरण के लिए, अगर आपको कुछ स्थितियों में इंप्रेशन के हिसाब से टॉप यूआरएल चाहिए, तो

SELECT APPROX_TOP_SUM(url, impressions, 10) WHERE datadate=...;

के बजाय

SELECT url, SUM(impressions) WHERE datadate=... GROUP BY url ORDER BY 2 DESC LIMIT 10;

रिसॉर्स

यहां कुछ सलाह दी गई हैं. इनका इस्तेमाल करके अपनी लागत को मैनेज करना शुरू किया जा सकता है. साथ ही, ज़्यादा जानने के लिए, BigQuery के लिए लागत ऑप्टिमाइज़ेशन के सबसे सही तरीके देखें.

हमेशा की तरह, अगर आपको कोई सवाल पूछना है या कोई समस्या है, तो कृपया Google Search Central कम्यूनिटी या Twitter पर हमसे संपर्क करें.