यह पृष्ठ बताता है कि टाइम-टू-लाइव (टीटीएल) नीतियों को कॉन्फ़िगर करने के लिए Google क्लाउड प्लेटफ़ॉर्म कंसोल और Google क्लाउड सीएलआई का उपयोग कैसे करें। इस पृष्ठ को पढ़ने से पहले, आपको क्लाउड फायरस्टोर डेटा मॉडल को समझना चाहिए।
जीने के समय का सिंहावलोकन
अपने डेटाबेस से पुराने डेटा को स्वचालित रूप से हटाने के लिए टाइम-टू-लाइव (टीटीएल) नीतियों का उपयोग करें। टीटीएल नीति किसी दिए गए संग्रह समूह में दस्तावेज़ों के लिए समाप्ति समय के रूप में किसी दिए गए फ़ील्ड को निर्दिष्ट करती है। टीटीएल के साथ, आप अप्रचलित डेटा को साफ करके भंडारण लागत को कम कर सकते हैं। डेटा आमतौर पर समाप्ति तिथि के 24 घंटों के भीतर हटा दिया जाता है।
मूल्य निर्धारण
टीटीएल डिलीट ऑपरेशंस की गणना आपके दस्तावेज़ डिलीट लागतों में की जाती है। डिलीट ऑपरेशंस के मूल्य निर्धारण के लिए, क्लाउड फायरस्टोर मूल्य निर्धारण देखें।
सीमाएँ और बाधाएँ
- प्रति संग्रह समूह में केवल एक फ़ील्ड को टीटीएल फ़ील्ड के रूप में चिह्नित किया जा सकता है।
- कुल 200 फ़ील्ड स्तरीय कॉन्फ़िगरेशन की अनुमति है। एक फ़ील्ड कॉन्फ़िगरेशन में एक ही फ़ील्ड के लिए एकाधिक कॉन्फ़िगरेशन हो सकते हैं। उदाहरण के लिए, एकल-फ़ील्ड अनुक्रमण छूट और एक ही फ़ील्ड पर टीटीएल नीति को सीमा की ओर एक फ़ील्ड कॉन्फ़िगरेशन के रूप में गिना जाता है।
टीटीएल विलोपन
टीटीएल-संचालित विलोपन के निम्नलिखित प्रमुख व्यवहारों पर ध्यान दें:
टीटीएल के माध्यम से हटाना कोई तात्कालिक प्रक्रिया नहीं है। समाप्त हो चुके दस्तावेज़ प्रश्नों और लुकअप अनुरोधों में तब तक दिखाई देते रहते हैं जब तक कि टीटीएल प्रक्रिया वास्तव में उन्हें हटा नहीं देती। टीटीएल विलोपन के लिए स्वामित्व की कम कुल लागत के लाभ के लिए विलोपन की समयबद्धता का व्यापार करता है। डेटा आमतौर पर समाप्ति तिथि के 24 घंटों के भीतर हटा दिया जाता है।
टीटीएल के माध्यम से किसी दस्तावेज़ को हटाने से उस दस्तावेज़ के अंतर्गत उपसंग्रह नहीं हटते हैं।
मौजूदा संग्रह समूह पर टीटीएल नीति लागू करने से नई टीटीएल नीति के अनुसार समाप्त हो चुके सभी डेटा को बड़े पैमाने पर हटा दिया जाता है। ध्यान दें कि यह सामूहिक विलोपन भी तात्कालिक नहीं है और यह इस बात पर निर्भर करता है कि उस संग्रह समूह के लिए कितना डेटा मौजूद है।
यदि किसी दस्तावेज़ की समाप्ति समय पहले हो चुका है और आप संग्रह में एक नई टीटीएल नीति जोड़ते हैं, तो दस्तावेज़ टीटीएल नीति सेटअप समाप्त होने और सक्रिय होने के 24 घंटों के भीतर हटा दिया जाएगा।
टीटीएल जरूरी नहीं कि दस्तावेजों को उनकी समाप्ति टाइमस्टैम्प के समान क्रम में ही हटा दे।
विलोपन लेन-देन द्वारा नहीं किया जाता है. समान समाप्ति समय वाले दस्तावेज़ आवश्यक रूप से एक ही समय में हटाए नहीं जाते हैं। यदि आपको इस व्यवहार की आवश्यकता है, तो क्लाइंट लाइब्रेरी का उपयोग करके विलोपन करें।
क्लाउड फायरस्टोर समाप्ति निर्धारित करने के लिए हमेशा नवीनतम टीटीएल फ़ील्ड का सम्मान करेगा। उदाहरण के लिए, यदि किसी दस्तावेज़ की समय सीमा समाप्त हो गई है, लेकिन अभी तक हटाया नहीं गया है, तो उसके टीटीएल फ़ील्ड को बाद की तारीख में अपडेट किया गया है, दस्तावेज़ की समय सीमा समाप्त नहीं होगी और नई तारीख का उपयोग किया जाएगा।
टीटीएल को अन्य डेटाबेस गतिविधियों पर प्रभाव को कम करने के लिए डिज़ाइन किया गया है। टीटीएल द्वारा संचालित विलोपन को कम प्राथमिकता के साथ माना जाता है। टीटीएल-संचालित डिलीट से ट्रैफ़िक में बढ़ोतरी को सुचारू करने के लिए अन्य रणनीतियाँ भी मौजूद हैं।
टीटीएल के माध्यम से विलोपन सभी सक्रिय स्नैपशॉट श्रोताओं को कॉल करता है और क्लाउड फ़ंक्शंस क्लाउड फायरस्टोर ट्रिगर्स को ट्रिगर करता है।
टीटीएल फ़ील्ड और इंडेक्स
टीटीएल फ़ील्ड को अनुक्रमित या अन-अनुक्रमित किया जा सकता है। हालाँकि, क्योंकि टीटीएल फ़ील्ड एक टाइमस्टैम्प है, फ़ील्ड को अनुक्रमित करने से उच्च ट्रैफ़िक दरों पर प्रदर्शन प्रभावित हो सकता है। टाइमस्टैम्प फ़ील्ड को अनुक्रमित करने से हॉटस्पॉट बन सकते हैं जो सर्वोत्तम प्रथाओं के विरुद्ध है। हॉटस्पॉट एक संकीर्ण दस्तावेज़ सीमा तक उच्च पढ़ने, लिखने और हटाने की दरें हैं।
डिफ़ॉल्ट रूप से, क्लाउड फायरस्टोर सभी फ़ील्ड के लिए एकल-फ़ील्ड इंडेक्स बनाता है। आप टीटीएल फ़ील्ड पर इंडेक्स को अक्षम करने के लिए एकल-फ़ील्ड इंडेक्स छूट बना सकते हैं।
अनुमतियां
टीटीएल नीति को कॉन्फ़िगर करने वाले प्रिंसिपल को प्रोजेक्ट में निम्नलिखित अनुमति की आवश्यकता होती है:
- टीटीएल नीतियों को देखने के लिए
datastore.indexes.list
औरdatastore.indexes.get
अनुमतियों की आवश्यकता होती है। - टीटीएल नीतियों को संशोधित करने के लिए
datastore.indexes.update
अनुमति की आवश्यकता होती है। - टीटीएल परिचालनों की स्थिति की जांच करने के लिए
datastore.operations.list
औरdatastore.operations.get
की आवश्यकता होती है।
इन अनुमतियों को निर्दिष्ट करने वाली भूमिकाओं के लिए, क्लाउड फायरस्टोर पहचान और एक्सेस प्रबंधन भूमिकाएँ देखें।
शुरू करने से पहले
टीटीएल नीतियों को प्रबंधित करने के लिए जीक्लाउड सीएलआई का उपयोग करने से पहले, नवीनतम उपलब्ध संस्करण में घटकों को अपडेट करने के लिए gcloud components update
कमांड का उपयोग करें:
gcloud components update
एक टीटीएल नीति बनाएं
जब आप एक टीटीएल नीति बनाते हैं, तो आप एक संग्रह समूह में दस्तावेज़ों के लिए समाप्ति समय के रूप में एक दस्तावेज़ फ़ील्ड निर्दिष्ट करते हैं।
टीटीएल उन दस्तावेज़ों की पहचान करने के लिए एक निर्दिष्ट फ़ील्ड का उपयोग करता है जो हटाने के योग्य हैं। यह टीटीएल फ़ील्ड Date and time
प्रकार का होना चाहिए। आप उस फ़ील्ड का चयन कर सकते हैं जो पहले से मौजूद है या आप उस फ़ील्ड को निर्दिष्ट कर सकते हैं जिसे आप बाद में जोड़ने की योजना बना रहे हैं।
टीटीएल फ़ील्ड मान निर्धारित करने से पहले निम्नलिखित पर विचार करें:
टीटीएल फ़ील्ड मान भविष्य में, अभी या अतीत में एक समय हो सकता है। यदि मान अतीत में एक समय है, तो दस्तावेज़ तुरंत हटाने के लिए पात्र है। उदाहरण के लिए, आप
expireAt
फ़ील्ड के साथ एक टीटीएल नीति बना सकते हैं, जिसे आप मौजूदा दस्तावेज़ों में जोड़ सकते हैं।किसी अन्य डेटा प्रकार का उपयोग करना या टीटीएल फ़ील्ड मान सेट न करना व्यक्तिगत दस्तावेज़ के लिए टीटीएल को अक्षम कर देगा।
टीटीएल नीति बनाने के लिए नीचे दिए गए चरणों का पालन करें:
गूगल क्लाउड कंसोल
Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।
डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।
नेविगेशन मेनू में, टाइम-टू-लाइव पर क्लिक करें।
नीति बनाएं पर क्लिक करें.
एक संग्रह समूह का नाम और एक टाइमस्टैम्प फ़ील्ड नाम दर्ज करें।
बनाएं पर क्लिक करें.
कंसोल टाइम-टू-लाइव पेज पर वापस आ जाता है। यदि ऑपरेशन सफलतापूर्वक शुरू होता है, तो पृष्ठ टीटीएल नीतियों तालिका में एक प्रविष्टि जोड़ता है। विफलता पर, पृष्ठ एक त्रुटि संदेश प्रदर्शित करता है।
gcloud
टीटीएल नीति को कॉन्फ़िगर करने के लिए firestore fields ttls update
कमांड का उपयोग करें। gcloud CLI को ऑपरेशन पूरा होने की प्रतीक्षा करने से रोकने के लिए --async
ध्वज जोड़ें।
gcloud firestore fields ttls update ttl_field --collection-group=collection_group_name --enable-ttl
यहां तक कि खाली डेटाबेस पर भी, टीटीएल नीति को सक्षम करने में दस मिनट या उससे अधिक समय लग सकता है। एक बार जब आप कोई ऑपरेशन शुरू कर देते हैं, तो टर्मिनल बंद करने से ऑपरेशन रद्द नहीं होता है।
टीटीएल नीतियां देखें
टीटीएल नीतियों और उनकी स्थितियों को देखने के लिए नीचे दिए गए चरणों का पालन करें।
गूगल क्लाउड कंसोल
Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।
डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।
नेविगेशन मेनू में, टाइम-टू-लाइव पर क्लिक करें।
कंसोल आपके डेटाबेस के लिए टीटीएल नीतियों को सूचीबद्ध करता है और प्रत्येक नीति की स्थिति को शामिल करता है।
gcloud
टीटीएल नीति को कॉन्फ़िगर करने के लिए firestore fields ttls list
कमांड का उपयोग करें। निम्न आदेश सभी टीटीएल नीतियों को सूचीबद्ध करता है।
gcloud firestore fields ttls list
किसी विशिष्ट संग्रह समूह के अंतर्गत टीटीएल नीतियों को सूचीबद्ध करने के लिए, निम्नलिखित का उपयोग करें:
gcloud firestore fields ttls list --collection-group=collection_group_name
ऑपरेशन विवरण देखें
आप किसी टीटीएल नीति के बारे में अधिक विवरण देखने के लिए जीक्लाउड सीएलआई का उपयोग कर सकते हैं जो CREATING
स्थिति में है।
सभी चल रहे और हाल ही में पूर्ण किए गए ऑपरेशन देखने के लिए operations list
कमांड का उपयोग करें:
gcloud firestore operations list
प्रतिक्रिया में ऑपरेशन की प्रगति का अनुमान शामिल है।
टीटीएल नीति अक्षम करें
टीटीएल नीति को अक्षम करने के लिए नीचे दिए गए चरणों का पालन करें।
गूगल क्लाउड कंसोल
Google क्लाउड प्लेटफ़ॉर्म कंसोल में, डेटाबेस पृष्ठ पर जाएँ।
डेटाबेस की सूची से आवश्यक डेटाबेस का चयन करें।
नेविगेशन मेनू में, टाइम-टू-लाइव पर क्लिक करें।
टीटीएल नीति तालिका में, टीटीएल नीति के लिए पंक्ति ढूंढें। इस तालिका पंक्ति के भीतर, हटाएं (ट्रैशकेन) बटन पर क्लिक करें।
हटाएं पर क्लिक करके पुष्टि करें.
कंसोल टाइम-टू-लाइव पेज पर वापस आ जाता है। सफलता मिलने पर, क्लाउड फायरस्टोर टीटीएल नीति को तालिका से हटा देता है।
gcloud
1. टीटीएल नीति को कॉन्फ़िगर करने के लिए firestore fields ttls update
कमांड का उपयोग करें। gcloud CLI को ऑपरेशन पूरा होने की प्रतीक्षा करने से रोकने के लिए --async
ध्वज जोड़ें।
gcloud firestore fields ttls update ttl_field --collection-group=collection_group_name --disable-ttl
टीटीएल विलोपन की निगरानी करें
आप टीटीएल-संचालित विलोपन के बारे में मेट्रिक्स देखने के लिए क्लाउड मॉनिटरिंग का उपयोग कर सकते हैं। क्लाउड फायरस्टोर टीटीएल के लिए निम्नलिखित मेट्रिक्स प्रदान करता है:
firestore.googleapis.com/document/ttl_deletion_count | समय-समय पर विलोपन गिनती | टाइम-टू-लाइव (टीटीएल) नीतियों द्वारा हटाए गए दस्तावेज़ों की कुल संख्या। |
firestore.googleapis.com/document/ttl_expiration_to_deletion_delays | विलोपन में देरी के लिए समय-समय पर समाप्ति | टाइम-टू-लाइव (टीटीएल) नीति के तहत किसी दस्तावेज़ की समय सीमा समाप्त होने और वास्तव में उसे हटाए जाने के बीच का समय व्यतीत होता है। |
क्लाउड फायरस्टोर मेट्रिक्स के साथ एक डैशबोर्ड सेट करने के लिए, कस्टम डैशबोर्ड प्रबंधित करें और डैशबोर्ड विजेट जोड़ें देखें ।