Mobile App Development Firebase Firestore এবং Realtime Database ব্যবহার গাইড ও নোট

414

Firebase একটি শক্তিশালী ব্যাকএন্ড সেবা প্রদানকারী প্ল্যাটফর্ম, যা ডেভেলপারদের জন্য Firestore এবং Realtime Database এর মতো শক্তিশালী ডেটাবেস সেবা প্রদান করে। Firebase Firestore এবং Firebase Realtime Database উভয়ই NoSQL ডেটাবেস, তবে তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে। এই দুটি ডেটাবেস Firebase অ্যাপ্লিকেশন ডেভেলপমেন্টে ডেটা সংরক্ষণ, সিঙ্ক্রোনাইজেশন এবং রিয়েল-টাইম আপডেটের জন্য ব্যবহৃত হয়।

এখানে Firebase Firestore এবং Firebase Realtime Database ব্যবহার করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হয়েছে।


১. Firebase Firestore

Firestore হল Firebase এর নতুন ডেটাবেস সিস্টেম, যা একটি স্কেলেবল, নমনীয়, এবং রিয়েল-টাইম ডেটাবেস। এটি ডেটাকে ডকুমেন্টস এবং কালেকশনের মাধ্যমে সংরক্ষণ করে, যা সম্পর্কিত ডেটাকে সংগঠিত করতে সাহায্য করে।

Firestore এর বৈশিষ্ট্য:

  • ডকুমেন্ট এবং কালেকশন ভিত্তিক: ডেটা ডকুমেন্ট আকারে সংরক্ষণ করা হয়, এবং প্রতিটি ডকুমেন্ট একটি কালেকশনের অংশ হতে পারে।
  • রিয়েল-টাইম ডেটা সিঙ্ক্রোনাইজেশন: Firestore এর মাধ্যমে ডেটা রিয়েল-টাইমে সিঙ্ক্রোনাইজ করা যায়, অর্থাৎ, ডেটা পরিবর্তন হলে সব ক্লায়েন্টদের জন্য তা তৎক্ষণাৎ দৃশ্যমান হবে।
  • অ্যাডভান্সড কুয়েরি সাপোর্ট: Firestore জটিল কুয়েরি সাপোর্ট করে, যেমন বিভিন্ন ক্ষেত্রের উপর ফিল্টারিং, সাজানো, এবং সীমাবদ্ধতা প্রয়োগ।

Firestore ইন্টিগ্রেশন প্রক্রিয়া

ধাপ ১: Firebase ইনিশিয়ালাইজেশন

প্রথমে, Firebase প্রকল্প তৈরি করতে Firebase কনসোল (https://console.firebase.google.com/) এ যান এবং একটি নতুন প্রকল্প তৈরি করুন। তারপর আপনার অ্যাপ্লিকেশনে Firebase SDK ইন্টিগ্রেট করুন।

Firebase SDK ইনস্টল করতে, নিচের কমান্ডটি চালান (যদি আপনি JavaScript বা Node.js ব্যবহার করেন):

npm install firebase

ধাপ ২: Firebase Firestore কনফিগারেশন

Firestore ব্যবহার করতে Firebase কনফিগারেশনটি ইনিশিয়ালাইজ করুন:

import firebase from 'firebase/app';
import 'firebase/firestore';

const firebaseConfig = {
  apiKey: "your-api-key",
  authDomain: "your-auth-domain",
  projectId: "your-project-id",
  storageBucket: "your-storage-bucket",
  messagingSenderId: "your-sender-id",
  appId: "your-app-id",
};

firebase.initializeApp(firebaseConfig);

const db = firebase.firestore();

ধাপ ৩: Firestore এ ডেটা লেখা

Firestore এ ডেটা লেখার জন্য set() বা add() মেথড ব্যবহার করা হয়।

// Firestore এ একটি নতুন ডকুমেন্ট যোগ করা
const userRef = db.collection('users').doc('user1');
userRef.set({
  name: 'John Doe',
  age: 30,
  city: 'New York'
});

ধাপ ৪: Firestore থেকে ডেটা পড়া

Firestore থেকে ডেটা পড়ার জন্য get() মেথড ব্যবহার করতে পারেন।

const userRef = db.collection('users').doc('user1');
userRef.get().then((doc) => {
  if (doc.exists) {
    console.log("Document data:", doc.data());
  } else {
    console.log("No such document!");
  }
});

ধাপ ৫: Firestore এ রিয়েল-টাইম ডেটা সিঙ্ক্রোনাইজেশন

Firestore রিয়েল-টাইম আপডেট সাপোর্ট করে। onSnapshot() মেথডের মাধ্যমে ডেটা সঠিক সময়ে আপডেট করা যায়।

db.collection("users").onSnapshot((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    console.log(doc.id, " => ", doc.data());
  });
});

