একটি ডাটাবেস চয়ন করুন: ক্লাউড ফায়ারস্টোর বা রিয়েলটাইম ডেটাবেস

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

  • Cloud Firestore হল প্রস্তাবিত এন্টারপ্রাইজ-গ্রেড JSON-সামঞ্জস্যপূর্ণ ডকুমেন্ট ডাটাবেস, যা 600,000 এরও বেশি ডেভেলপারদের দ্বারা বিশ্বস্ত। এটি এমন অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত যেখানে সমৃদ্ধ ডেটা মডেল রয়েছে যার জন্য কোয়েরিবিলিটি, স্কেলেবিলিটি এবং উচ্চ প্রাপ্যতা প্রয়োজন। এটি কম ল্যাটেন্সি ক্লায়েন্ট সিঙ্ক্রোনাইজেশন এবং অফলাইন ডেটা অ্যাক্সেসও অফার করে।

  • Realtime Database হল ক্লাসিক ফায়ারবেস 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
অ্যাপল, অ্যান্ড্রয়েড এবং ওয়েব ক্লায়েন্টদের জন্য অফলাইন সমর্থন। অ্যাপল এবং অ্যান্ড্রয়েড ক্লায়েন্টদের জন্য অফলাইন সমর্থন।

উপস্থিতি

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

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

উভয় সমাধানই স্পার্ক এবং ব্লেজ মূল্য পরিকল্পনায় উপলব্ধ।

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

Cloud Firestore App Engine প্রকল্পগুলির জন্য দৈনিক ব্যয়ের সীমা সমর্থন করে, যাতে আপনি আপনার স্বাচ্ছন্দ্যের চেয়ে বেশি খরচ না করেন।

Cloud Firestore মূল্য পরিকল্পনা সম্পর্কে আরও পড়ুন।

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

Realtime Database মূল্য পরিকল্পনা সম্পর্কে আরও পড়ুন।

Cloud Firestore এবং Realtime Database ব্যবহার করে

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

Realtime Database এবং Cloud Firestore উভয়ের বৈশিষ্ট্য সম্পর্কে আরও জানুন।

একটি ডাটাবেস বেছে নিতে প্রস্তুত?

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