স্থানীয় ডিভাইস স্টোরেজ এবং ক্লাউড ভিত্তিক সার্ভার স্টোরেজ উভয়ের জন্যই সঠিক স্টোরেজ মেকানিজম বেছে নেওয়া গুরুত্বপূর্ণ। একটি ভাল স্টোরেজ ইঞ্জিন নিশ্চিত করে যে আপনার তথ্য নির্ভরযোগ্যভাবে সংরক্ষণ করা হয়েছে, ব্যান্ডউইথ হ্রাস করে এবং প্রতিক্রিয়াশীলতা উন্নত করে। অফলাইন মোবাইল ওয়েব অভিজ্ঞতা সক্ষম করার জন্য সঠিক স্টোরেজ ক্যাশিং কৌশল একটি মূল বিল্ডিং ব্লক।
এই নিবন্ধটি স্টোরেজ API এবং পরিষেবাগুলির মূল্যায়নের জন্য একটি সংক্ষিপ্ত ভিত্তি প্রদান করে, তারপরে আমরা একটি তুলনা টেবিল এবং কিছু সাধারণ নির্দেশিকা প্রদান করব৷ অদূর ভবিষ্যতে, আমরা নির্বাচিত স্টোরেজ বিষয়গুলিকে আরও গভীরে বোঝার জন্য সংস্থানগুলি যোগ করার পরিকল্পনা করছি৷
স্টোরেজ ট্যাক্সোনমি
আসুন কিছু মাত্রা বোঝার মাধ্যমে শুরু করা যাক যার মাধ্যমে আমরা ওয়েব অ্যাপের জন্য ডেটা স্টোরেজ বিশ্লেষণ করতে পারি। পরে, ওয়েব ডেভেলপারদের কাছে উপলব্ধ অনেক স্টোরেজ বিকল্পগুলি গণনা এবং মূল্যায়ন করতে আমরা এই কাঠামোটি ব্যবহার করব।
তথ্য মডেল
ডেটার একক সংরক্ষণের মডেল নির্ধারণ করে কিভাবে ডেটা অভ্যন্তরীণভাবে সংগঠিত হয়, যা ব্যবহারের সহজে, খরচ এবং সঞ্চয়স্থান এবং পুনরুদ্ধারের অনুরোধের কার্যকারিতাকে প্রভাবিত করে।
স্ট্রাকচার্ড: পূর্বনির্ধারিত ক্ষেত্রগুলির সাথে সারণিতে সংরক্ষিত ডেটা, যেমনটি SQL ভিত্তিক ডাটাবেস ম্যানেজমেন্ট সিস্টেমের আদর্শ, নমনীয় এবং গতিশীল প্রশ্নগুলির জন্য নিজেকে ভালভাবে ধার দেয়, যেখানে ক্যোয়ারী প্রকারের সম্পূর্ণ পরিসর অগ্রাধিকার হিসাবে পরিচিত নাও হতে পারে। ব্রাউজারে একটি স্ট্রাকচার্ড ডেটাস্টোরের একটি বিশিষ্ট উদাহরণ হল IndexedDB।
কী/মান: কী/মান ডেটাস্টোর এবং সম্পর্কিত NoSQL ডাটাবেস, একটি অনন্য কী দ্বারা সূচীকৃত অসংগঠিত ডেটা সংরক্ষণ এবং পুনরুদ্ধার করার ক্ষমতা প্রদান করে। কী/মান ডেটাস্টোরগুলি হ্যাশ টেবিলের মতো যে তারা সূচীকৃত, অস্বচ্ছ ডেটাতে ধ্রুব-সময় অ্যাক্সেসের অনুমতি দেয়। কী/মান ডেটাস্টোরের বিশিষ্ট উদাহরণ হল ব্রাউজারে ক্যাশে API এবং সার্ভারে Apache Cassandra।
বাইট স্ট্রীম: এই সাধারণ মডেলটি পরিবর্তনশীল দৈর্ঘ্য, বাইটের অস্বচ্ছ স্ট্রিং হিসাবে ডেটা সঞ্চয় করে, যেকোন প্রকারের অভ্যন্তরীণ সংগঠনকে অ্যাপ্লিকেশন স্তরে রেখে দেয়। এই মডেলটি ফাইল সিস্টেম এবং ডেটার অন্যান্য ক্রমানুসারে সংগঠিত ব্লবগুলির জন্য বিশেষভাবে ভাল। বাইট স্ট্রিম ডেটাস্টোরগুলির বিশিষ্ট উদাহরণগুলির মধ্যে ফাইল সিস্টেম এবং ক্লাউড স্টোরেজ পরিষেবা অন্তর্ভুক্ত রয়েছে।
জেদ
ওয়েব অ্যাপের জন্য স্টোরেজ পদ্ধতি বিশ্লেষণ করা যেতে পারে যে সুযোগের উপর ভিত্তি করে ডেটা স্থায়ী করা হয়।
সেশনের অধ্যবসায়: এই বিভাগের ডেটা কেবল ততক্ষণ ধরে রাখা হয় যতক্ষণ না একটি একক ওয়েব সেশন বা ব্রাউজার ট্যাব সক্রিয় থাকে। সেশন অধ্যবসায় সহ স্টোরেজ মেকানিজমের একটি উদাহরণ হল সেশন স্টোরেজ API।
ডিভাইসের অধ্যবসায়: এই বিভাগের ডেটা একটি নির্দিষ্ট ডিভাইসের মধ্যে সেশন এবং ব্রাউজার ট্যাব/উইন্ডোজ জুড়ে রাখা হয়। ডিভাইসের অধ্যবসায় সহ স্টোরেজ মেকানিজমের একটি উদাহরণ হল ক্যাশে এপিআই।
বিশ্বব্যাপী অধ্যবসায়: এই বিভাগের ডেটা সেশন এবং ডিভাইস জুড়ে রাখা হয়। যেমন, এটি ডেটা স্থিরতার সবচেয়ে শক্তিশালী রূপ। বিশ্বব্যাপী অধ্যবসায় সহ স্টোরেজ মেকানিজমের একটি উদাহরণ হল গুগল ক্লাউড স্টোরেজ।
ব্রাউজার সমর্থন
বিকাশকারীদের তাদের সমস্যা ডোমেনের জন্য সবচেয়ে উপযুক্ত একটি API বেছে নেওয়া উচিত; যাইহোক, তাদের এই সত্যটিও বিবেচনা করা উচিত যে মানসম্মত এবং সুপ্রতিষ্ঠিত APIগুলি কাস্টম বা মালিকানাধীন ইন্টারফেসের চেয়ে পছন্দনীয়, কারণ তারা দীর্ঘজীবী এবং আরও ব্যাপকভাবে সমর্থিত। তারা একটি বিস্তৃত জ্ঞানের ভিত্তি এবং একটি সমৃদ্ধ বিকাশকারী ইকোসিস্টেম উপভোগ করতে পারে।
লেনদেন
প্রায়শই, পারমাণবিকভাবে সফল বা ব্যর্থ হওয়া সম্পর্কিত স্টোরেজ অপারেশনগুলির সংগ্রহের জন্য এটি গুরুত্বপূর্ণ। ডেটাবেস ম্যানেজমেন্ট সিস্টেমগুলি ঐতিহ্যগতভাবে লেনদেন মডেল ব্যবহার করে এই বৈশিষ্ট্যটিকে সমর্থন করে, যেখানে সম্পর্কিত আপডেটগুলি নির্বিচারে ইউনিটগুলিতে গোষ্ঠীভুক্ত করা যেতে পারে। যদিও সবসময় প্রয়োজন হয় না, কিছু সমস্যা ডোমেনে এটি একটি সুবিধাজনক, এবং কখনও কখনও অপরিহার্য, বৈশিষ্ট্য।
সিঙ্ক/অসিঙ্ক
কিছু স্টোরেজ এপিআই এই অর্থে সিঙ্ক্রোনাস যে স্টোরেজ বা পুনরুদ্ধারের অনুরোধ অনুরোধটি সম্পূর্ণ না হওয়া পর্যন্ত বর্তমানে সক্রিয় থ্রেডকে ব্লক করে। এটি ওয়েব ব্রাউজারগুলিতে বিশেষত কঠিন, যেখানে স্টোরেজ অনুরোধটি UI এর সাথে মূল থ্রেড ভাগ করে। দক্ষতা এবং কর্মক্ষমতার কারণে, অ্যাসিঙ্ক্রোনাস স্টোরেজ API গুলিকে পছন্দ করতে হবে৷
Chrome DevTools-এ ডিবাগিং স্টোরেজ
আপনার পছন্দের ওয়েব স্টোরেজ API পরিদর্শন এবং ডিবাগ করতে Chrome DevTools ব্যবহার করার বিষয়ে আরও জানতে নিম্নলিখিত নথিগুলি দেখুন৷ এখানে উল্লেখ করা APIগুলি হয় DevTools-এ সমর্থিত নয় বা প্রযোজ্য নয়৷
আপনি যদি একাধিক স্টোরেজ API ব্যবহার করেন, তাহলে DevTools-এর ক্লিয়ার স্টোরেজ বৈশিষ্ট্যটি দেখুন। এই বৈশিষ্ট্যটি আপনাকে একটি একক বোতাম ক্লিকের মাধ্যমে একাধিক স্টোর সাফ করতে দেয়। আরও তথ্যের জন্য পরিষেবা কর্মী, স্টোরেজ, ডাটাবেস এবং ক্যাশে পরিষ্কার করুন দেখুন।
এরপর কোথায় যেতে হবে…
এখন যেহেতু আমরা স্টোরেজ মেকানিজম সম্পর্কে চিন্তা করার কিছু প্রাসঙ্গিক উপায় পর্যালোচনা করেছি এবং আজকের উপলব্ধ সবচেয়ে জনপ্রিয় API এবং পরিষেবাগুলির তুলনা করেছি, আমরা আগ্রহের এক বা একাধিক বিষয়ে আরও গভীরভাবে ডুব দিতে শীঘ্রই আরও সামগ্রী যুক্ত করব: