একটি ডেটাবেস বেছে নিন: Cloud Firestore বা Realtime Database

Firebase দুটি ক্লাউড-ভিত্তিক, ক্লায়েন্ট-অ্যাক্সেসযোগ্য ডকুমেন্ট ডেটাবেস অফার করে। আমরা নতুন গ্রাহকদের Cloud Firestore দিয়ে শুরু করার সাজেশন দিই:

  • Cloud Firestore হল সাজেস্ট করা এন্টারপ্রাইজ-গ্রেড JSON-মানানসই ডকুমেন্ট ডেটাবেস, যা ৬,০০,০০০-এর বেশি ডেভেলপার বিশ্বাস করেন। এটি এমন অ্যাপ্লিকেশনের জন্য উপযুক্ত যেখানে রিচ ডেটা মডেলের জন্য কোয়েরি করার ক্ষমতা, স্কেলেবিলিটি এবং উচ্চ মাত্রায় উপলভ্যতা প্রয়োজন। এছাড়াও, এটি কম লেটেন্সি ক্লায়েন্ট সিঙ্ক ও অফলাইন ডেটা অ্যাক্সেস অফার করে।

  • Realtime Database হল ক্লাসিক Firebase JSON ডেটাবেস। এটি এমন অ্যাপ্লিকেশনের জন্য উপযুক্ত যেখানে সহজ ডেটা মডেলের সাথে সহজ লুকআপ এবং সীমিত স্কেলেবিলিটি সহ কম-লেটেন্সি সিঙ্ক করার প্রয়োজন হয়।

অন্য কোন কোন গুরুত্বপূর্ণ বিষয় বিবেচনা করতে হবে?

আগের গুরুত্বপূর্ণ বিষয়গুলি বিবেচনা করার পরে, আপনি হয়ত ডেটাবেস বেছে নিতে প্রস্তুত। আপনি যদি এখনও সুবিধা ও অসুবিধাগুলি বিবেচনা করে দেখেন, তাহলে এই বিভাগে Cloud Firestore এবং Realtime Database-এর মধ্যে অন্যান্য পার্থক্যগুলি কভার করা হয়েছে।

ডেটা মডেল

Realtime Database এবং Cloud Firestore, দুটিই NoSQL ডেটাবেস।

Cloud Firestore [ পছন্দের ] Realtime Database
ডকুমেন্টের সংগ্রহ হিসেবে ডেটা স্টোর করে।
  • সহজ ডেটা ডকুমেন্টে স্টোর করা সহজ, যা JSON-এর সাথে খুব মিল।
  • ডকুমেন্টের মধ্যে সাবকালেকশন ব্যবহার করে, জটিল, শ্রেণিবদ্ধ ডেটা স্কেলে সংগঠিত করা সহজ।
  • কম ডিনর্মালাইজেশন ও ডেটা ফ্ল্যাটেনিং প্রয়োজন হয়।

Cloud Firestore ডেটা মডেল সম্পর্কে আরও জানুন।

একটি বড় JSON ট্রি হিসেবে ডেটা স্টোর করে।
  • সহজ ডেটা স্টোর করা খুব সহজ।
  • জটিল, হায়ারার্কিক্যাল ডেটা স্কেলে সাজানো কঠিন।

Realtime Database ডেটা মডেল সম্পর্কে আরও জানুন।

রিয়েল-টাইম ও অফলাইন সহায়তা

দুটিতেই মোবাইল-ফার্স্ট, রিয়েল-টাইম SDK আছে এবং অফলাইন-রেডি অ্যাপের জন্য দুটিতেই লোকাল ডেটা স্টোরেজ কাজ করে।

Cloud Firestore [ পছন্দের ] Realtime Database
Apple, Android এবং ওয়েব ক্লায়েন্টের জন্য অফলাইন সহায়তা। Apple এবং Android ক্লায়েন্টের জন্য অফলাইন সহায়তা।

উপস্থিতি

কোনও ক্লায়েন্ট অনলাইন বা অফলাইন আছে কিনা তা জানা দরকারি হতে পারে। Firebase Realtime Database ক্লায়েন্ট কানেকশন স্ট্যাটাস রেকর্ড করতে পারে এবং ক্লায়েন্টের কানেকশন স্ট্যাটাস পরিবর্তন হলে প্রতিবার আপডেট প্রদান করে।

Cloud Firestore [ পছন্দসই ] Realtime Database
নেটিভভাবে কাজ করে না। Cloud Functions ব্যবহার করে Cloud Firestore ও Realtime Database সিঙ্ক করার মাধ্যমে আপনি Realtime Database-এর উপস্থিতির জন্য সহায়তা তৈরি করতে পারবেন Cloud Firestore-এ উপস্থিতি তৈরি করুন দেখুন। উপস্থিতি কাজ করে।

কোয়েরি করা হচ্ছে

কোয়েরির মাধ্যমে যেকোনও ডেটাবেস থেকে ডেটা ফিরিয়ে আনা, সাজানো ও ফিল্টার করা।

