मुख्य सामग्री पर जाएँ

शुरुआती लोगों के लिए Snowflake ट्यूटोरियल: आर्किटेक्चर से लेकर डेटाबेस चलाने तक

Snowflake का उपयोग करके क्लाउड डेटा वेयरहाउस प्रबंधन की बुनियादी बातें सीखें। Snowflake एक क्लाउड-आधारित प्लेटफ़ॉर्म है जो उन कंपनियों के लिए महत्वपूर्ण लाभ प्रदान करता है जो अपने डेटा से अधिकतम इनसाइट यथासंभव तेज़ी और कुशलता से निकालना चाहती हैं।
· 12 मि॰ पढ़ें

AI के साथ खोजें

Snowflake क्या है?

यदि कोई मुझसे Snowflake का वर्णन यथासंभव कम शब्दों में करने को कहे, तो मैं ये शब्द चुनूँगा:

  • डेटा वेयरहाउस
  • बड़े पैमाने का डेटा
  • मल्टी-क्लाउड
  • विभाजन
  • स्केलेबल
  • लचीला
  • सरल

यदि वे मुझसे विस्तार से बताने को कहें, तो मैं इन शब्दों को इस तरह पिरोऊँगा:

Snowflake एक अत्यधिक लोकप्रिय AI डेटा क्लाउड प्लेटफ़ॉर्म है। यह प्रतिस्पर्धियों से इसलिए अलग दिखता है क्योंकि यह बड़े पैमाने के डेटा और वर्कलोड को अधिक तेज़ी और दक्षता से संभाल सकता है। इसका बेहतरीन प्रदर्शन इसकी अनोखी आर्किटेक्चर से आता है, जो स्टोरेज और कंप्यूट लेयर को अलग रखती है, जिससे यह बेहद लचीला और स्केलेबल बनता है। इसके अलावा, यह कई क्लाउड प्रदाताओं के साथ मूल रूप से एकीकृत होता है। इन उन्नत क्षमताओं के बावजूद, इसे सीखना और लागू करना सरल बना रहता है।

यदि वे और भी विवरण चाहें, तो खैर, फिर मैं यह ट्यूटोरियल लिखूँगा। यदि आप इस विषय में बिल्कुल नए हैं, तो हमारा Introduction to Snowflake कोर्स शुरुआत करने के लिए बेहतरीन जगह है।

Snowflake का उपयोग क्यों करें?

Snowflake दुनिया भर में 8,900 से अधिक ग्राहकों की सेवा करता है और हर दिन 3.9 बिलियन क्वेरी प्रोसेस करता है। इस तरह के उपयोग के आँकड़े किसी भी तरह से संयोग नहीं हैं।

नीचे Snowflake के वे प्रमुख फायदे दिए गए हैं जो इसे इतना आकर्षक बनाते हैं:

1. क्लाउड-आधारित आर्किटेक्चर

Snowflake क्लाउड में संचालित होता है, जिससे कंपनियाँ मांग के आधार पर संसाधनों को ऊपर-नीचे स्केल कर सकती हैं, बिना भौतिक अवसंरचना (हार्डवेयर) की चिंता के। प्लेटफ़ॉर्म सॉफ़्टवेयर अपडेट, हार्डवेयर प्रबंधन और प्रदर्शन ट्यूनिंग जैसे नियमित रखरखाव कार्यों को भी संभालता है। इससे रखरखाव का बोझ कम होता है और संगठन उस पर ध्यान दे पाते हैं जो महत्वपूर्ण है: डेटा से मूल्य निकालना।

2. लोचशीलता और स्केलेबिलिटी

Snowflake स्टोरेज और कंप्यूट लेयर को अलग करता है, जिससे उपयोगकर्ता अपनी स्टोरेज जरूरतों से स्वतंत्र रूप से कंप्यूटिंग संसाधनों को स्केल कर सकते हैं। यह लोचशीलता विविध वर्कलोड को कुशलतापूर्वक, इष्टतम प्रदर्शन के साथ और अनावश्यक लागतों के बिना संभालने में सक्षम बनाती है।

