ওয়েব ক্লায়েন্টদের মধ্যে ডেটা সিঙ্কে রাখার জন্য ফায়ারস্টোর একটি ভালো স্কেলেবল ডাটাবেস সমাধান।
অনেক অ্যাপের জন্য, ফায়ারস্টোরের পরিচালিত অফলাইন সহায়তা বিশেষভাবে গুরুত্বপূর্ণ, যা আপনাকে এমন প্রতিক্রিয়াশীল অ্যাপ্লিকেশন তৈরি করতে দেয় যা নেটওয়ার্ক ল্যাটেন্সি বা ইন্টারনেট সংযোগ নির্বিশেষে কাজ করে। কিন্তু বৈশিষ্ট্য সমৃদ্ধ SDK গুলির জন্য একটি বিশাল মূল্য আসে। যেসব অ্যাপের জন্য শুধুমাত্র মৌলিক তৈরি, পড়া, আপডেট এবং মুছে ফেলার ক্রিয়াকলাপ ব্যবহার করতে হয় এবং পরিচালিত অফলাইন সহায়তার প্রয়োজন হয় না, তাদের জন্য ফায়ারবেস কী অফার করে?
সমাধান: ফায়ারস্টোর লাইট
ফায়ারস্টোর লাইট হল একটি হালকা, স্বতন্ত্র REST-অনলি ফায়ারস্টোর SDK যা নিয়মিত ওয়েব SDK আকারের একটি ভগ্নাংশে একক ডকুমেন্ট ফেচ, কোয়েরি এক্সিকিউশন এবং ডকুমেন্ট আপডেট সমর্থন করে। ফায়ারস্টোর লাইট ল্যাটেন্সি ক্ষতিপূরণ, অফলাইন ক্যাশিং, কোয়েরি পুনঃসূচনা এবং স্ন্যাপশট শ্রোতাদের বাদ দেয়, তবে নির্দিষ্ট ব্যবহারের ক্ষেত্রে, লাইব্রেরির আকার এবং স্টার্টআপের সময় হ্রাস একটি দুর্দান্ত ট্রেডঅফ তৈরি করে।
Import Firestore Lite সম্পর্কে
মডুলার SDK এর অংশ হিসেবে ফায়ারস্টোর লাইট npm এর মাধ্যমে পাওয়া যাচ্ছে। তাই এটি সম্পূর্ণরূপে মডুলার এবং ট্রি-শেকযোগ্য।
নিম্নলিখিত আমদানি শৈলী সমর্থিত।
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Firestore Lite দ্বারা সমর্থিত নয় এমন API বৈশিষ্ট্যগুলি
আকার এবং গতির জন্য, Firestore Lite স্ট্যান্ডার্ড Firestore SDK থেকে এই বৈশিষ্ট্যগুলি বাদ দেয়:
- DocumentSnapshot ইভেন্ট হ্যান্ডলার ।
onSnapshot
পদ্ধতি এবংDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
এবংUnsubscribe
অবজেক্ট অন্তর্ভুক্ত নয়। - পারসিস্টেন্স হেল্পার ।
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
, এবংclearIndexedDbPersistence
পদ্ধতিগুলি অন্তর্ভুক্ত নয়। - ফায়ারস্টোর বান্ডেল ।
loadBundle
পদ্ধতি এবং সম্পর্কিত পদ্ধতি, এবংLoadBundleTask
এবংLoadBundleTaskProgress
অবজেক্ট অন্তর্ভুক্ত নয়।
ডকুমেন্ট ফেচ, কোয়েরি এবং আপডেট বাস্তবায়ন করুন
ফায়ারস্টোর লাইট আমদানি করার পরে, আপনি সমস্ত পরিচিত API কল পেতে এবং আপডেট করতে পারবেন। ডেটা যোগ করার এবং ডেটা পাওয়ার জন্য ব্যবহারের ক্ষেত্রে সবগুলি প্রযোজ্য।
import {
getFirestore,
getDoc,
updateDoc,
doc
} from '@firebase/firestore/lite';
const firestore = getFirestore(app);
const docRef = doc(firestore, 'collection/doc');
const docSnap = await getDoc(docRef);
await updateDoc(docRef, "field", 'value');
ফায়ারস্টোর লাইট কখন ব্যবহার করবেন
স্ট্যান্ডার্ড ফায়ারস্টোর SDK-এর অফলাইন পারসিস্টেন্স এবং ক্যাশিং বৈশিষ্ট্যগুলি কখন ছেড়ে দেওয়া উচিত তা সিদ্ধান্ত নেওয়া কঠিন হতে পারে। ফায়ারস্টোর লাইটের নিম্ন ওভারহেডের জন্য এগুলি বিনিময় করার সিদ্ধান্ত নেওয়ার আগে আপনার এই বৈশিষ্ট্যগুলি বোঝা উচিত। সাধারণভাবে, ফায়ারস্টোর লাইট ব্যবহার করবেন কিনা তা সিদ্ধান্ত নেওয়ার সময় এই বিষয়গুলি বিবেচনা করুন:
- অনলাইন স্ট্যাটাস - ফায়ারস্টোর লাইট এমন অ্যাপগুলির জন্য ভালো যেগুলির লাইভ আপডেটের প্রয়োজন হয় না এবং সংযোগ রয়েছে।
- আকারের সীমাবদ্ধতা - আপনার সামগ্রিক জাভাস্ক্রিপ্ট বান্ডেলের আকার কমাতে চাইলে ফায়ারস্টোর লাইট দুর্দান্ত।