जिस तरह सॉफ्टवेयर इंजीनियर संस्करण नियंत्रण के लिए Git का उपयोग करते हैं, उसी तरह डेटा इंजीनियर Snowflake डेटाबेस में Time Travel का उपयोग करते हैं। Time Travel फीचर डेटाबेस एडमिनिस्ट्रेटर्स को ऐतिहासिक डेटा क्वेरी करने, पुरानी टेबल्स क्लोन करने और पहले हटाए गए ऑब्जेक्ट्स को रिस्टोर करने की सुविधा देता है।
हालाँकि, डेटाबेस बहुत बड़े हो सकते हैं, इसलिए Time Travel कोड वर्ज़न कंट्रोल का एक सीधा विकल्प नहीं है। हर बार जब किसी टेबल में बदलाव (डिलीट या अपडेट) होता है, तो Snowflake अपडेट से पहले डेटा की स्थिति का एक स्नैपशॉट लेता है। यह स्नैपशॉट केवल तय की गई कुछ दिनों की अवधि तक रहता है, जिसे डेटा रिटेंशन अवधि कहा जाता है।
Snowflake Standard खातों के लिए अधिकतम रिटेंशन अवधि केवल एक दिन है। Enterprise खातों के लिए, रिटेंशन अवधि 0 से 90 दिनों के बीच हो सकती है। 0 की रिटेंशन अवधि प्रभावी रूप से Time Travel को अक्षम कर देती है, जो कि डिफ़ॉल्ट रूप से सभी टेबल्स के लिए सक्षम रहता है।
Snowflake Time Travel बनाम Fail-Safe
जब आप Snowflake प्रलेखन पढ़ते हैं, तो आपको “Fail-safe” शब्द भी मिल सकता है। नाम से ऐसा लग सकता है कि Time Travel और Fail-safe एक ही काम करते हैं, लेकिन ऐसा नहीं है।
जब किसी ऑब्जेक्ट की रिटेंशन अवधि पूरी हो जाती है, तो उसे Snowflake Fail-safe में स्थानांतरित कर दिया जाता है। Fail-safe में, आप यह नहीं कर सकते:
ऐतिहासिक डेटा क्वेरी करना
पिछले ऑब्जेक्ट्स को क्लोन करना
पहले हटाए गए ऑब्जेक्ट्स को रिस्टोर करना
Fail-safe डेटा को केवल 7 दिनों की एक स्थिर, गैर-कॉन्फ़िगरेबल अवधि तक रखता है। इस अवधि में, डेटा को केवल Snowflake द्वारा ही रिकवर किया जा सकता है। यह फीचर डेटा रिकवरी सेवा के रूप में लागू किया गया है और केवल अंतिम उपाय के रूप में है, जब सभी अन्य रिकवरी विधियाँ विफल हो जाएँ। इसका उपयोग केवल तब किया जाना चाहिए जब परिचालन विफलताओं के कारण डेटा क्षतिग्रस्त या डिलीट हो गया हो।
इसलिए, जब आपके ऑब्जेक्ट्स अपनी निर्धारित रिटेंशन अवधि पूरी तरह जी लेते हैं, तो आप Snowflake से उनके पुराने वर्ज़न रिकवर करने के लिए नहीं कह सकते। इस ट्यूटोरियल का अनुसरण करते समय इस नियम को ध्यान में रखें।
पर्यावरण सेटअप
Snowflake के पास प्लेटफ़ॉर्म से इंटरैक्ट करने के दो इंटरफ़ेस हैं: SnowSight (वेब UI) और Snowflake CLI (टर्मिनल क्लाइंट)। हम SnowSight के साथ आगे बढ़ेंगे क्योंकि इसे सेट अप करना आसान है। यदि आप Snowflake में नए हैं, तो आप यह विस्तृत ट्यूटोरियल पढ़ सकते हैं। इसमें Snowflake CLI का उपयोग भी शामिल है।
सबसे पहले, Snowflake होमपेज से एक निःशुल्क खाता बनाएं। आपको 30 दिनों के लिए Enterprise फीचर्स तक पहुँच मिलेगी।
खाता तैयार होने के बाद, आप अपने डैशबोर्ड के Worksheets पेज पर ले जाए जाएँगे। आप प्रत्येक वर्कशीट को SQL या यहाँ तक कि Python चलाने के लिए एक अलग वातावरण के रूप में समझ सकते हैं।
अब, ऊपर दाईं ओर “+” बटन का उपयोग करके एक नई वर्कशीट बनाएँ:
इसके बाद, आइए कुछ डेटाबेस और टेबल्स बनाते हैं और उनमें डेटा भरते हैं।
डेटाबेस और टेबल्स बनाना
सबसे पहले, हम ecommerce_db नाम का एक डेटाबेस बनाएँगे। नीचे दिया गया कोड पेस्ट करें और चलाने के लिए "Ctrl + Enter" (Cmd + Enter) दबाएँ (पूरी वर्कशीट के स्टेटमेंट्स चलाने के लिए "Ctrl + Shift + Enter" दबाएँ)।
CREATEORREPLACETABLE orders (
order_id INTPRIMARYKEY,
product_id INTREFERENCES inventory(product_id),
quantity INT,
order_date TIMESTAMP_TZ DEFAULTCURRENT_TIMESTAMP);-- Assume some time passes after this table was createdसंचालित द्वारा
हमने जब अपना मर्चेंडाइज़ बेचने के लिए वेबसाइट शुरू की, तो हमें कुछ ऑर्डर्स मिले। सुबह में, हमें दोनों प्रोडक्ट्स के लिए दो ऑर्डर्स मिले:
INSERTINTO orders (order_id, product_id, quantity)VALUES(1,1,5),(1,2,3);संचालित द्वारा
दोपहर में, हमें एक और ऑर्डर मिला:
-- Simulate a system glitch causing an extra order for product 1INSERTINTO orders (order_id,(product_id, quantity)VALUES(3,1,100);-- This might cause negative stockसंचालित द्वारा
लेकिन एक सिस्टम गड़बड़ी के कारण, ऑर्डर हमारे पास उपलब्ध स्टॉक से कहीं अधिक मात्रा के लिए दर्ज हो गया। मान लें कि हमें यह बात दो हफ्तों तक पता नहीं चली।
ध्यान दें कि मैंने पर्दे के पीछे टेबल्स में कुछ और भी अपडेट किए हैं।
रिटेंशन अवधि नियंत्रित करना
हमारा पहला काम रिटेंशन अवधि सेट करना है। मेरा फ्री ट्रायल समाप्त हो गया था, इसलिए मैं इसे केवल एक दिन के लिए सेट कर सकता हूँ:
ALTERTABLE inventory SET DATA_RETENTION_TIME_IN_DAYS=1;ALTERTABLE orders SET DATA_RETENTION_TIME_IN_DAYS=1;संचालित द्वारा
यदि आपका ट्रायल समाप्त नहीं हुआ है, तो इसे चार हफ्तों के लिए सेट करने का प्रयास करें, क्योंकि आपका ट्रायल उसके बाद समाप्त हो जाएगा।
AT और BEFORE क्लॉज़ का उपयोग
Snowflake इन SQL एक्सटेंशन्स के माध्यम से Time Travel को लागू करता है:
AT और BEFORE क्लॉज़, जिन्हें SELECT स्टेटमेंट्स में उपयोग किया जाता है, उस सटीक समय (या अवधि) को निर्धारित करने के लिए जिसका आप क्वेरी करना चाहते हैं। ये इस कार्य के लिए निम्न पैरामीटर्स को सपोर्ट करते हैं:
TIMESTAMP
OFFSET - वर्तमान समय से सेकंड्स में समयांतर
STATEMENT - यूनिक क्वेरी आईडी
UNDROP कमांड, जो टेबल्स, स्कीमाज़ और डेटाबेसेज़ को रिस्टोर करता है
आइए देखें कि इन एक्सटेंशन्स का उपयोग अपने सैंपल डेटाबेस पर कैसे करें।
ऐतिहासिक डेटा क्वेरी करना
पहले, देखें कि inventory में हमारे पास क्या है:
-- Check current stock level (might show negative value)SELECT*FROM inventory;संचालित द्वारा
अब, हमारे पास जो ऑर्डर्स और इन्वेंटरी है, उन्हें मिलाएँ:
SELECT i.name, i.stock_level, o.quantity as"order_amount"FROM inventory as i
JOIN orders as o
ON i.product_id = o.product_id;संचालित द्वारा
ओह! लगता है कोई गलती हुई है — Llama hoodie के ऑर्डर्स की संख्या हमारे पास से ज़्यादा है। आइए 17.5 घंटे पीछे जाकर यह पता करें कि यह गलत स्टेटमेंट किस समय निष्पादित हुआ था:
SELECT*FROM orders AT(OFFSET=>-60*60*17.5);-- Go back 17.5संचालित द्वारा
तो, गलत ऑर्डर 6 मार्च को शाम 4:54 बजे दर्ज हुआ था। इसका मतलब है कि हमें उस समय से पहले टेबल की स्थिति चाहिए। यह BEFORE क्लॉज़ के साथ आसानी से क्वेरी किया जा सकता है:
-- Change the timezoneALTERSESSIONSET TIMEZONE ='UTC';-- Select the table state before the errorSELECT*FROM orders BEFORE(TIMESTAMP=>'2024-03-06 04:54:00 -0800'::timestamp_tz);संचालित द्वारा
टाइम स्टैम्प के लिए डेटा टाइप के रूप में timestamp_tz जोड़ना न भूलें। tz का अर्थ time zone होता है।
ये उदाहरण दिखाते हैं कि टाइमस्टैम्प और ऑफ़सेट के साथ AT और BEFORE क्लॉज़ का उपयोग कैसे करें। यदि आप क्वेरियों के समय का हिसाब नहीं लगाना चाहते, तो आप स्टेटमेंट आईडीज़ का उपयोग कर सकते हैं।
उदाहरण के लिए, नीचे दी गई क्वेरी पिछले वाले के समान काम करती है — गलत ऑर्डर दर्ज होने से पहले टेबल की स्थिति क्वेरी करना:
SELECT*FROM orders BEFORE(STATEMENT =>'01b2ce86-0000-95e2-0000-000669127035');संचालित द्वारा
यहाँ बताया गया है कि आप किसी भी स्टेटमेंट की क्वेरी आईडी कैसे ढूँढ सकते हैं:
क्वेरी के प्रकार को फ़िल्टर करके, आप SnowSight में अपनी मनचाही क्वेरी बहुत जल्दी ढूँढ सकते हैं।
ऐतिहासिक ऑब्जेक्ट्स क्लोन करना
तो, हमारी टेबल में एक गलत ऑर्डर है — इसे कैसे हटाएँ?
एक तरीका यह है कि गलत पंक्ति के बिना टेबल को क्लोन कर लें:
CREATEORREPLACETABLE orders_clone ASSELECT*FROM orders WHERE quantity !=100;SELECT*FROM orders_clone;संचालित द्वारा
यह काम कर गया, और समस्या को ठीक करने के लिए हमें Time Travel पर निर्भर नहीं होना पड़ा। लेकिन जब आपको किसी टेबल की पिछली स्थिति क्लोन करनी हो, तो आप यह सिंटैक्स अपना सकते हैं:
-- Clone an object as it existed 2 days agoCREATETABLE old_table_clone CLONE olt_table
AT(OFFSET=>-2*24*60*60);-- Offset for 2 daysसंचालित द्वारा
डेटाबेस क्लोन करना भी इसी तरह है:
CREATEDATABASE cloned_db CLONE my_db
BEFORE(STATEMENT =>'8e5d0ca9-005e-44e6-b858-a8f5b37c5726');संचालित द्वारा
ऑब्जेक्ट्स हटाना और रिस्टोर करना
मान लें कि हमने अभी एक इंटर्न को हायर किया है और उन्हें गलत ऑर्डर की समस्या दी है।
उस रिकॉर्ड को हटाने की कोशिश में, इंटर्न ने गलती से प्रोडक्शन में orders टेबल ही ड्रॉप कर दी:
-- Simulate accidentally dropping the orders tableDROPTABLE orders
SELECT*FROM orders;;संचालित द्वारा
इंटर्न घबरा कर हमारे पास आता है और अपनी गलती बताता है। तब हम शांत मन से UNDROP कमांड चलाते हैं:
-- Recover the dropped table using UNDROP
UNDROP TABLE orders
SELECT*FROM orders;;संचालित द्वारा
और टेबल वापस मिल जाती है। हम इंटर्न को माफ़ भी कर देते हैं और (स्वाभाविक रूप से) उनकी गलती के लिए उन्हें निकालने का फैसला नहीं करते।
निष्कर्ष
इस ट्यूटोरियल में, हमने Snowflake के एक प्रमुख फीचर — Time Travel — के बारे में सीखा। Time Travel का उपयोग करके, आप पिछले डेटा को क्वेरी और रिस्टोर कर सकते हैं, जो डेटाबेस मैनेजमेंट टूल्स में बेहद माँगा जाने वाला फीचर है।
प्रोडक्शन परिवेश में कुछ भी हो सकता है, और हर अपडेट से पहले अपने डेटाबेस का बैकअप होना मन को शांति देता है।
मेरा मानना है कि Snowflake वहाँ का सबसे अच्छा डेटाबेस मैनेजमेंट टूल है। यह एक विशाल टूल है, और इसे अच्छी तरह सीखना डेटा भूमिकाओं में एक वांछनीय कौशल है। तो, यदि आप इसके बारे में और सीखना चाहते हैं, तो DataCamp पर Introduction to Snowflake कोर्स देखें।
मैं 2 से अधिक वर्षों के अनुभव वाला डेटा साइंस कंटेंट क्रिएटर हूँ और Medium पर सबसे बड़े फॉलोइंग्स में से एक रखता हूँ। मुझे एआई और एमएल पर विस्तार से लेख लिखना पसंद है, जिसमें हल्का-सा व्यंग्यात्मक अंदाज रहता है—क्योंकि कुछ तो करना पड़ता है ताकि वे कम उबाऊ लगें। मैंने 130 से अधिक लेख और एक DataCamp कोर्स तैयार किया है, और एक और बन रहा है। मेरा कंटेंट 50 लाख से अधिक लोगों ने देखा है, जिनमें से 20 हज़ार लोग Medium और LinkedIn पर फॉलोअर्स बन गए।
Snowflake में टाइम ट्रैवल क्या है?
जिस तरह सॉफ्टवेयर इंजीनियर संस्करण नियंत्रण के लिए Git का उपयोग करते हैं, उसी तरह डेटा इंजीनियर Snowflake डेटाबेस में Time Travel का उपयोग करते हैं। Time Travel फीचर डेटाबेस एडमिनिस्ट्रेटर्स को ऐतिहासिक डेटा क्वेरी करने, पुरानी टेबल्स क्लोन करने और पहले हटाए गए ऑब्जेक्ट्स को रिस्टोर करने की सुविधा देता है।
हालाँकि, डेटाबेस बहुत बड़े हो सकते हैं, इसलिए Time Travel कोड वर्ज़न कंट्रोल का एक सीधा विकल्प नहीं है। हर बार जब किसी टेबल में बदलाव (डिलीट या अपडेट) होता है, तो Snowflake अपडेट से पहले डेटा की स्थिति का एक स्नैपशॉट लेता है। यह स्नैपशॉट केवल तय की गई कुछ दिनों की अवधि तक रहता है, जिसे डेटा रिटेंशन अवधि कहा जाता है।
Snowflake Standard खातों के लिए अधिकतम रिटेंशन अवधि केवल एक दिन है। Enterprise खातों के लिए, रिटेंशन अवधि 0 से 90 दिनों के बीच हो सकती है। 0 की रिटेंशन अवधि प्रभावी रूप से Time Travel को अक्षम कर देती है, जो कि डिफ़ॉल्ट रूप से सभी टेबल्स के लिए सक्षम रहता है।
Snowflake Time Travel बनाम Fail-Safe
जब आप Snowflake प्रलेखन पढ़ते हैं, तो आपको “Fail-safe” शब्द भी मिल सकता है। नाम से ऐसा लग सकता है कि Time Travel और Fail-safe एक ही काम करते हैं, लेकिन ऐसा नहीं है।
जब किसी ऑब्जेक्ट की रिटेंशन अवधि पूरी हो जाती है, तो उसे Snowflake Fail-safe में स्थानांतरित कर दिया जाता है। Fail-safe में, आप यह नहीं कर सकते:
Fail-safe डेटा को केवल 7 दिनों की एक स्थिर, गैर-कॉन्फ़िगरेबल अवधि तक रखता है। इस अवधि में, डेटा को केवल Snowflake द्वारा ही रिकवर किया जा सकता है। यह फीचर डेटा रिकवरी सेवा के रूप में लागू किया गया है और केवल अंतिम उपाय के रूप में है, जब सभी अन्य रिकवरी विधियाँ विफल हो जाएँ। इसका उपयोग केवल तब किया जाना चाहिए जब परिचालन विफलताओं के कारण डेटा क्षतिग्रस्त या डिलीट हो गया हो।
इसलिए, जब आपके ऑब्जेक्ट्स अपनी निर्धारित रिटेंशन अवधि पूरी तरह जी लेते हैं, तो आप Snowflake से उनके पुराने वर्ज़न रिकवर करने के लिए नहीं कह सकते। इस ट्यूटोरियल का अनुसरण करते समय इस नियम को ध्यान में रखें।
पर्यावरण सेटअप
Snowflake के पास प्लेटफ़ॉर्म से इंटरैक्ट करने के दो इंटरफ़ेस हैं: SnowSight (वेब UI) और Snowflake CLI (टर्मिनल क्लाइंट)। हम SnowSight के साथ आगे बढ़ेंगे क्योंकि इसे सेट अप करना आसान है। यदि आप Snowflake में नए हैं, तो आप यह विस्तृत ट्यूटोरियल पढ़ सकते हैं। इसमें Snowflake CLI का उपयोग भी शामिल है।
सबसे पहले, Snowflake होमपेज से एक निःशुल्क खाता बनाएं। आपको 30 दिनों के लिए Enterprise फीचर्स तक पहुँच मिलेगी।
खाता तैयार होने के बाद, आप अपने डैशबोर्ड के Worksheets पेज पर ले जाए जाएँगे। आप प्रत्येक वर्कशीट को SQL या यहाँ तक कि Python चलाने के लिए एक अलग वातावरण के रूप में समझ सकते हैं।
अब, ऊपर दाईं ओर “+” बटन का उपयोग करके एक नई वर्कशीट बनाएँ:
इसके बाद, आइए कुछ डेटाबेस और टेबल्स बनाते हैं और उनमें डेटा भरते हैं।
डेटाबेस और टेबल्स बनाना
सबसे पहले, हम
ecommerce_dbनाम का एक डेटाबेस बनाएँगे। नीचे दिया गया कोड पेस्ट करें और चलाने के लिए "Ctrl + Enter" (Cmd + Enter) दबाएँ (पूरी वर्कशीट के स्टेटमेंट्स चलाने के लिए "Ctrl + Shift + Enter" दबाएँ)।हम इस काल्पनिक डेटाबेस का उपयोग AI-संबंधित मर्चेंडाइज़ बेचने के लिए करेंगे। इसे डिफ़ॉल्ट के रूप में सेट करने के लिए नीचे दिया गया कमांड चलाएँ:
सबसे पहले, हम
inventoryनाम की एक टेबल तीन कॉलम्स के साथ बनाएँगे:फिर, हम कुछ शुरुआती प्रोडक्ट्स जोड़ेंगे:
हम ऑर्डर्स के लिए एक टेबल भी बनाएँगे:
हमने जब अपना मर्चेंडाइज़ बेचने के लिए वेबसाइट शुरू की, तो हमें कुछ ऑर्डर्स मिले। सुबह में, हमें दोनों प्रोडक्ट्स के लिए दो ऑर्डर्स मिले:
दोपहर में, हमें एक और ऑर्डर मिला:
लेकिन एक सिस्टम गड़बड़ी के कारण, ऑर्डर हमारे पास उपलब्ध स्टॉक से कहीं अधिक मात्रा के लिए दर्ज हो गया। मान लें कि हमें यह बात दो हफ्तों तक पता नहीं चली।
ध्यान दें कि मैंने पर्दे के पीछे टेबल्स में कुछ और भी अपडेट किए हैं।
रिटेंशन अवधि नियंत्रित करना
हमारा पहला काम रिटेंशन अवधि सेट करना है। मेरा फ्री ट्रायल समाप्त हो गया था, इसलिए मैं इसे केवल एक दिन के लिए सेट कर सकता हूँ:
यदि आपका ट्रायल समाप्त नहीं हुआ है, तो इसे चार हफ्तों के लिए सेट करने का प्रयास करें, क्योंकि आपका ट्रायल उसके बाद समाप्त हो जाएगा।
ATऔरBEFOREक्लॉज़ का उपयोगSnowflake इन SQL एक्सटेंशन्स के माध्यम से Time Travel को लागू करता है:
ATऔरBEFOREक्लॉज़, जिन्हेंSELECTस्टेटमेंट्स में उपयोग किया जाता है, उस सटीक समय (या अवधि) को निर्धारित करने के लिए जिसका आप क्वेरी करना चाहते हैं। ये इस कार्य के लिए निम्न पैरामीटर्स को सपोर्ट करते हैं:TIMESTAMPOFFSET- वर्तमान समय से सेकंड्स में समयांतरSTATEMENT- यूनिक क्वेरी आईडीUNDROPकमांड, जो टेबल्स, स्कीमाज़ और डेटाबेसेज़ को रिस्टोर करता हैआइए देखें कि इन एक्सटेंशन्स का उपयोग अपने सैंपल डेटाबेस पर कैसे करें।
ऐतिहासिक डेटा क्वेरी करना
पहले, देखें कि
inventoryमें हमारे पास क्या है:अब, हमारे पास जो ऑर्डर्स और इन्वेंटरी है, उन्हें मिलाएँ:
ओह! लगता है कोई गलती हुई है — Llama hoodie के ऑर्डर्स की संख्या हमारे पास से ज़्यादा है। आइए 17.5 घंटे पीछे जाकर यह पता करें कि यह गलत स्टेटमेंट किस समय निष्पादित हुआ था:
तो, गलत ऑर्डर 6 मार्च को शाम 4:54 बजे दर्ज हुआ था। इसका मतलब है कि हमें उस समय से पहले टेबल की स्थिति चाहिए। यह
BEFOREक्लॉज़ के साथ आसानी से क्वेरी किया जा सकता है:टाइम स्टैम्प के लिए डेटा टाइप के रूप में
timestamp_tzजोड़ना न भूलें।tzका अर्थ time zone होता है।ये उदाहरण दिखाते हैं कि टाइमस्टैम्प और ऑफ़सेट के साथ
ATऔरBEFOREक्लॉज़ का उपयोग कैसे करें। यदि आप क्वेरियों के समय का हिसाब नहीं लगाना चाहते, तो आप स्टेटमेंट आईडीज़ का उपयोग कर सकते हैं।उदाहरण के लिए, नीचे दी गई क्वेरी पिछले वाले के समान काम करती है — गलत ऑर्डर दर्ज होने से पहले टेबल की स्थिति क्वेरी करना:
यहाँ बताया गया है कि आप किसी भी स्टेटमेंट की क्वेरी आईडी कैसे ढूँढ सकते हैं:
क्वेरी के प्रकार को फ़िल्टर करके, आप SnowSight में अपनी मनचाही क्वेरी बहुत जल्दी ढूँढ सकते हैं।
ऐतिहासिक ऑब्जेक्ट्स क्लोन करना
तो, हमारी टेबल में एक गलत ऑर्डर है — इसे कैसे हटाएँ?
एक तरीका यह है कि गलत पंक्ति के बिना टेबल को क्लोन कर लें:
यह काम कर गया, और समस्या को ठीक करने के लिए हमें Time Travel पर निर्भर नहीं होना पड़ा। लेकिन जब आपको किसी टेबल की पिछली स्थिति क्लोन करनी हो, तो आप यह सिंटैक्स अपना सकते हैं:
डेटाबेस क्लोन करना भी इसी तरह है:
ऑब्जेक्ट्स हटाना और रिस्टोर करना
मान लें कि हमने अभी एक इंटर्न को हायर किया है और उन्हें गलत ऑर्डर की समस्या दी है।
उस रिकॉर्ड को हटाने की कोशिश में, इंटर्न ने गलती से प्रोडक्शन में orders टेबल ही ड्रॉप कर दी:
इंटर्न घबरा कर हमारे पास आता है और अपनी गलती बताता है। तब हम शांत मन से
UNDROPकमांड चलाते हैं:और टेबल वापस मिल जाती है। हम इंटर्न को माफ़ भी कर देते हैं और (स्वाभाविक रूप से) उनकी गलती के लिए उन्हें निकालने का फैसला नहीं करते।
निष्कर्ष
इस ट्यूटोरियल में, हमने Snowflake के एक प्रमुख फीचर — Time Travel — के बारे में सीखा। Time Travel का उपयोग करके, आप पिछले डेटा को क्वेरी और रिस्टोर कर सकते हैं, जो डेटाबेस मैनेजमेंट टूल्स में बेहद माँगा जाने वाला फीचर है।
प्रोडक्शन परिवेश में कुछ भी हो सकता है, और हर अपडेट से पहले अपने डेटाबेस का बैकअप होना मन को शांति देता है।
मेरा मानना है कि Snowflake वहाँ का सबसे अच्छा डेटाबेस मैनेजमेंट टूल है। यह एक विशाल टूल है, और इसे अच्छी तरह सीखना डेटा भूमिकाओं में एक वांछनीय कौशल है। तो, यदि आप इसके बारे में और सीखना चाहते हैं, तो DataCamp पर Introduction to Snowflake कोर्स देखें।
यदि आप पहले से ही इसके साथ सहज हैं और अपने कौशल को परखना चाहते हैं, तो 2024 में उपलब्ध सर्वश्रेष्ठ Snowflake सर्टिफ़िकेशन्स पर नज़र डालें।