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

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

  • Cloud Firestore হল প্রস্তাবিত এন্টারপ্রাইজ-গ্রেড JSON-সামঞ্জস্যপূর্ণ ডকুমেন্ট ডাটাবেস, যা 250,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 Firestore এবং Realtime Database সিঙ্ক করে উপস্থিতির জন্য Realtime Database সমর্থন তৈরি করতে পারেন Cloud Functions ব্যবহার করে Cloud Firestore উপস্থিতি দেখুন। উপস্থিতি সমর্থিত।

প্রশ্ন করা

অনুসন্ধানের মাধ্যমে ডাটাবেস থেকে ডেটা পুনরুদ্ধার, বাছাই এবং ফিল্টার করুন।

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

লেখেন এবং লেনদেন করেন

Cloud Firestore [ পছন্দের] Realtime Database
উন্নত লেখা এবং লেনদেন অপারেশন.
  • সেট এবং আপডেট অপারেশনের পাশাপাশি অ্যারে এবং নিউমেরিক অপারেটরগুলির মতো উন্নত রূপান্তরের মাধ্যমে ডেটা অপারেশনগুলি লিখুন
  • লেনদেন পরমাণুভাবে ডাটাবেসের যেকোনো অংশ থেকে ডেটা পড়তে এবং লিখতে পারে।
মৌলিক লেখা এবং লেনদেন অপারেশন.
  • সেট এবং আপডেট অপারেশনের মাধ্যমে ডেটা লিখুন
  • লেনদেন একটি নির্দিষ্ট ডেটা সাবট্রিতে পারমাণবিক হয়।

নির্ভরযোগ্যতা এবং কর্মক্ষমতা

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

আপটাইম

Cloud Firestore [ পছন্দের] Realtime Database
অত্যন্ত উচ্চ আপটাইম কর্মক্ষমতা.
  • সাধারণ আপটাইম কর্মক্ষমতা 99.999%।
  • যদি প্রাপ্যতা অত্যন্ত গুরুত্বপূর্ণ হয়, উদাহরণস্বরূপ ইকমার্স অ্যাপে, Cloud Firestore ব্যবহার করুন।
উচ্চ আপটাইম কর্মক্ষমতা.
  • সাধারণ আপটাইম কর্মক্ষমতা 99.95%।

পরিমাপযোগ্যতা

Cloud Firestore [ পছন্দের] Realtime Database
স্কেলিং স্বয়ংক্রিয়।
  • স্কেল সম্পূর্ণরূপে স্বয়ংক্রিয়ভাবে. স্কেলিং সীমা প্রায় 1 মিলিয়ন সমবর্তী সংযোগ এবং 10,000 রাইট/সেকেন্ড। আমরা ভবিষ্যতে এই সীমা বাড়ানোর পরিকল্পনা করছি।
  • স্বতন্ত্র নথি বা সূচীতে লেখার হারের সীমা রয়েছে।
স্কেলিং এর জন্য শার্ডিং প্রয়োজন।
  • একটি একক ডাটাবেসে প্রায় 200,000 সমবর্তী সংযোগ এবং 1,000 রাইট/সেকেন্ডে স্কেল করুন। এর বাইরে স্কেল করার জন্য একাধিক ডাটাবেস জুড়ে আপনার ডেটা ভাগ করা প্রয়োজন।
  • ডেটার স্বতন্ত্র টুকরোগুলিতে লেখার হারে কোনও স্থানীয় সীমা নেই।

নিরাপত্তা

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 ব্যবহার করা

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

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

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

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