২. Firebase Realtime Database

Realtime Database হলো Firebase এর প্রথম ডেটাবেস সিস্টেম, যা JSON ভিত্তিক ডেটা সংরক্ষণ করে এবং রিয়েল-টাইমে ডেটা সিঙ্ক্রোনাইজ করে।

Realtime Database এর বৈশিষ্ট্য:

  • JSON ভিত্তিক ডেটা: ডেটা একটি সাধারণ JSON কাঠামোতে সংরক্ষণ করা হয়।
  • রিয়েল-টাইম ডেটা সিঙ্ক্রোনাইজেশন: ডেটা পরিবর্তন হলে এটি তৎক্ষণাৎ অ্যাপ্লিকেশনে আপডেট হয়।
  • পাবলিক এবং প্রাইভেট রুলস: Firebase Realtime Database গুলি সাধারণত পাবলিক বা প্রাইভেট অ্যাক্সেস রুলস দ্বারা নিয়ন্ত্রিত হয়।

Realtime Database ইন্টিগ্রেশন প্রক্রিয়া

ধাপ ১: Firebase কনফিগারেশন এবং ইনিশিয়ালাইজেশন

Firebase Realtime Database কনফিগারেশন প্রক্রিয়া Firestore এর মতোই। প্রথমে Firebase SDK ইন্টিগ্রেট করুন এবং Firebase কনফিগারেশন সেট আপ করুন।

import firebase from 'firebase/app';
import 'firebase/database';

const firebaseConfig = {
  apiKey: "your-api-key",
  authDomain: "your-auth-domain",
  databaseURL: "https://your-database-name.firebaseio.com",
  projectId: "your-project-id",
  storageBucket: "your-storage-bucket",
  messagingSenderId: "your-sender-id",
  appId: "your-app-id",
};

firebase.initializeApp(firebaseConfig);

const db = firebase.database();

ধাপ ২: Realtime Database এ ডেটা লেখা

Realtime Database এ ডেটা লেখার জন্য set() মেথড ব্যবহার করা হয়।

// Realtime Database এ ডেটা লেখা
const usersRef = db.ref('users');
usersRef.child('user1').set({
  name: 'John Doe',
  age: 30,
  city: 'New York'
});

ধাপ ৩: Realtime Database থেকে ডেটা পড়া

Realtime Database থেকে ডেটা পড়ার জন্য once() বা on() মেথড ব্যবহার করা হয়।

// Realtime Database থেকে ডেটা পড়া
const userRef = db.ref('users/user1');
userRef.once('value').then((snapshot) => {
  const data = snapshot.val();
  console.log(data);
});

ধাপ ৪: Realtime Database এ রিয়েল-টাইম ডেটা সিঙ্ক্রোনাইজেশন

Realtime Database রিয়েল-টাইম আপডেট সাপোর্ট করে। on() মেথড ব্যবহার করে রিয়েল-টাইম ডেটা লিসেন করা যায়।

// Realtime Database এ রিয়েল-টাইম ডেটা সিঙ্ক্রোনাইজেশন
db.ref('users').on('value', (snapshot) => {
  const data = snapshot.val();
  console.log(data);
});

৩. Firestore বনাম Realtime Database

বৈশিষ্ট্যFirestoreRealtime Database
ডেটা কাঠামোডকুমেন্ট এবং কালেকশন ভিত্তিকJSON ভিত্তিক
স্কেলেবিলিটিউচ্চ স্কেলেবলকিছু ক্ষেত্রে স্কেলেবিলিটি সীমিত
কুয়েরি ক্ষমতাজটিল কুয়েরি সমর্থন করেমৌলিক কুয়েরি সমর্থন করে
রিয়েল-টাইম সিঙ্ক্রোনাইজেশনরিয়েল-টাইম সিঙ্ক্রোনাইজেশন সমর্থন করেরিয়েল-টাইম সিঙ্ক্রোনাইজেশন সমর্থন করে
ডেটা শার্ডিংশার্ডিং সমর্থন করেশার্ডিং কম সমর্থন

উপসংহার

  • Firestore বেশি স্কেলেবল এবং জটিল কুয়েরি সাপোর্ট করে, তবে এটি কিছুটা বেশি ব্যয়বহুল হতে পারে।
  • Realtime Database ত্বরিত রিয়েল-টাইম সিঙ্ক্রোনাইজেশন এবং সহজ JSON ভিত্তিক ডেটা স্টোরেজ প্রদান করে, তবে এটি বড় অ্যাপ্লিকেশনগুলোর জন্য কিছুটা সীমিত হতে পারে।

আপনি আপনার অ্যাপ্লিকেশনের প্রয়োজনের উপর ভিত্তি করে Firebase Firestore বা Firebase Realtime Database বেছে নিতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...