যখন আপনি একটি Cloud Firestore ইনস্ট্যান্স প্রোভিশন করেন, তখন আপনাকে ইনস্ট্যান্সটির জন্য একটি অবস্থান বেছে নিতে হবে। ল্যাটেন্সি কমাতে এবং প্রাপ্যতা বাড়াতে, আপনার ডেটা সেইসব ব্যবহারকারী এবং পরিষেবাগুলির কাছাকাছি সংরক্ষণ করুন যাদের এটি প্রয়োজন।
আপনার প্রজেক্টটি যদি ব্লেজের পে-অ্যাজ-ইউ-গো প্রাইসিং প্ল্যানের অধীনে থাকে, তাহলে আপনি ঐচ্ছিকভাবে আপনার প্রজেক্টে একাধিক ডেটাবেস তৈরি করতে পারেন, যার প্রতিটির নিজস্ব লোকেশন সেটিং থাকবে।
মনে রাখবেন যে, একবার একটি ডাটাবেস ইনস্ট্যান্স প্রোভিশন করলে, আপনি এর লোকেশন সেটিং পরিবর্তন করতে পারবেন না।
অবস্থানের প্রকারভেদ
আপনি আপনার Cloud Firestore ডেটা একটি বহু-অঞ্চলীয় অবস্থানে অথবা একটি আঞ্চলিক অবস্থানে সংরক্ষণ করতে পারেন।
বহু-অঞ্চলীয় অবস্থান
আপনার ডেটাবেসের প্রাপ্যতা ও স্থায়িত্ব সর্বাধিক করতে একটি বহু-অঞ্চলীয় অবস্থান নির্বাচন করুন।
একটি মাল্টি-রিজিওন লোকেশন হলো কতগুলো নির্দিষ্ট অঞ্চলের সমষ্টি, যেখানে ডাটাবেসের একাধিক রেপ্লিকা সংরক্ষিত থাকে। প্রতিটি রেপ্লিকা হয় একটি রিড-রাইট রেপ্লিকা, যা ডাটাবেসের সমস্ত ডেটা ধারণ করে, অথবা একটি উইটনেস রেপ্লিকা, যা ডেটার সম্পূর্ণ সেট রক্ষণাবেক্ষণ না করলেও রেপ্লিকেশনে অংশগ্রহণ করে।
একাধিক অঞ্চলের মধ্যে ডেটা প্রতিলিপি করার মাধ্যমে, একটি সম্পূর্ণ অঞ্চল অকার্যকর হয়ে গেলেও ডেটা সরবরাহ অব্যাহত রাখা যায়। একটি অঞ্চলের মধ্যে, ডেটা বিভিন্ন জোনে প্রতিলিপি করা হয়, যাতে একটি জোন অকার্যকর হয়ে গেলেও সেই অঞ্চলের মধ্যে ডেটা সরবরাহ অব্যাহত থাকে।
Cloud Firestore নিম্নলিখিত মাল্টি-রিজিওন লোকেশনগুলো সমর্থন করে:
| বহু-অঞ্চল নাম | বহু-অঞ্চল বর্ণনা | পঠন-লিখন অঞ্চল | সাক্ষী অঞ্চল |
|---|---|---|---|
eur3 | ইউরোপ | europe-west1 (বেলজিয়াম), europe-west4 (নেদারল্যান্ডস) | europe-north1 (ফিনল্যান্ড) |
nam5 | যুক্তরাষ্ট্র (কেন্দ্রীয়) | us-central1 (আইওয়া), us-central2 (ওকলাহোমা—ব্যক্তিগত GCP অঞ্চল) | us-east1 (দক্ষিণ ক্যারোলিনা) |
nam7 | যুক্তরাষ্ট্র (মধ্য ও পূর্ব) | us-central1 (আইওয়া), us-east4 (উত্তর ভার্জিনিয়া) | us-central2 (ওকলাহোমা—ব্যক্তিগত Google Cloud অঞ্চল) |
আঞ্চলিক অবস্থান
আঞ্চলিক অবস্থান হলো একটি নির্দিষ্ট ভৌগোলিক স্থান, যেমন সাউথ ক্যারোলাইনা। একটি আঞ্চলিক অবস্থানের ডেটা সেই অঞ্চলের মধ্যে একাধিক জোনে প্রতিলিপিত হয়।
কম খরচের জন্য, আপনার অ্যাপ্লিকেশনটি লেটেন্সির প্রতি সংবেদনশীল হলে কম রাইট লেটেন্সির জন্য, অথবা অন্যান্য Google Cloud রিসোর্সের সাথে সহ-অবস্থানের জন্য একটি আঞ্চলিক অবস্থান নির্বাচন করুন।
Cloud Firestore নিম্নলিখিত আঞ্চলিক রিসোর্স অবস্থানগুলিকে সমর্থন করে:
| অঞ্চলের নাম | অঞ্চলের বিবরণ | |
|---|---|---|
| উত্তর আমেরিকা | ||
us-west1 | ওরেগন | |
us-west2 | লস অ্যাঞ্জেলেস | |
us-west3 | সল্ট লেক সিটি | |
us-west4 | লাস ভেগাস | |
| আইওয়া | |
northamerica-northeast1 | মন্ট্রিয়ল | |
| টরন্টো | |
| কোয়েরেতারো | |
us-east1 | দক্ষিণ ক্যারোলিনা | |
us-east4 | উত্তর ভার্জিনিয়া | |
| কলম্বাস | |
| ডালাস | |
| দক্ষিণ আমেরিকা | ||
| সান্তিয়াগো | |
southamerica-east1 | সাও পাওলো | |
| ইউরোপ | ||
europe-west2 | লন্ডন | |
| বেলজিয়াম | |
| নেদারল্যান্ডস | |
| মিলান | |
| মাদ্রিদ | |
| প্যারিস | |
| তুরিন | |
| বার্লিন | |
europe-west3 | ফ্রাঙ্কফুর্ট | |
| ফিনল্যান্ড | |
| স্টকহোম | |
europe-central2 | ওয়ারশ | |
europe-west6 | জুরিখ | |
| মধ্যপ্রাচ্য | ||
| দোহা | |
| দাম্মাম | |
| তেল আবিব | |
| এশিয়া | ||
asia-south1 | মুম্বাই | |
| দিল্লি | |
asia-southeast1 | সিঙ্গাপুর | |
asia-southeast2 | জাকার্তা | |
asia-east2 | হংকং | |
asia-east1 | তাইওয়ান | |
asia-northeast1 | টোকিও | |
asia-northeast2 | ওসাকা | |
asia-northeast3 | সিউল | |
| অস্ট্রেলিয়া | ||
australia-southeast1 | সিডনি | |
| মেলবোর্ন | |
| আফ্রিকা | ||
| জোহানেসবার্গ | |
অবস্থানভিত্তিক মূল্য নির্ধারণ
আপনার Cloud Firestore অবস্থান ডাটাবেস পরিচালনার খরচ নির্ধারণ করে।
প্রিভিউ চলাকালীন অঞ্চল এবং অঞ্চলের ধরন অনুযায়ী মূল্যের বিস্তারিত ব্যাখ্যার জন্য, মূল্য নির্ধারণ (Pricing) দেখুন।
আপনার ডেটাবেসগুলির অবস্থান দেখুন
ফায়ারবেস কনসোলে, আপনার ডাটাবেস ইনস্ট্যান্স এবং তাদের অবস্থানের তালিকা দেখতে Cloud Firestore ডেটা ট্যাবে যান।
"ডিফল্ট Google Cloud রিসোর্সের অবস্থান"-এর কারণে সম্ভাব্য অবস্থানগত নির্ভরশীলতা।
‘ডিফল্ট Google Cloud রিসোর্সের অবস্থান’ হলো গুগল App Engine সাথে যুক্ত যেকোনো প্রজেক্ট রিসোর্সের অবস্থান সেটিং, যার মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:
- ডিফল্ট Cloud Firestore ডাটাবেস ইনস্ট্যান্স
- ফায়ারবেসের জন্য ডিফল্ট Cloud Storage বাকেট, যার নামের ফরম্যাট হলো
*.appspot.com - গুগল Cloud Scheduler বিশেষভাবে প্রথম প্রজন্মের শিডিউল করা ফাংশনগুলির সাথে ব্যবহৃত হয়।
এই ‘ডিফল্ট Google Cloud রিসোর্সগুলির অবস্থান’ একটি অপরিবর্তনীয় সেটিং। এছাড়াও, যখন আপনি সংশ্লিষ্ট রিসোর্সগুলির মধ্যে একটির জন্য অবস্থান সেট করেন, তখন App Engine সাথে তাদের সাধারণ সংযোগের কারণে আপনি পরোক্ষভাবে সেগুলির সবগুলোর অবস্থানই সেট করে ফেলেন।
তবে, বিগত বছরগুলোতে Firebase এবং Google Cloud ইকোসিস্টেমে অনেক পরিবর্তনের ফলে App Engine সাথে রিসোর্সগুলোর সংযোগও পরিবর্তিত হচ্ছে। সবচেয়ে উল্লেখযোগ্যভাবে, *.firebasestorage.app , এবং এগুলো App Engine সাথে যুক্ত নয় ।
সম্ভাব্য অবস্থান নির্ভরতাগুলিতে কী কী পরিবর্তন হয়েছে তার বিবরণ নিচে দেওয়া হলো:
৩০ অক্টোবর, ২০২৪ থেকে, যদি ডিফল্ট Cloud Firestore ইনস্ট্যান্স এবং ডিফল্ট Cloud Storage ফর ফায়ারবেস বাকেট এখনও প্রোভিশন করা না হয়ে থাকে:ডিফল্ট Cloud Firestore ইনস্ট্যান্স প্রোভিশনিং করলে প্রজেক্টে ভবিষ্যতে প্রোভিশন করা যেকোনো App Engine অ্যাপের অবস্থান নির্ধারিত হয়ে যায়। তবে, এটি ভবিষ্যতের ডিফল্ট Cloud Storage বাকেটের অবস্থান নির্ধারণ করে না ।
ডিফল্ট Cloud Storage বাকেট প্রোভিশনিং করলে এখন আর কোনো App Engine অ্যাপ প্রোভিশন হয় না । সুতরাং, ডিফল্ট Cloud Storage বাকেটের অবস্থান ভবিষ্যতের ডিফল্ট Cloud Firestore ইনস্ট্যান্সের অবস্থান নির্ধারণ করে না ।
৩০ অক্টোবর, ২০২৪ থেকে, যদি ডিফল্ট Cloud Firestore ইনস্ট্যান্সটি ইতিমধ্যেই প্রোভিশন করা হয়ে থাকে, কিন্তু ডিফল্ট Cloud Storage ফর ফায়ারবেস বাকেটটি প্রোভিশন করা না হয়ে থাকে:- বিদ্যমান ডিফল্ট Cloud Firestore ইনস্ট্যান্সটি ভবিষ্যতের ডিফল্ট Cloud Storage বাকেটের অবস্থান নির্ধারণ করে না (
*.firebasestorage.app)
- বিদ্যমান ডিফল্ট Cloud Firestore ইনস্ট্যান্সটি ভবিষ্যতের ডিফল্ট Cloud Storage বাকেটের অবস্থান নির্ধারণ করে না (
৩০ অক্টোবর, ২০২৪ থেকে শুরু করে, যদি ফায়ারবেসের জন্য ডিফল্ট Cloud Storage বাকেটটি ইতিমধ্যেই প্রোভিশন করা হয়ে থাকে (বিশেষত,*.appspot.comবাকেট) , কিন্তু ডিফল্ট Cloud Firestore ইনস্ট্যান্সটি প্রোভিশন করা হয়নি :- যখন ডিফল্ট Cloud Storage বাকেট (
*.appspot.comপ্রোভিশন করা হয়েছিল, একটি App Engine অ্যাপও প্রোভিশন করা হয়েছিল, এবং সেই সময়ে ভবিষ্যতের ডিফল্ট Cloud Firestore ইনস্ট্যান্সের অবস্থান সেট করা হয়েছিল। এমনকি যদি আপনি মুছে ফেলেন*.appspot.comবাকেট থেকে আপনি App Engine অ্যাপটি ডিলিট করতে পারবেন না, তাই ভবিষ্যতের ডিফল্ট Cloud Firestore ইনস্ট্যান্সের লোকেশন সেটিং আগে থেকেই সেট করা থাকে।
- যখন ডিফল্ট Cloud Storage বাকেট (
আপনি যদি প্রথম প্রজন্মের শিডিউলড ফাংশন ব্যবহার করে থাকেন, তাহলে সেগুলোর অবস্থান ডিফল্ট Google Cloud রিসোর্সের অবস্থানে সেট করা থাকে। এর কারণ হলো, Cloud Scheduler এবং App Engine আগে থেকেই একটি সংযোগ ছিল। এছাড়াও, আপনি যদি এই একই লোকেশন সেটিং ব্যবহারকারী অন্যান্য রিসোর্স প্রোভিশনিং করার আগে প্রথম প্রজন্মের শিডিউলড ফাংশন সেট আপ করেন, তাহলে সেগুলোর অবস্থানও সেট হয়ে যায়।
মনে রাখবেন যে, আপনার App Engine অ্যাপের অবস্থান যদি us-central বা europe-west হয়, তাহলে ডিফল্ট Google Cloud রিসোর্সগুলির জন্য আপনার অবস্থানকে বহু-আঞ্চলিক (multi-regional) হিসেবে গণ্য করা হবে।