3. समकालिकता और प्रदर्शन

Snowflake उच्च समकालिकता को आसानी से संभालता है: कई उपयोगकर्ता बिना प्रदर्शन में कमी के डेटा तक पहुँच सकते हैं और उस पर क्वेरी चला सकते हैं।

4. डेटा साझाकरण

Snowflake की सुरक्षा व्यवस्थाएँ अन्य संगठनों, आंतरिक विभागों, बाहरी भागीदारों, ग्राहकों या अन्य हितधारकों के बीच डेटा साझा करने में सक्षम बनाती हैं। जटिल डेटा ट्रांसफर की आवश्यकता नहीं।

5. टाइम ट्रैवल

Snowflake डेटा वर्शनिंग के लिए एक आकर्षक शब्द “Time Travel” का उपयोग करता है। जब भी डेटाबेस में कोई बदलाव होता है, Snowflake एक स्नैपशॉट लेता है। इससे उपयोगकर्ता विभिन्न समय-बिंदुओं पर ऐतिहासिक डेटा तक पहुँच सकते हैं।

6. लागत-कुशलता

Snowflake संसाधनों को गतिशील रूप से स्केल करने की क्षमता के कारण पे-एज़-यू-गो मॉडल प्रदान करता है। आप केवल उतना ही भुगतान करेंगे जितना आप उपयोग करेंगे।

ये सभी लाभ मिलकर Snowflake को एक अत्यंत आकर्षक AI डेटा क्लाउड प्लेटफ़ॉर्म बनाते हैं।

अब, आइए Snowflake की उस अंतर्निहित आर्किटेक्चर पर नज़र डालें जो इन सुविधाओं को संभव बनाती है।

डेटा वेयरहाउस क्या है?

Snowflake की आर्किटेक्चर में उतरने से पहले, आइए डेटा वेयरहाउस की समीक्षा कर लें ताकि हम सभी एक ही समझ पर हों।

डेटा वेयरहाउस एक केंद्रीकृत रिपॉज़िटरी है जो किसी कंपनी के विभिन्न स्रोतों से बड़े पैमाने के संरचित और सुव्यवस्थित डेटा को संग्रहीत करती है। संगठनों में अलग-अलग पर्सोना (कर्मचारी) विभिन्न इनसाइट निकालने के लिए इसके भीतर के डेटा का उपयोग करते हैं।

उदाहरण के लिए, डेटा विश्लेषक, मार्केटिंग टीम के साथ मिलकर, सेल्स टेबल का उपयोग करके नए मार्केटिंग अभियान के लिए A/B परीक्षण चला सकते हैं। एचआर विशेषज्ञ प्रदर्शन को ट्रैक करने के लिए कर्मचारी जानकारी पर क्वेरी चला सकते हैं।

ये कुछ उदाहरण हैं कि वैश्विक स्तर पर कंपनियाँ विकास को बढ़ाने के लिए डेटा वेयरहाउस का कैसे उपयोग करती हैं। लेकिन Snowflake जैसे टूल के साथ उचित इम्प्लीमेंटेशन और प्रबंधन के बिना, डेटा वेयरहाउस केवल जटिल अवधारणाएँ बनकर रह जाते हैं।

आप हमारे Data Warehousing कोर्स से इस विषय के बारे में और सीख सकते हैं।

Snowflake आर्किटेक्चर

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

स्टोरेज लेयर