Cloud Firestore [ পছন্দসই ] Realtime Database
কম্পাউন্ড সর্টিং ও ফিল্টারিং সহ ইন্ডেক্স করা কোয়েরি।
  • আপনি ফিল্টার চেইন করতে পারেন এবং একটি কোয়েরিতে প্রপার্টিতে ফিল্টারিং এবং সর্টিং একত্রিত করতে পারেন।
  • কোয়েরি অগভীর: এগুলি শুধুমাত্র নির্দিষ্ট কালেকশন বা কালেকশন গ্রুপের ডকুমেন্ট ফেরত দেয় এবং সাবকালেকশন ডেটা ফেরত দেয় না।
  • কোয়েরি সবসময় সম্পূর্ণ ডকুমেন্ট রিটার্ন করবে।
  • কোয়েরি ডিফল্ট হিসেবে ইন্ডেক্স করা হয়: কোয়েরির পারফর্ম্যান্স আপনার ডেটাসেটের নয়, বরং ফলাফল সেটের সাইজের সমানুপাতিক হয়।
সীমিত সর্টিং ও ফিল্টারিং ফিচার সহ গভীর কোয়েরি।
  • কোয়েরি কোনও প্রপার্টিতে বা ফিল্টার সাজাতে পারে, তবে দুটিই নয়।
  • ডিফল্ট হিসেবে কোয়েরি গভীর হয়: এগুলি সবসময় সম্পূর্ণ সাবট্রি ফিরিয়ে দেয়।
  • কোয়েরি যেকোনও গ্র্যানুলারিটিতে ডেটা অ্যাক্সেস করতে পারে, এমনকি JSON ট্রিতে স্বতন্ত্র লিফ-নোড ভ্যালু পর্যন্ত।
  • কোয়েরির জন্য কোনও ইন্ডেক্সের প্রয়োজন হয় না; তবে আপনার ডেটাসেট যত বড় হয়, কিছু কোয়েরির পারফর্ম্যান্স তত খারাপ হয়।

রাইট ও ট্রানজ্যাকশন

Cloud Firestore [ পছন্দের ] Realtime Database
উন্নত রাইট ও ট্রানজ্যাকশন অপারেশন।
  • সেট ও আপডেট অপারেশনের মাধ্যমে ডেটা অপারেশন লিখুন এবং অ্যারে ও নিউমেরিক অপারেটরের মতো উন্নত ট্রান্সফর্মেশন।
  • ট্রানজ্যাকশন ডেটাবেসের যেকোনও অংশ থেকে অটোমেটিক ডেটা পড়তে ও লিখতে পারে।
বেসিক রাইট ও ট্রানজ্যাকশন অপারেশন।

নির্ভরযোগ্যতা ও পারফর্ম্যান্স

Cloud Firestore [ পছন্দসই ] Realtime Database
Cloud Firestore হল একটি আঞ্চলিক এবং মাল্টি-রিজিয়ন সমাধান যা অটোমেটিক স্কেল করে।
  • একটি কম-লেটেন্সি সমাধান, যার সাধারণ প্রতিক্রিয়া সময় ৩০ ms-এর বেশি নয়।
  • বিভিন্ন অঞ্চলে একাধিক ডেটা সেন্টার জুড়ে আপনার ডেটা রাখে, যা বিশ্বব্যাপী স্কেলেবিলিটি এবং শক্তিশালী নির্ভরযোগ্যতা নিশ্চিত করে।
  • বিশ্বজুড়ে আঞ্চলিক বা মাল্টি-রিজিওনাল কনফিগারেশনে উপলভ্য।
Cloud Firestore-এর পারফর্ম্যান্স ও নির্ভরযোগ্যতা সংক্রান্ত বৈশিষ্ট্য সম্পর্কে আরও জানতে পরিষেবা লেভেল চুক্তি পড়ুন।
Realtime Database হল একটি আঞ্চলিক সমাধান।
  • আঞ্চলিক কনফিগারেশনে উপলভ্য। ডেটাবেস কোনও অঞ্চলের মধ্যে জোনাল উপলভ্যতার মধ্যে সীমাবদ্ধ।
  • অত্যন্ত কম লেটেন্সি, সাধারণত ১০ মিলিসেকেন্ডের বেশি সময় লাগে না। ঘন ঘন স্টেট-সিঙ্ক করার জন্য এটি আদর্শ বিকল্প।
Realtime Database-এর পারফর্ম্যান্স ও নির্ভরযোগ্যতা সংক্রান্ত বৈশিষ্ট্য সম্পর্কে আরও জানতে পরিষেবা লেভেল চুক্তি পড়ুন।

আপটাইম

Cloud Firestore [ পছন্দসই ] Realtime Database
অত্যন্ত বেশি আপটাইম পারফর্ম্যান্স।
  • সাধারণত ৯৯.৯৯৯% আপটাইম পারফর্ম্যান্স।
  • যদি উপলভ্যতা অত্যন্ত গুরুত্বপূর্ণ হয়, যেমন ই-কমার্স অ্যাপে, Cloud Firestore ব্যবহার করুন।
উচ্চ আপটাইম পারফর্ম্যান্স।
  • সাধারণত ৯৯.৯৫% আপটাইম পারফর্ম্যান্স।

স্কেলেবিলিটি

Cloud Firestore [ পছন্দসই ] Realtime Database
স্কেলিং অটোমেটিক হয়।
  • সম্পূর্ণ অটোমেটিক স্কেল করে। একসাথে একাধিক কানেকশন বা সামগ্রিক ডেটাবেস রাইট/সেকেন্ড রেটের উপর কোনও সীমা নেই।
  • আলাদা আলাদা ডকুমেন্ট বা ইনডেক্সে লেখার রেটের উপর সীমা আছে।
স্কেলিংয়ের জন্য শার্ডিং প্রয়োজন।
  • একটি ডেটাবেসে প্রায় ২০০,০০০টি কনকারেন্ট কানেকশন এবং ১,০০০টি রাইট/সেকেন্ডে স্কেল করুন। এর থেকে বেশি স্কেল করতে হলে, একাধিক ডেটাবেস জুড়ে আপনার ডেটা শার্ডিং করতে হবে।
  • ডেটার আলাদা আলাদা অংশের রাইট রেটের উপর কোনও স্থানীয় সীমা নেই।

নিরাপত্তা

Cloud Firestore [ পছন্দের ] Realtime Database
নন-ক্যাসকেডিং নিয়ম যা অনুমোদন ও যাচাইকরণকে একত্রিত করে।
  • Cloud Firestore Security Rules-এর মাধ্যমে সুরক্ষিত মোবাইল SDK থেকে পড়ে ও লেখে।
  • পরিচয় ও অ্যাক্সেস ম্যানেজমেন্ট (IAM)-এর মাধ্যমে সুরক্ষিত সার্ভার SDK থেকে রিড ও রাইট করে।
  • আপনি ওয়াইল্ডকার্ড ব্যবহার না করলে নিয়ম ক্যাসকেড হয় না।
  • নিয়ম কোয়েরিকে সীমাবদ্ধ করতে পারে: কোনও কোয়েরির ফলাফলে যদি এমন ডেটা থাকে যা ব্যবহারকারী অ্যাক্সেস করতে পারবেন না, তাহলে সম্পূর্ণ কোয়েরি ব্যর্থ হয়।
ক্যাসকেডিং রুল ল্যাঙ্গুয়েজ যা অনুমোদন ও যাচাইকরণকে আলাদা করে।
  • Realtime Database Security Rules-এর মাধ্যমে সুরক্ষিত মোবাইল SDK থেকে রিড ও রাইট করে।
  • নিয়ম ক্যাসকেড রিড ও রাইট করুন।
  • আপনি validate নিয়ম ব্যবহার করে আলাদাভাবে ডেটা যাচাই করেন।

মূল্য

দুটি সমাধানই Spark এবং Blaze প্রাইসিং প্ল্যানে উপলভ্য।

Cloud Firestore [ পছন্দসই ] Realtime Database
মূলত আপনার ডেটাবেসে করা অপারেশন (পড়া, লেখা, মুছে ফেলা) এবং কম রেটে ব্যান্ডউইথ ও স্টোরেজের জন্য চার্জ করা হয়।

Cloud Firestore-এ মাসিক বাজেট ও সতর্কতা ফিচার আছে যাতে আপনি নিজের সাধ্যের বেশি খরচ না করেন।

Cloud Firestore-এর দামের প্ল্যান সম্পর্কে আরও জানুন।

শুধুমাত্র ব্যান্ডউইথ ও স্টোরেজের জন্য চার্জ করা হয়, তবে বেশি হারে।

Realtime Database-এর দামের প্ল্যান সম্পর্কে আরও জানুন।

Cloud Firestore ও Realtime Database, দুটি ভাষাতেই ব্যবহার করুন

আপনি একই Firebase অ্যাপ বা প্রোজেক্টের মধ্যে দুটি ডেটাবেসই ব্যবহার করতে পারবেন। দুটি NoSQL ডেটাবেসই একই ধরনের ডেটা স্টোর করতে পারে এবং ক্লায়েন্ট লাইব্রেরি একই পদ্ধতিতে কাজ করে। আপনি যদি আপনার অ্যাপে দুটি ডেটাবেসই ব্যবহার করার সিদ্ধান্ত নেন, তাহলে আগে উল্লেখ করা পার্থক্যগুলি মনে রাখবেন।

Realtime Database এবং Cloud Firestore-এ উপলভ্য ফিচার সম্পর্কে আরও জানুন।

ডেটাবেস বেছে নেওয়ার জন্য রেডি?

আশা করি, এই তুলনা আপনাকে Firebase ডেটাবেস সমাধান বেছে নিতে সাহায্য করেছে। এখন আপনি Firebase প্রোজেক্টে কীভাবে ডেটাবেস যোগ করতে হয় তা জানতে পারবেন।