আপনার Data Connect প্রকল্পগুলিতে দুটি প্রধান অবকাঠামোগত উপাদান রয়েছে:
- এক বা একাধিক Data Connect পরিষেবার উদাহরণ
- PostgreSQL ইনস্ট্যান্সের জন্য এক বা একাধিক ক্লাউড SQL
এই নির্দেশিকাটি আপনার Data Connect পরিষেবার উদাহরণগুলি কীভাবে সেট আপ এবং পরিচালনা করবেন তা নিয়ে আলোচনা করে এবং আপনার সম্পর্কিত ক্লাউড এসকিউএল উদাহরণগুলি কীভাবে পরিচালনা করবেন তা উপস্থাপন করে।
Firebase Data Connect এর জন্য অঞ্চলগুলি কনফিগার করুন
Data Connect ব্যবহার করে এমন প্রকল্পগুলির জন্য একটি অবস্থান সেটিং প্রয়োজন।
যখন আপনি একটি নতুন Data Connect পরিষেবা তৈরি করেন, তখন আপনাকে পরিষেবাটির অবস্থান নির্বাচন করতে বলা হবে।
উপলব্ধ অবস্থানগুলি
নিম্নলিখিত অঞ্চলে Data Connect পরিষেবা তৈরি করা যেতে পারে।
- এশিয়া-পূর্ব১
- এশিয়া-পূর্ব২
- এশিয়া-উত্তরপূর্ব১
- এশিয়া-উত্তরপূর্ব২
- এশিয়া-উত্তরপূর্ব৩
- এশিয়া-দক্ষিণ১
- এশিয়া-দক্ষিণ-পূর্ব১
- এশিয়া-দক্ষিণ-পূর্ব২
- অস্ট্রেলিয়া-দক্ষিণ-পূর্ব১
- অস্ট্রেলিয়া-দক্ষিণ-পূর্ব২
- ইউরোপ-সেন্ট্রাল২
- ইউরোপ-উত্তর১
- ইউরোপ-দক্ষিণ-পশ্চিম১
- ইউরোপ-পশ্চিম১
- ইউরোপ-পশ্চিম২
- ইউরোপ-পশ্চিম৩
- ইউরোপ-পশ্চিম৪
- ইউরোপ-পশ্চিম৬
- ইউরোপ-পশ্চিম8
- ইউরোপ-পশ্চিম9
- মি-ওয়েস্ট১
- উত্তর আমেরিকা-উত্তরপূর্ব১
- উত্তর আমেরিকা-উত্তরপূর্ব২
- সাউথআমেরিকা-পূর্ব১
- দক্ষিণ আমেরিকা-পশ্চিম১
- ইউএস-সেন্ট্রাল১
- মার্কিন-পূর্ব১
- ইউএস-ইস্ট৪
- মার্কিন-দক্ষিণ১
- us-west1 সম্পর্কে
- us-west2 সম্পর্কে
- ইউএস-ওয়েস্ট৩
- ইউএস-ওয়েস্ট৪
Data Connect পরিষেবার উদাহরণগুলি পরিচালনা করুন
পরিষেবা তৈরি করুন
একটি নতুন পরিষেবা তৈরি করতে, Firebase কনসোল ব্যবহার করুন অথবা Firebase CLI ব্যবহার করে স্থানীয় প্রকল্পের প্রাথমিককরণ চালান। এই কর্মপ্রবাহগুলি একটি নতুন Data Connect পরিষেবা তৈরি করে।
এই প্রবাহগুলি আপনাকে নিম্নলিখিত দিকনির্দেশনা প্রদান করে:
- একটি নতুন ক্লাউড SQL ইনস্ট্যান্স (বিনা খরচে স্তর) সরবরাহ করা
- একটি বিদ্যমান ক্লাউড SQL ইনস্ট্যান্সকে Data Connect সাথে সংযুক্ত করা (ব্লেজ প্ল্যান)
ব্যবহারকারীদের পরিচালনা করুন
Data Connect ব্যবহারকারীর অ্যাক্সেস পরিচালনা করার জন্য এমন সরঞ্জাম সরবরাহ করে যা সর্বনিম্ন সুবিধার নীতি অনুসরণ করে (প্রয়োজনীয় কার্যকারিতা সমর্থন করার জন্য প্রতিটি ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টকে ন্যূনতম প্রয়োজনীয় অনুমতি প্রদান করে) এবং ভূমিকা-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ (RBAC) ধারণা (ডাটাবেস অনুমতি পরিচালনা করার জন্য পূর্বনির্ধারিত ভূমিকা সহ, সুরক্ষা ব্যবস্থাপনাকে সহজ করে)।
আপনার প্রোজেক্টে Data Connect ইনস্ট্যান্স পরিবর্তন করতে পারে এমন ব্যবহারকারী হিসেবে প্রোজেক্ট সদস্যদের যুক্ত করতে, উপযুক্ত পূর্বনির্ধারিত ব্যবহারকারীর ভূমিকা নির্বাচন করতে Firebase কনসোল ব্যবহার করুন।
এই ভূমিকাগুলি আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট (IAM) ব্যবহার করে অনুমতি প্রদান করে। ভূমিকা হল অনুমতিগুলির একটি সংগ্রহ। যখন আপনি কোনও প্রকল্প সদস্যকে একটি ভূমিকা অর্পণ করেন, তখন আপনি সেই প্রকল্প সদস্যকে ভূমিকায় থাকা সমস্ত অনুমতি প্রদান করেন। আরও তথ্য দেখুন:
- ফায়ারবেস আইএএম ভূমিকার সংক্ষিপ্তসার
- Data Connect ভূমিকার বিস্তারিত তালিকা
নির্দিষ্ট কর্মপ্রবাহ সক্ষম করতে ভূমিকা বেছে নিন
IAM ভূমিকাগুলি Firebase CLI কর্মপ্রবাহকে সক্ষম করে যাতে আপনি আপনার Data Connect প্রকল্পগুলি পরিচালনা করতে পারেন।
| CLI কমান্ড, অন্যান্য কর্মপ্রবাহ | ভূমিকা(গুলি) আবশ্যক |
|---|---|
firebase init dataconnect |
|
firebase deploy -–only dataconnect |
|
firebase dataconnect:sql:diff |
|
firebase dataconnect:sql:migrate |
|
firebase dataconnect:sql:grant |
|
Data Connect পরিষেবার কর্মক্ষমতা পর্যবেক্ষণ করুন
পরিষেবার কর্মক্ষমতা বুঝুন
Data Connect পরিষেবা এবং ক্লাউড SQL ফর পোস্টগ্রেএসকিউএল পরিষেবা উভয়ের কর্মক্ষমতা আপনার অভিজ্ঞতাকে প্রভাবিত করতে পারে।
- ক্লাউড এসকিউএল ফর পোস্টগ্রেএসকিউএল পরিষেবার জন্য, কোটা এবং সীমাবদ্ধতা ডকুমেন্টেশনে সাধারণ নির্দেশিকা দেখুন।
Data Connect পরিষেবার জন্য, GraphQL অনুরোধের জন্য কোটা রয়েছে, যা আপনি যে হারে কল করতে এবং কোয়েরিগুলি সম্পাদন করতে পারেন তা প্রভাবিত করে:
- ক্লায়েন্ট অ্যাপ সংযোগকারী থেকে প্রতি মিনিটে প্রতি প্রকল্পের মোট ৬০০০টি অনুরোধের কোটা।
- Firebase Admin SDK এবং REST API থেকে প্রতি মিনিটে মোট ৬০০০টি অনুরোধের কোটা প্রতি প্রকল্পের জন্য।
- প্রতি ব্যবহারকারীর জন্য প্রতি মিনিটে ১২০০টি অনুরোধের কোটা। এখানে, প্রতি ব্যবহারকারীর জন্য সীমাটি একটি IP ঠিকানা দ্বারা শুরু হওয়া অনুরোধের ক্ষেত্রে প্রযোজ্য, তা সে ক্লায়েন্ট অ্যাপ থেকে হোক, Firebase Admin SDK থেকে হোক বা REST API থেকে হোক।
যদি আপনি সেই কোটার সীমা অতিক্রম করেন, তাহলে প্রাসঙ্গিক কোটা সামঞ্জস্য করতে Firebase সহায়তার সাথে যোগাযোগ করুন।
পরিষেবার কর্মক্ষমতা, ব্যবহার এবং বিলিং পর্যবেক্ষণ করুন
আপনি Firebase কনসোলে বিশ্বব্যাপী এবং প্রতি অপারেশন উভয় ক্ষেত্রেই অনুরোধ, ত্রুটি এবং অপারেশন হার পর্যবেক্ষণ করতে পারেন।
ক্লাউড SQL ইনস্ট্যান্স পরিচালনা করুন
বিনামূল্যে ট্রায়ালের সীমাবদ্ধতা
PostgreSQL-এর জন্য নিম্নলিখিত ক্লাউড SQL বৈশিষ্ট্যগুলি 3 মাসের বিনামূল্যের ট্রায়ালে সমর্থিত নয়:
- db-f1-micro থেকে ভিন্ন মেশিন স্তর
- আপনার ইনস্ট্যান্সের রিসোর্স পরিবর্তন করা, যেমন অঞ্চল, স্টোরেজ, মেমরি, সিপিইউ
- ১৫.x ব্যতীত PostgreSQL সংস্করণ
- প্রতিলিপি পড়ুন
- ব্যক্তিগত উদাহরণ আইপি ঠিকানা
- উচ্চ-উপলব্ধতা (মাল্টি-জোন); শুধুমাত্র একক-জোন উদাহরণ সমর্থিত
- এন্টারপ্রাইজ প্লাস সংস্করণ
- স্বয়ংক্রিয় ব্যাকআপ
- স্বয়ংক্রিয় স্টোরেজ বৃদ্ধি।
অস্থায়ী অনবোর্ডিং ডাটাবেসের সীমাবদ্ধতা
যখন আপনি আপনার Firebase প্রজেক্টে Data Connect যোগ করবেন, তখন আপনি আপনার ডেটা মডেল প্রোটোটাইপ করা শুরু করতে পারবেন এবং তাৎক্ষণিকভাবে ডেটা লোড করতে পারবেন, কারণ ডেটা একটি অস্থায়ী ডাটাবেসে সংরক্ষণ করা হবে। মনে রাখবেন যে আপনার স্থায়ী ক্লাউড SQL for PostgreSQL ইনস্ট্যান্সটি প্রভিশন করতে 5 থেকে 20 মিনিট সময় লাগবে। আপনার লোড করা যেকোনো প্রাথমিক ডেটা প্রভিশন হয়ে গেলে স্বয়ংক্রিয়ভাবে আপনার স্থায়ী PostgreSQL ডাটাবেসে স্থানান্তরিত হবে।
এই অস্থায়ী ডাটাবেসটি আপনার স্কিমা এবং CRUD ক্রিয়াকলাপগুলি অন্বেষণ করার জন্য দুর্দান্ত।
যদি আপনি অস্থায়ী ডাটাবেস ব্যবহার করতে না চান, তাহলে আপনার ক্লাউড SQL ইনস্ট্যান্স প্রভিশন করা পর্যন্ত অপেক্ষা করুন।
অস্থায়ী ডাটাবেসটি PostgreSQL ডাটাবেস নয় এবং সমস্ত PostgreSQL বৈশিষ্ট্য প্রদান করে না।
উল্লেখযোগ্য সীমাবদ্ধতাগুলি হল:
- ডাটাবেসের আকার ১ এমবি-র কম হতে হবে
- প্রতি টেবিলের সারির সংখ্যা ১০০০ এর কম হতে হবে
- প্রতি সেকেন্ডে ১টিরও কম কোয়েরি
- পূর্ণ-পাঠ্য অনুসন্ধানের জন্য কোনও সমর্থন নেই
- ভেক্টর এম্বেডিং জেনারেশনের জন্য কোনও সমর্থন নেই
-
@view,@col(dataType)এর মতো কাঁচা SQL বৈশিষ্ট্যগুলির জন্য কোনও সমর্থন নেই।
ক্লাউড SQL ইনস্ট্যান্স পরিচালনা করুন
সাধারণভাবে, আপনি নিম্নলিখিত কর্মপ্রবাহগুলি সম্পাদন করতে Google Cloud কনসোল ব্যবহার করে আপনার Cloud SQL ইনস্ট্যান্সগুলি পরিচালনা করতে পারেন।
- ক্লাউড SQL ইনস্ট্যান্স বন্ধ করুন এবং পুনরায় চালু করুন
- ক্লাউড SQL ডাটাবেস তৈরি এবং মুছে ফেলুন (কিছু ক্ষেত্রে)
- পতাকা দিয়ে PostgreSQL ডাটাবেস ইনস্ট্যান্স শুরু করুন এবং বিভিন্ন এক্সটেনশন ব্যবহার করুন
- Google Cloud কনসোলে ক্লাউড এসকিউএল পর্যবেক্ষণযোগ্যতা বৈশিষ্ট্যগুলির সাহায্যে কর্মক্ষমতা পর্যবেক্ষণ করুন
- IAM, সিক্রেট ম্যানেজার, ডেটা এনক্রিপশন এবং অথ প্রক্সির মতো বৈশিষ্ট্যগুলির সাহায্যে ক্লাউড SQL অ্যাক্সেস এবং নিরাপত্তা পরিচালনা করুন
- ক্লাউড SQL ব্যবহারকারীদের যোগ করুন, মুছুন এবং পরিচালনা করুন।
এই এবং অন্যান্য কর্মপ্রবাহের জন্য, PostgreSQL ডকুমেন্টেশনের জন্য ক্লাউড SQL দেখুন।
PostgreSQL ব্যবহারকারীর ভূমিকা মঞ্জুর করুন
Data Connect ব্যবহারকারীর অ্যাক্সেস পরিচালনা করার জন্য এমন সরঞ্জাম সরবরাহ করে যা সর্বনিম্ন সুবিধার নীতি অনুসরণ করে (প্রয়োজনীয় কার্যকারিতা সমর্থন করার জন্য প্রতিটি ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টকে ন্যূনতম প্রয়োজনীয় অনুমতি প্রদান করে) এবং ভূমিকা-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ (RBAC) ধারণা (ডাটাবেস অনুমতি পরিচালনা করার জন্য পূর্বনির্ধারিত ভূমিকা সহ, সুরক্ষা ব্যবস্থাপনাকে সহজ করে)।
কিছু ক্ষেত্রে, আপনি আপনার পছন্দের SQL ক্লায়েন্টের মাধ্যমে সরাসরি Data Connect -managed Cloud SQL ডাটাবেসের সাথে সংযোগ স্থাপন করতে চাইতে পারেন, উদাহরণস্বরূপ, Cloud Run , Cloud Functions অথবা GKE ব্যবহার করে।
এই ধরনের সংযোগ সক্রিয় করতে, আপনাকে নিম্নলিখিত উপায়ে SQL অনুমতি প্রদান করতে হবে:
- Google Cloud কনসোল থেকে অথবা gcloud CLI ব্যবহার করে, ইনস্ট্যান্সের সাথে সংযোগ স্থাপনের প্রয়োজন এমন ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টকে
roles/cloudsql.clientIAM ভূমিকা বরাদ্দ করা। - Firebase CLI ব্যবহার করে প্রয়োজনীয় PostgreSQL ভূমিকা প্রদান করা
ক্লাউড SQL IAM ভূমিকা নির্ধারণ করুন
IAM role roles/cloudsql.client বরাদ্দ করার জন্য PostgreSQL-এর জন্য ক্লাউড SQL-এর সাথে কাজ করার তথ্যের জন্য, Roles and permissions দেখুন।
PostgreSQL ভূমিকা প্রদান করুন
Firebase CLI ব্যবহার করে, আপনি firebase dataconnect:sql:grant কমান্ডের সাহায্যে আপনার প্রকল্পের সাথে সম্পর্কিত ব্যবহারকারী বা পরিষেবা অ্যাকাউন্টগুলিকে পূর্বনির্ধারিত PostgreSQL ভূমিকা প্রদান করতে পারেন।
উদাহরণস্বরূপ, লেখকের ভূমিকা প্রদানের জন্য, CLI তে এই কমান্ডটি চালান:
firebase dataconnect:sql:grant --role writerবিস্তারিত জানার জন্য, CLI রেফারেন্স গাইড দেখুন।
PostgreSQL ডাটাবেসের জন্য বিদ্যমান ক্লাউড SQL একীভূত করুন
ডিফল্ট ডাটাবেস প্রভিশনিং এবং ম্যানেজমেন্ট ফ্লো ধরে নেয় যে আপনার প্রকল্পটি একটি নতুন (গ্রিনফিল্ড) ডাটাবেস ব্যবহার করে, এবং যখন আপনি firebase deploy ব্যবহার করেন, তখন Data Connect ডাটাবেস স্কিমা পরিবর্তনগুলি প্রদর্শন করবে এবং আপনার অনুমোদনের পরে যেকোনো মাইগ্রেশন সম্পাদন করবে।
বিদ্যমান (ব্রাউনফিল্ড) ডাটাবেসের ক্ষেত্রে, স্কিমা পরিচালনার জন্য আপনার নিজস্ব ওয়ার্কফ্লো থাকতে পারে এবং মাইগ্রেশনের জন্য Data Connect টুলিং ব্যবহার করতে পারবেন না, তবুও মোবাইল এবং ওয়েবের জন্য এর SDK জেনারেশন, কোয়েরি-ভিত্তিক অনুমোদন, ক্লায়েন্ট সংযোগ ব্যবস্থাপনা এবং আরও অনেক কিছুর সুবিধা নিতে একটি Data Connect প্রকল্পে আপনার ডাটাবেস ব্যবহার করতে চান।
এই বিভাগটি পরবর্তী ক্ষেত্রে নির্দেশিকা প্রদান করে: Data Connect সাথে বিদ্যমান ডাটাবেসগুলিকে একীভূত করা।
একটি বিদ্যমান ডাটাবেসকে একটি Data Connect প্রকল্পে একীভূত করুন
একটি বিদ্যমান ডাটাবেস সংহত করার জন্য কর্মপ্রণালীতে সাধারণত এই পদক্ষেপগুলি অন্তর্ভুক্ত থাকে:
- Firebase কনসোলে Data Connect প্রজেক্ট সেটআপের সময়, ইনস্ট্যান্স এবং ডাটাবেস নির্বাচন করুন।
Firebase CLI ব্যবহার করে,
firebase dataconnect:sql:setupকমান্ডটি চালান এবং Data Connect SQL মাইগ্রেশন পরিচালনা করার অনুমতি দেওয়ার বিকল্পটি প্রত্যাখ্যান করুন।আপনার কাস্টম টুলিং দ্বারা পরিচালিত না হয়ে আপনার ডাটাবেস স্কিমার পরিবর্তনগুলি প্রতিরোধ করার জন্য,
setupকমান্ডটি উপযুক্ত পাঠক এবং লেখকের ভূমিকা নির্ধারণ করবে, কিন্তুownerভূমিকা নয়।setupকমান্ড এবং PostgreSQL ভূমিকা সম্পর্কে আরও তথ্য CLI রেফারেন্স গাইডে পাওয়া যাবে।আপনার ডাটাবেস স্কিমার সাথে মেলে এমন একটি Data Connect গ্রাফকিউএল স্কিমা লিখুন।
আপনার GraphQL স্কিমা আপনার PostgreSQL স্কিমার সাথে সামঞ্জস্যপূর্ণ হলেই আপনি আপনার GraphQL স্কিমা, কোয়েরি এবং মিউটেশন স্থাপন করতে পারবেন।
উভয় স্কিমা সারিবদ্ধকরণ সহজ করার জন্য, আমরা
firebase dataconnect:sql:diffকমান্ড প্রদান করি, যা আপনাকে আপনার ডাটাবেস স্থানান্তরের জন্য প্রয়োজনীয় SQL স্টেটমেন্ট প্রদান করবে। আপনি এটি ব্যবহার করে আপনার বিদ্যমান ডাটাবেস স্কিমার সাথে মিল রেখে আপনার GraphQL স্কিমা পুনরাবৃত্তিমূলকভাবে পরিমার্জন করতে পারেন।সামনের দিকে, আপনি আপনার স্থানীয় ডেভেলপমেন্ট পরিবেশে আপনার GraphQL স্কিমা, কোয়েরি এবং মিউটেশন দ্রুত পুনরাবৃত্তি করতে পারবেন। তারপর, সন্তুষ্ট হলে, আপনি
firebase dataconnect:sql:diffব্যবহার করে SQL মাইগ্রেশন স্টেটমেন্ট পেতে পারেন যা আপনি আপনার কাস্টম টুলিং এবং ফ্লো ব্যবহার করে PostgreSQL এ প্রয়োগ করতে পারেন।বিকল্পভাবে, আপনি প্রথমে আপনার PostgreSQL ডাটাবেসে সরাসরি পরিবর্তন করতে পারেন, তারপর সেগুলিকে আপনার GraphQL স্কিমায় ফেরত পাঠানোর চেষ্টা করতে পারেন। আমরা GraphQL-first পদ্ধতির সুপারিশ করি, কারণ এমন কিছু ক্ষেত্রে থাকতে পারে যেখানে স্কিমা পরিবর্তনগুলি সমর্থিত নয়। এছাড়াও, যদি আপনি এমন পরিবর্তনগুলি স্থাপন করেন যা আপনার PostgreSQL স্কিমাকে স্থাপন করা সংযোগকারী কোয়েরি বা মিউটেশনের সাথে অসঙ্গতিপূর্ণ করে তোলে, তাহলে সেই সংযোগকারীগুলি কাজ করা বন্ধ করে দিতে পারে বা খারাপ আচরণ করতে পারে।