Snowflake में स्टोरेज लेयर एक महत्वपूर्ण घटक है, जो डेटा को दक्ष और स्केलेबल तरीके से संग्रहीत करती है। इस लेयर की कुछ प्रमुख विशेषताएँ:

  1. क्लाउड-आधारित: Snowflake AWS, GCP और Microsoft Azure जैसे प्रमुख क्लाउड प्रदाताओं के साथ सहज एकीकृत होता है।
  2. कॉलमनर फ़ॉर्मेट: Snowflake डेटा को कॉलमनर फ़ॉर्मेट में संग्रहीत करता है, जो विश्लेषणात्मक क्वेरी के लिए अनुकूलित है। Postgres जैसे टूल द्वारा उपयोग किए जाने वाले पारंपरिक रो-आधारित फ़ॉर्मेट के विपरीत, कॉलमनर फ़ॉर्मेट डेटा एग्रीगेशन के लिए उपयुक्त है। कॉलमनर स्टोरेज में, क्वेरी केवल आवश्यक कॉलम तक पहुँचती हैं, जिससे यह अधिक कुशल बनता है। दूसरी ओर, रो-आधारित फ़ॉर्मेट में औसत जैसी सरल गणनाओं के लिए भी मेमोरी में सभी रो तक पहुँचना पड़ता है।
  3. माइक्रो-पार्टिशनिंग: Snowflake माइक्रो-पार्टिशनिंग नामक तकनीक का उपयोग करता है जो टेबल को मेमोरी में छोटे-छोटे हिस्सों में संग्रहीत करता है। प्रत्येक हिस्सा आमतौर पर अपरिवर्तनीय होता है और कुछ मेगाबाइट आकार का होता है, जिससे क्वेरी ऑप्टिमाइज़ेशन और निष्पादन बहुत तेज़ हो जाता है।
  4. ज़ीरो-कॉपी क्लोनिंग: Snowflake में एक अनोखी सुविधा है जो डेटा के वर्चुअल क्लोन बनाने देती है। क्लोनिंग तात्कालिक होती है और नई कॉपी में परिवर्तन होने तक अतिरिक्त मेमोरी का उपभोग नहीं करती।
  5. स्केल और लोचशीलता: स्टोरेज लेयर क्षैतिज रूप से स्केल करती है, यानी यह बढ़ती डेटा मात्रा को लोड वितरित करने के लिए और सर्वर जोड़कर संभाल सकती है। साथ ही, यह स्केलिंग कंप्यूट संसाधनों से स्वतंत्र रूप से होती है, जो तब आदर्श है जब आप बड़े पैमाने का डेटा संग्रहीत करना चाहते हैं लेकिन उसका केवल एक छोटा हिस्सा विश्लेषित करना चाहते हैं।

अब, आइए कंप्यूट लेयर को देखें।

कंप्यूट लेयर

नाम से ही स्पष्ट है कि कंप्यूट लेयर आपके क्वेरी को निष्पादित करने वाला इंजन है। यह डेटा को प्रोसेस करने और विभिन्न गणनात्मक कार्य करने के लिए स्टोरेज लेयर के साथ मिलकर काम करता है। नीचे बताया गया है कि यह लेयर कैसे कार्य करती है:

  1. वर्चुअल वेयरहाउस: आप वर्चुअल वेयरहाउस को कंप्यूटरों (कंप्यूट नोड्स) की टीम के रूप में सोच सकते हैं, जो क्वेरी प्रोसेसिंग के लिए डिज़ाइन की गई है। टीम का प्रत्येक सदस्य क्वेरी के अलग-अलग हिस्से को संभालता है, जिससे निष्पादन बेहद तेज़ और समानांतर हो जाता है। Snowflake विभिन्न आकारों में वर्चुअल वेयरहाउस प्रदान करता है, और तदनुसार अलग कीमतों पर (आकारों में XS, S, M, L, XL शामिल हैं)।
  2. मल्टी-क्लस्टर, मल्टी-नोड आर्किटेक्चर: कंप्यूट लेयर उच्च समकालिकता के लिए कई क्लस्टर और कई नोड्स का उपयोग करती है, जिससे कई उपयोगकर्ता एक साथ डेटा तक पहुँच सकते हैं और उस पर क्वेरी चला सकते हैं।
  3. स्वचालित क्वेरी ऑप्टिमाइज़ेशन: Snowflake की प्रणाली सभी क्वेरी का विश्लेषण करती है और ऐतिहासिक डेटा का उपयोग करके पैटर्न की पहचान कर ऑप्टिमाइज़ करती है। सामान्य ऑप्टिमाइज़ेशन में अनावश्यक डेटा को हटाना, मेटाडेटा का उपयोग करना और सबसे कुशल निष्पादन पथ चुनना शामिल है।
  4. रिज़ल्ट कैश: कंप्यूट लेयर में एक कैश होता है जो अक्सर चलाई जाने वाली क्वेरी के परिणामों को संग्रहीत करता है। जब वही क्वेरी फिर से चलाई जाती है, तो परिणाम लगभग तुरंत लौट आते हैं।

कंप्यूट लेयर के ये डिज़ाइन सिद्धांत मिलकर क्लाउड में विविध और मांगपूर्ण वर्कलोड को संभालने की Snowflake की क्षमता में योगदान देते हैं।

क्लाउड सर्विसेज़ लेयर

अंतिम लेयर क्लाउड सर्विसेज़ है। क्योंकि यह लेयर Snowflake की आर्किटेक्चर के हर घटक में एकीकृत रहती है, इसके संचालन के कई पहलू हैं। अन्य लेयर से संबंधित सुविधाओं के अतिरिक्त, इसकी निम्न जिम्मेदारियाँ भी हैं:

  1. सुरक्षा और एक्सेस नियंत्रण: यह लेयर प्रमाणीकरण, प्राधिकरण और एन्क्रिप्शन सहित सुरक्षा उपायों को लागू करती है। प्रशासक Role-Based Access Control (RBAC) का उपयोग करके उपयोगकर्ता भूमिकाएँ और अनुमतियाँ परिभाषित व प्रबंधित करते हैं।
  2. डेटा साझाकरण: यह लेयर विभिन्न खातों और यहाँ तक कि तृतीय-पक्ष संगठनों के बीच सुरक्षित डेटा साझाकरण प्रोटोकॉल लागू करती है। डेटा उपभोक्ता बिना डेटा मूवमेंट के डेटा तक पहुँच सकते हैं, जिससे सहयोग और डेटा मोनेटाइज़ेशन को बढ़ावा मिलता है।
  3. अर्ध-संरचित डेटा का समर्थन: Snowflake का एक और अनोखा लाभ यह है कि, डेटा वेयरहाउस प्रबंधन प्लेटफ़ॉर्म होते हुए भी, यह JSON और Parquet जैसे अर्ध-संरचित डेटा को संभाल सकता है। यह आसानी से अर्ध-संरचित डेटा पर क्वेरी चला सकता है और परिणामों को मौजूदा टेबल के साथ एकीकृत कर सकता है। यह लचीलापन अन्य RDBMS टूल में नहीं दिखता।

अब जब हमें Snowflake की आर्किटेक्चर की उच्च-स्तरीय तस्वीर मिल गई है, तो आइए प्लेटफ़ॉर्म पर कुछ SQL लिखते हैं।

Snowflake SQL सेट करना

Snowflake का अपना SQL संस्करण है जिसे Snowflake SQL कहा जाता है। इसमें और अन्य SQL बोलियों में अंतर वैसा ही है जैसा अंग्रेज़ी उच्चारणों में अंतर।

PostgreSQL जैसी बोलियों में आप जो कई विश्लेषणात्मक क्वेरी चलाते हैं, वे नहीं बदलतीं, लेकिन DDL (Data Definition Language) कमांड में कुछ असंगतियाँ होती हैं।

अब, आइए देखें कि कुछ क्वेरी कैसे चलाई जाएँ!

Snowsight: वेब इंटरफ़ेस

image3.png

