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