শুধুমাত্র ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের জন্য প্রাসঙ্গিক। |
টাইম টু লাইভ (TTL) নীতিগুলি কনফিগার করতে কীভাবে Google ক্লাউড কনসোল এবং Google Cloud CLI ব্যবহার করবেন এই পৃষ্ঠাটি বর্ণনা করে৷
লাইভ ওভারভিউ সময়
আপনার ডেটাবেস থেকে স্বয়ংক্রিয়ভাবে পুরানো ডেটা মুছে ফেলার জন্য TTL নীতিগুলি ব্যবহার করুন৷ একটি TTL নীতি একটি প্রদত্ত সংগ্রহের নথিগুলির মেয়াদ শেষ হওয়ার সময় হিসাবে একটি প্রদত্ত ক্ষেত্রকে মনোনীত করে। TTL এর মাধ্যমে, আপনি অপ্রচলিত ডেটা পরিষ্কার করে স্টোরেজ খরচ কমাতে পারেন। ডেটা সাধারণত মেয়াদ শেষ হওয়ার 24 ঘন্টার মধ্যে মুছে ফেলা হয়।
মূল্য নির্ধারণ
TTL ডিলিট অপারেশন আপনার ডকুমেন্ট ডিলিট খরচের জন্য গণনা করে। ডিলিট অপারেশনের মূল্যের জন্য, Cloud Firestore এন্টারপ্রাইজ সংস্করণের মূল্য দেখুন।
সীমাবদ্ধতা এবং সীমাবদ্ধতা
- আপনি একটি TTL ক্ষেত্র হিসাবে প্রতি সংগ্রহে শুধুমাত্র একটি ক্ষেত্র চিহ্নিত করতে পারেন।
- আপনার সর্বাধিক 500টি ফিল্ড-লেভেল TTL কনফিগারেশন থাকতে পারে।
TTL মুছে ফেলা
TTL-চালিত মুছে ফেলার নিম্নলিখিত মূল আচরণগুলি নোট করুন:
TTL এর মাধ্যমে মুছে ফেলা একটি তাত্ক্ষণিক প্রক্রিয়া নয়। মেয়াদোত্তীর্ণ নথিগুলি অনুসন্ধান এবং অনুসন্ধানের অনুরোধগুলিতে প্রদর্শিত হতে থাকে যতক্ষণ না TTL প্রক্রিয়া প্রকৃতপক্ষে সেগুলিকে মুছে ফেলে। TTL মুছে ফেলার জন্য মালিকানার মোট খরচ কমানোর সুবিধার জন্য মুছে ফেলার সময়োপযোগীতার ব্যবসা করে। ডেটা সাধারণত মেয়াদ শেষ হওয়ার 24 ঘন্টার মধ্যে মুছে ফেলা হয়।
একটি বিদ্যমান সংগ্রহের উপর একটি TTL নীতি প্রয়োগ করার ফলে নতুন TTL নীতি অনুসারে সমস্ত মেয়াদ উত্তীর্ণ ডেটা বাল্ক মুছে ফেলা হয়৷ মনে রাখবেন যে এই বাল্ক মুছে ফেলাও তাত্ক্ষণিক নয় এবং সেই সংগ্রহের জন্য কতটা ডেটা বিদ্যমান তার উপর নির্ভর করে।
যদি অতীতে একটি নথির মেয়াদ শেষ হওয়ার সময় থাকে এবং আপনি সংগ্রহে একটি নতুন TTL নীতি যোগ করেন, TTL নীতি সেটআপ শেষ হওয়ার এবং সক্রিয় হওয়ার 24 ঘন্টার মধ্যে নথিটি মুছে ফেলা হবে।
TTL অগত্যা তাদের মেয়াদপূর্তির টাইমস্ট্যাম্পের মতো একই ক্রমে নথি মুছে দেয় না।
মুছে ফেলা লেনদেন করা হয় না. একই মেয়াদ শেষ হওয়ার সময় থাকা নথিগুলি একই সময়ে মুছে ফেলা হয় না। আপনার যদি এই আচরণের প্রয়োজন হয়, একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে মুছে ফেলা সঞ্চালন করুন।
MongoDB সামঞ্জস্য সহ ক্লাউড ফায়ারস্টোর মেয়াদ শেষ হওয়ার জন্য সর্বদা সর্বশেষ TTL ফিল্ডকে সম্মান করবে। উদাহরণ স্বরূপ, যদি একটি মেয়াদোত্তীর্ণ কিন্তু এখনও-মোছা হয়নি এমন নথির TTL ফিল্ড পরবর্তী তারিখে আপডেট করা থাকে, তাহলে নথিটির মেয়াদ শেষ হবে না এবং নতুন তারিখ ব্যবহার করা হবে।
MongoDB সামঞ্জস্য সহ ক্লাউড ফায়ারস্টোর শুধুমাত্র একটি নথির মেয়াদ শেষ করে যখন TTL ক্ষেত্রটি একটি
Date and time
বাBSON Date
প্রকারে সেট করা থাকে। ক্ষেত্রটি অনুপস্থিত রাখুন বা প্রতি-নথির ভিত্তিতে মেয়াদোত্তীর্ণ নিষ্ক্রিয় করতেnull
মতো একটি মান সেট করুন।TTL অন্যান্য ডাটাবেস কার্যক্রমের উপর প্রভাব কমানোর জন্য ডিজাইন করা হয়েছে। TTL দ্বারা চালিত মুছে ফেলা একটি কম অগ্রাধিকার সঙ্গে চিকিত্সা করা হয়. TTL-চালিত মুছে ফেলা থেকে ট্রাফিক স্পাইকগুলিকে মসৃণ করার জন্য অন্যান্য কৌশলগুলিও রয়েছে৷
TTL ক্ষেত্র এবং সূচী
একটি TTL ক্ষেত্র ইন্ডেক্স বা আনইনডেক্স করা যেতে পারে। যাইহোক, যেহেতু একটি TTL ক্ষেত্র একটি টাইমস্ট্যাম্প, তাই ক্ষেত্রের সূচীকরণ উচ্চ ট্রাফিক হারে কর্মক্ষমতা প্রভাবিত করতে পারে। একটি টাইমস্ট্যাম্প ক্ষেত্রের সূচীকরণ হটস্পট তৈরি করতে পারে যা সর্বোত্তম অনুশীলনের বিরুদ্ধে। হটস্পটগুলি একটি সংকীর্ণ নথি পরিসরে উচ্চ পঠন, লিখতে এবং মুছে ফেলার হার।
অনুমতি
একটি TTL নীতি কনফিগার করার জন্য মূল প্রকল্পে নিম্নলিখিত অনুমতি প্রয়োজন:
- TTL নীতিগুলি দেখার জন্য
datastore.indexes.list
এবংdatastore.indexes.get
অনুমতি প্রয়োজন৷ - TTL নীতি পরিবর্তন করার জন্য
datastore.indexes.update
অনুমতি প্রয়োজন। - TTL অপারেশনের স্থিতি পরীক্ষা করার জন্য
datastore.operations.list
এবংdatastore.operations.get
প্রয়োজন।
এই অনুমতিগুলি বরাদ্দ করে এমন ভূমিকাগুলির জন্য, Cloud Firestore আইডেন্টিটি এবং অ্যাক্সেস ম্যানেজমেন্টের ভূমিকাগুলি দেখুন৷
আপনি শুরু করার আগে
TTL নীতিগুলি পরিচালনা করতে আপনি gcloud CLI ব্যবহার করার আগে, সর্বশেষ উপলব্ধ সংস্করণে উপাদানগুলি আপডেট করতে gcloud components update
কমান্ডটি ব্যবহার করুন:
gcloud components update
একটি TTL নীতি তৈরি করুন
আপনি যখন একটি TTL নীতি তৈরি করেন, আপনি একটি নথির ক্ষেত্রটিকে একটি সংগ্রহের নথির মেয়াদ শেষ হওয়ার সময় হিসাবে মনোনীত করেন।
TTL মুছে ফেলার যোগ্য নথি সনাক্ত করতে একটি নির্দিষ্ট ক্ষেত্র ব্যবহার করে। এই TTL ক্ষেত্রটি অবশ্যই Timestamp
বা BSON Date
হতে হবে। আপনি এমন একটি ক্ষেত্র নির্বাচন করতে পারেন যা ইতিমধ্যেই বিদ্যমান বা আপনি একটি ক্ষেত্র মনোনীত করতে পারেন যা আপনি পরে যোগ করার পরিকল্পনা করছেন৷
আপনি TTL ক্ষেত্রের মান সেট করার আগে নিম্নলিখিতগুলি বিবেচনা করুন:
TTL ক্ষেত্রের মান ভবিষ্যত, এখন বা অতীতের একটি সময় হতে পারে। যদি মানটি অতীতের একটি সময় হয়, তাহলে নথিটি অবিলম্বে মুছে ফেলার জন্য যোগ্য। উদাহরণ স্বরূপ, আপনি
expireAt
ক্ষেত্র সহ একটি TTL নীতি তৈরি করতে পারেন, যা আপনি বিদ্যমান নথিতে যোগ করবেন।অন্য কোনো ডেটা টাইপ ব্যবহার করা বা TTL ক্ষেত্রের মান সেট না করা পৃথক নথির জন্য TTL অক্ষম করবে।
একটি TTL নীতি তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, টাইম-টু-লাইভ-এ ক্লিক করুন।
নীতি তৈরি করুন ক্লিক করুন।
একটি সংগ্রহের নাম এবং একটি টাইমস্ট্যাম্প ক্ষেত্রের নাম লিখুন।
তৈরি করুন ক্লিক করুন।
কনসোলটি টাইম-টু-লাইভ পৃষ্ঠায় ফিরে আসে। অপারেশন সফলভাবে শুরু হলে, পৃষ্ঠাটি TTL নীতি টেবিলে একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।
জিক্লাউড
gcloud CLI CLI ইনস্টল করুন এবং আরম্ভ করুন ।
একটি TTL নীতি কনফিগার করতে
firestore fields ttls update
কমান্ড ব্যবহার করুন। gcloud CLI অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে বাধা দিতে--async
পতাকা যোগ করুন।gcloud firestore fields ttls update ttl_field --collection-group=collection_name --enable-ttl
TTL নীতি সক্ষমতার সময়কাল
এমনকি একটি খালি ডাটাবেসে, এটি একটি TTL নীতি সক্ষম করতে দশ মিনিট বা তার বেশি সময় নিতে পারে। একবার আপনি একটি অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলে অপারেশনটি বাতিল হয় না।
TTL নীতি দেখুন
TTL নীতি এবং তাদের স্থিতি দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, টাইম-টু-লাইভ-এ ক্লিক করুন।
কনসোল আপনার ডাটাবেসের জন্য TTL নীতি তালিকাভুক্ত করে এবং প্রতিটি নীতির স্থিতি অন্তর্ভুক্ত করে।
জিক্লাউড
gcloud CLI CLI ইনস্টল করুন এবং আরম্ভ করুন ।
একটি TTL নীতি কনফিগার করতে
firestore fields ttls list
কমান্ড ব্যবহার করুন। নিম্নলিখিত কমান্ডটি সমস্ত TTL নীতি তালিকাভুক্ত করে।gcloud firestore fields ttls list
একটি নির্দিষ্ট সংগ্রহের অধীনে TTL নীতিগুলি তালিকাভুক্ত করতে, নিম্নলিখিতগুলি ব্যবহার করুন:
gcloud firestore fields ttls list --collection-group=collection_name
অপারেশন বিবরণ দেখুন
আপনি একটি TTL নীতি সম্পর্কে আরও বিশদ দেখতে gcloud CLI ব্যবহার করতে পারেন যা CREATING
অবস্থায় আছে।
সমস্ত চলমান এবং সম্প্রতি সম্পন্ন হওয়া অপারেশনগুলি দেখতে operations list
কমান্ড ব্যবহার করুন:
gcloud firestore operations list
প্রতিক্রিয়ার মধ্যে অপারেশনের অগ্রগতির একটি অনুমান অন্তর্ভুক্ত রয়েছে।
একটি TTL নীতি নিষ্ক্রিয় করুন৷
একটি TTL নীতি নিষ্ক্রিয় করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
গুগল ক্লাউড কনসোল
Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।
নেভিগেশন মেনুতে, টাইম-টু-লাইভ-এ ক্লিক করুন।
TTL নীতি সারণীতে, TTL নীতির জন্য সারি খুঁজুন। এই টেবিল সারির মধ্যে, মুছুন (ট্র্যাশক্যান) বোতামে ক্লিক করুন।
মুছুন ক্লিক করে নিশ্চিত করুন।
কনসোলটি টাইম-টু-লাইভ পৃষ্ঠায় ফিরে আসে। সফল হলে, MongoDB সামঞ্জস্য সহ Cloud Firestore টেবিল থেকে TTL নীতি সরিয়ে দেয়।
জিক্লাউড
gcloud CLI CLI ইনস্টল করুন এবং আরম্ভ করুন ।
একটি TTL নীতি কনফিগার করতে
firestore fields ttls update
কমান্ড ব্যবহার করুন। gcloud CLI অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে বাধা দিতে--async
পতাকা যোগ করুন।gcloud firestore fields ttls update ttl_field --collection-group=collection_name --disable-ttl
TTL মুছে ফেলার মনিটর করুন
আপনি TTL-চালিত মুছে ফেলা সম্পর্কে মেট্রিক্স দেখতে Cloud Monitoring ব্যবহার করতে পারেন। MongoDB সামঞ্জস্য সহ ক্লাউড ফায়ারস্টোর TTL-এর জন্য নিম্নলিখিত মেট্রিক্স প্রদান করে:
মেট্রিক প্রকার | মেট্রিক নাম | মেট্রিক বিবরণ |
---|---|---|
firestore.googleapis.com/document/ttl_deletion_count | লাইভ মুছে ফেলার গণনা সময় | TTL নীতি দ্বারা মুছে ফেলা নথির মোট গণনা। |
firestore.googleapis.com/document/ttl_expiration_to_deletion_delays | মুছে ফেলার বিলম্বের মেয়াদ শেষ হওয়ার লাইভ সময় | একটি TTL নীতির অধীনে একটি নথির মেয়াদ শেষ হওয়ার সময় এবং এটি আসলে মুছে ফেলার মধ্যে সময় অতিবাহিত হয়৷ |
MongoDB সামঞ্জস্যতা মেট্রিক্সের সাথে ক্লাউড ফায়ারস্টোরের সাথে একটি ড্যাশবোর্ড সেট আপ করতে, কাস্টম ড্যাশবোর্ড পরিচালনা করুন এবং ড্যাশবোর্ড উইজেট যোগ করুন ।