Snowsight के साथ शुरू करने के लिए, Snowflake 120-day free trial पेज पर जाएँ और एक खाता बनाएँ। अपनी व्यक्तिगत जानकारी दर्ज करें और किसी भी सूचीबद्ध क्लाउड प्रदाता का चयन करें। यह आपको 120-दिवसीय निःशुल्क ट्रायल देता है, जो अन्यत्र मिलने वाले अधिक मानक 30-दिवसीय ट्रायल से बड़ा है। इस ट्रायल में $400 के क्रेडिट भी शामिल हैं। 

ट्रायल के लिए साइन अप करते समय, उपयोगकर्ताओं को AWS और US-Oregon West क्षेत्र चुनने की सिफारिश की जाती है। अन्य कारणों के साथ, Oregon AWS अवसंरचना के लिए सबसे कम लागत वाले क्षेत्रों में से एक है और परिणामस्वरूप, ट्रायल क्रेडिट अधिक समय तक चलते हैं।

ईमेल सत्यापित करने के बाद, आपको Worksheets पेज पर रीडायरेक्ट किया जाएगा। Worksheets इंटरैक्टिव, लाइव-कोडिंग वातावरण हैं जहाँ आप अपनी SQL क्वेरी लिख, निष्पादित और उनके परिणाम देख सकते हैं।

image8.png

कुछ क्वेरी चलाने के लिए, हमें एक डेटाबेस और एक टेबल की आवश्यकता है (हम Snowsight में सैंपल डेटा का उपयोग नहीं करेंगे)। आरंभ करने के लिए, मैं सुझाव देता हूँ कि आप एक नया डेटाबेस बनाने की कोशिश करें (आप इसे test_db जैसा कुछ नाम दे सकते हैं) और एक टेबल जो किसी स्थानीय CSV फ़ाइल का उपयोग करके बनाई गई हो। आप अपने टर्मिनल में इस GitHub gist का कोड चलाकर CSV फ़ाइल डाउनलोड कर सकते हैं।

इसके बाद, आप एक नई worksheet पर निर्देशित होंगे जहाँ आप अपनी मनचाही कोई भी SQL क्वेरी चला सकते हैं। मुझे worksheet इंटरफ़ेस काफ़ी सीधा और अत्यंत उपयोगी लगता है। कुछ मिनट निकालकर पैनलों, बटनों और उनकी स्थितियों से परिचित हो जाएँ।

निष्कर्ष और आगे की सीख

उफ़! हमने कुछ सरल अवधारणाओं से शुरुआत की, पर अंत तक पहुँचते-पहुँचते हम काफ़ी गूढ़ विवरणों में उतर गए। खैर, मेरी नज़र में यही एक अच्छा ट्यूटोरियल होता है।

आपने शायद भाँप लिया होगा कि Snowflake में हमारी कवरेज से कहीं अधिक है। दरअसल, Snowflake डॉक्यूमेंटेशन में क्विकस्टार्ट गाइड्स हैं जो वास्तव में 128 मिनट लंबे हैं! पर उन्हें अपनाने से पहले, मैं सुझाव दूँगा कि आप कुछ अन्य स्रोतों से हाथ गीले करें। जैसे ये:

पढ़ने के लिए धन्यवाद!

Bexruz (Bex) Tuychiev

लेखक

Bexruz (Bex) Tuychiev

मैं 2 से अधिक वर्षों के अनुभव वाला डेटा साइंस कंटेंट क्रिएटर हूँ और Medium पर सबसे बड़े फॉलोइंग्स में से एक रखता हूँ। मुझे एआई और एमएल पर विस्तार से लेख लिखना पसंद है, जिसमें हल्का-सा व्यंग्यात्मक अंदाज रहता है—क्योंकि कुछ तो करना पड़ता है ताकि वे कम उबाऊ लगें। मैंने 130 से अधिक लेख और एक DataCamp कोर्स तैयार किया है, और एक और बन रहा है। मेरा कंटेंट 50 लाख से अधिक लोगों ने देखा है, जिनमें से 20 हज़ार लोग Medium और LinkedIn पर फॉलोअर्स बन गए। 

विषय