TTL নীতির সাথে ডেটা ধারণ পরিচালনা করুন

টাইম টু লাইভ (TTL) নীতিগুলি কনফিগার করতে কীভাবে Google ক্লাউড কনসোল এবং Google ক্লাউড CLI ব্যবহার করবেন এই পৃষ্ঠাটি বর্ণনা করে৷ আপনি এই পৃষ্ঠাটি পড়ার আগে, আপনার Cloud Firestore ডেটা মডেলটি বোঝা উচিত।

লাইভ ওভারভিউ সময়

আপনার ডেটাবেস থেকে স্বয়ংক্রিয়ভাবে পুরানো ডেটা মুছে ফেলার জন্য TTL নীতিগুলি ব্যবহার করুন৷ একটি TTL নীতি একটি প্রদত্ত ক্ষেত্রকে একটি প্রদত্ত সংগ্রহ গ্রুপে নথির মেয়াদ শেষ হওয়ার সময় হিসাবে মনোনীত করে। TTL এর মাধ্যমে, আপনি অপ্রচলিত ডেটা পরিষ্কার করে স্টোরেজ খরচ কমাতে পারেন। ডেটা সাধারণত মেয়াদ শেষ হওয়ার 24 ঘন্টার মধ্যে মুছে ফেলা হয়।

মূল্য নির্ধারণ

TTL ডিলিট অপারেশন আপনার ডকুমেন্ট ডিলিট খরচের জন্য গণনা করে। ডিলিট অপারেশনের মূল্যের জন্য, Cloud Firestore মূল্য দেখুন।

সীমাবদ্ধতা এবং সীমাবদ্ধতা

  • সংগ্রহ গ্রুপ প্রতি শুধুমাত্র একটি ক্ষেত্র একটি TTL ক্ষেত্র হিসাবে চিহ্নিত করা যেতে পারে.
  • মোট 200টি ফিল্ড লেভেল কনফিগারেশন অনুমোদিত। একটি ক্ষেত্রের কনফিগারেশনে একই ক্ষেত্রের জন্য একাধিক কনফিগারেশন থাকতে পারে। উদাহরণস্বরূপ, একটি একক-ক্ষেত্র সূচীকরণ ছাড় এবং একই ক্ষেত্রে একটি TTL নীতি সীমার দিকে একটি ফিল্ড কনফিগারেশন হিসাবে গণনা করে।
  • Datastore মোডে Firestore গ্রাহকদের জন্য, TTL Optimistic With Entity Groups- এর কনকারেন্সি মোডের সাথে ব্যবহার করা যাবে না। কনকারেন্সি মোডকে অপটিমিস্টিক কনকারেন্সি মোডে পরিবর্তন করার কথা বিবেচনা করুন।

TTL মুছে ফেলা

TTL-চালিত মুছে ফেলার নিম্নলিখিত মূল আচরণগুলি নোট করুন:

  • TTL এর মাধ্যমে মুছে ফেলা একটি তাত্ক্ষণিক প্রক্রিয়া নয়। মেয়াদোত্তীর্ণ নথিগুলি অনুসন্ধান এবং অনুসন্ধানের অনুরোধগুলিতে প্রদর্শিত হতে থাকে যতক্ষণ না TTL প্রক্রিয়া প্রকৃতপক্ষে সেগুলিকে মুছে ফেলে। TTL মুছে ফেলার জন্য মালিকানার মোট খরচ কমানোর সুবিধার জন্য মুছে ফেলার সময়োপযোগীতার ব্যবসা করে। ডেটা সাধারণত মেয়াদ শেষ হওয়ার 24 ঘন্টার মধ্যে মুছে ফেলা হয়।

  • TTL এর মাধ্যমে একটি নথি মুছে দিলে সেই নথির অধীনে থাকা উপ-সংগ্রহগুলি মুছে যায় না।

  • একটি বিদ্যমান সংগ্রহ গোষ্ঠীতে একটি TTL নীতি প্রয়োগ করার ফলে নতুন TTL নীতি অনুসারে সমস্ত মেয়াদ উত্তীর্ণ ডেটা বাল্ক মুছে ফেলা হয়৷ মনে রাখবেন যে এই বাল্ক মুছে ফেলাও তাত্ক্ষণিক নয় এবং সেই সংগ্রহ গোষ্ঠীর জন্য কতটা ডেটা বিদ্যমান তার উপর নির্ভর করে।

  • যদি অতীতে একটি নথির মেয়াদ শেষ হওয়ার সময় থাকে এবং আপনি সংগ্রহে একটি নতুন TTL নীতি যোগ করেন, TTL নীতি সেটআপ শেষ হওয়ার এবং সক্রিয় হওয়ার 24 ঘন্টার মধ্যে নথিটি মুছে ফেলা হবে।

  • TTL অগত্যা তাদের মেয়াদপূর্তির টাইমস্ট্যাম্পের মতো একই ক্রমে নথি মুছে দেয় না।

  • মুছে ফেলা লেনদেন করা হয় না. একই মেয়াদ শেষ হওয়ার সময় থাকা নথিগুলি একই সময়ে মুছে ফেলা হয় না। আপনার যদি এই আচরণের প্রয়োজন হয়, একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে মুছে ফেলা সঞ্চালন করুন।

  • Cloud Firestore মেয়াদ শেষ হওয়ার জন্য সর্বদা সর্বশেষ TTL ফিল্ডকে সম্মান করবে। উদাহরণ স্বরূপ, যদি একটি মেয়াদোত্তীর্ণ কিন্তু এখনও-মোছা হয়নি এমন নথির 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 CLI ব্যবহার করার আগে, সর্বশেষ উপলব্ধ সংস্করণে উপাদানগুলি আপডেট করতে gcloud components update কমান্ডটি ব্যবহার করুন:

gcloud components update

একটি TTL নীতি তৈরি করুন

আপনি যখন একটি TTL নীতি তৈরি করেন, তখন আপনি একটি নথির ক্ষেত্রটিকে একটি সংগ্রহ গোষ্ঠীতে নথির মেয়াদ শেষ হওয়ার সময় হিসাবে মনোনীত করেন।

TTL মুছে ফেলার যোগ্য নথি সনাক্ত করতে একটি নির্দিষ্ট ক্ষেত্র ব্যবহার করে। এই TTL ক্ষেত্রটি অবশ্যই Date and time প্রকারের হতে হবে। আপনি এমন একটি ক্ষেত্র নির্বাচন করতে পারেন যা ইতিমধ্যেই বিদ্যমান বা আপনি একটি ক্ষেত্র মনোনীত করতে পারেন যা আপনি পরে যোগ করার পরিকল্পনা করছেন৷

আপনি TTL ক্ষেত্রের মান সেট করার আগে নিম্নলিখিতগুলি বিবেচনা করুন:

  • TTL ক্ষেত্রের মান ভবিষ্যত, এখন বা অতীতের একটি সময় হতে পারে। যদি মানটি অতীতের একটি সময় হয়, তাহলে নথিটি অবিলম্বে মুছে ফেলার জন্য যোগ্য। উদাহরণ স্বরূপ, আপনি expireAt ক্ষেত্র সহ একটি TTL নীতি তৈরি করতে পারেন, যা আপনি বিদ্যমান নথিতে যোগ করবেন।

  • অন্য কোনো ডেটা টাইপ ব্যবহার করা বা TTL ক্ষেত্রের মান সেট না করা পৃথক নথির জন্য TTL অক্ষম করবে।

একটি TTL নীতি তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।

  3. নেভিগেশন মেনুতে, টাইম-টু-লাইভ -এ ক্লিক করুন।

  4. নীতি তৈরি করুন ক্লিক করুন।

  5. একটি সংগ্রহ গোষ্ঠীর নাম এবং একটি টাইমস্ট্যাম্প ক্ষেত্রের নাম লিখুন।

  6. তৈরি করুন ক্লিক করুন।

কনসোলটি টাইম-টু-লাইভ পৃষ্ঠায় ফিরে আসে। অপারেশন সফলভাবে শুরু হলে, পৃষ্ঠাটি TTL নীতি টেবিলে একটি এন্ট্রি যোগ করে। ব্যর্থ হলে, পৃষ্ঠাটি একটি ত্রুটি বার্তা প্রদর্শন করে।

জিক্লাউড

একটি TTL নীতি কনফিগার করতে firestore fields ttls update কমান্ড ব্যবহার করুন। gcloud CLI-কে অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে বাধা দিতে --async পতাকা যোগ করুন।

 gcloud firestore fields ttls update
  ttl_field --collection-group=collection_group_name
  --enable-ttl 

TTL নীতি সক্ষমতার সময়কাল

এমনকি একটি খালি ডাটাবেসে, এটি একটি TTL নীতি সক্ষম করতে দশ মিনিট বা তার বেশি সময় নিতে পারে। একবার আপনি একটি অপারেশন শুরু করলে, টার্মিনাল বন্ধ করলে অপারেশনটি বাতিল হয় না।

TTL নীতি দেখুন

TTL নীতি এবং তাদের স্থিতি দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।

  3. নেভিগেশন মেনুতে, টাইম-টু-লাইভ -এ ক্লিক করুন।

কনসোল আপনার ডাটাবেসের জন্য TTL নীতি তালিকাভুক্ত করে এবং প্রতিটি নীতির স্থিতি অন্তর্ভুক্ত করে।

জিক্লাউড

একটি TTL নীতি কনফিগার করতে firestore fields ttls list কমান্ড ব্যবহার করুন। নিম্নলিখিত কমান্ডটি সমস্ত TTL নীতি তালিকাভুক্ত করে।

   gcloud firestore fields ttls list
   

একটি নির্দিষ্ট সংগ্রহ গোষ্ঠীর অধীনে TTL নীতিগুলি তালিকাভুক্ত করতে, নিম্নলিখিতগুলি ব্যবহার করুন:

   gcloud firestore fields ttls list  --collection-group=collection_group_name
   

অপারেশন বিবরণ দেখুন

আপনি একটি TTL নীতি সম্পর্কে আরও বিশদ দেখতে gcloud CLI ব্যবহার করতে পারেন যা CREATING অবস্থায় আছে।

সমস্ত চলমান এবং সম্প্রতি সম্পন্ন হওয়া অপারেশনগুলি দেখতে operations list কমান্ড ব্যবহার করুন:

gcloud firestore operations list

প্রতিক্রিয়ার মধ্যে অপারেশনের অগ্রগতির একটি অনুমান অন্তর্ভুক্ত রয়েছে।

একটি TTL নীতি নিষ্ক্রিয় করুন

একটি TTL নীতি নিষ্ক্রিয় করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেস নির্বাচন করুন।

  3. নেভিগেশন মেনুতে, টাইম-টু-লাইভ -এ ক্লিক করুন।

  4. TTL নীতি সারণীতে, TTL নীতির জন্য সারি খুঁজুন। এই টেবিল সারির মধ্যে, মুছুন (ট্র্যাশক্যান) বোতামে ক্লিক করুন।

  5. মুছুন ক্লিক করে নিশ্চিত করুন।

কনসোলটি টাইম-টু-লাইভ পৃষ্ঠায় ফিরে আসে। সফল হলে, Cloud Firestore টেবিল থেকে TTL নীতি সরিয়ে দেয়।

জিক্লাউড

1. একটি TTL নীতি কনফিগার করতে firestore fields ttls update কমান্ড ব্যবহার করুন। gcloud CLI-কে অপারেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে বাধা দিতে --async পতাকা যোগ করুন।

   gcloud firestore fields ttls update ttl_field --collection-group=collection_group_name --disable-ttl
   

TTL মুছে ফেলা মনিটর

আপনি TTL-চালিত মুছে ফেলা সম্পর্কে মেট্রিক্স দেখতে Cloud Monitoring ব্যবহার করতে পারেন। Cloud Firestore TTL-এর জন্য নিম্নলিখিত মেট্রিক্স প্রদান করে:

মেট্রিক প্রকার মেট্রিক নাম মেট্রিক বিবরণ
firestore.googleapis.com/document/ttl_deletion_count সময়-টু-লাইভ মুছে ফেলার গণনা

TTL নীতি দ্বারা মুছে ফেলা নথির মোট গণনা।

firestore.googleapis.com/document/ttl_expiration_to_deletion_delays টাইম-টু-লাইভ মেয়াদ মুছে ফেলার বিলম্ব

একটি TTL নীতির অধীনে একটি নথির মেয়াদ শেষ হওয়ার সময় এবং এটি আসলে মুছে ফেলার মধ্যে সময় অতিবাহিত হয়৷

Cloud Firestore মেট্রিক্সের সাথে একটি ড্যাশবোর্ড সেট আপ করতে, কাস্টম ড্যাশবোর্ড পরিচালনা করুন এবং ড্যাশবোর্ড উইজেট যোগ করুন দেখুন।