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

শুধুমাত্র ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের জন্য প্রাসঙ্গিক।

এই পৃষ্ঠায় Google Cloud কনসোল এবং Google Cloud CLI ব্যবহার করে টাইম টু লাইভ (TTL) নীতি কনফিগার করার পদ্ধতি বর্ণনা করা হয়েছে।

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

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

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

টিটিএল ডিলিট অপারেশনগুলি আপনার ডকুমেন্ট ডিলিট খরচের মধ্যে গণনা করা হবে। ডিলিট অপারেশনের মূল্য নির্ধারণের জন্য, Cloud Firestore এন্টারপ্রাইজ সংস্করণের মূল্য নির্ধারণ দেখুন।

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

  • আপনি প্রতি সংগ্রহে শুধুমাত্র একটি ক্ষেত্রকে TTL ক্ষেত্র হিসেবে চিহ্নিত করতে পারেন।
  • আপনার সর্বোচ্চ ৫০০টি ফিল্ড-লেভেল 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 নীতি তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

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

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

    ডাটাবেসে যান

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

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

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

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

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

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

জিক্লাউড

  1. gcloud CLI CLI ইনস্টল এবং আরম্ভ করুন

  2. একটি 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 নীতি এবং তাদের স্থিতি দেখতে, এই পদক্ষেপগুলি অনুসরণ করুন:

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

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

    ডাটাবেসে যান

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

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

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

জিক্লাউড

  1. gcloud CLI CLI ইনস্টল এবং আরম্ভ করুন

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

    gcloud firestore fields ttls list
    

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

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

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

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

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

gcloud firestore operations list

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

একটি TTL নীতি অক্ষম করুন

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

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

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

    ডাটাবেসে যান

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

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

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

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

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

জিক্লাউড

  1. gcloud CLI CLI ইনস্টল এবং আরম্ভ করুন

  2. একটি 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 সামঞ্জস্যতা মেট্রিক্স সহ ক্লাউড ফায়ারস্টোরের সাথে একটি ড্যাশবোর্ড সেট আপ করতে, কাস্টম ড্যাশবোর্ড পরিচালনা করুন এবং ড্যাশবোর্ড উইজেট যোগ করুন দেখুন।