CouchDB ডকুমেন্ট-ভিত্তিক ডাটাবেস হিসেবে MapReduce ব্যবহার করে ডেটার কুয়েরি এবং বিশ্লেষণ করতে Views তৈরি করার সুবিধা দেয়। CouchDB-তে দুটি প্রধান ধরণের views রয়েছে: Temporary Views এবং Permanent Views। এদের মধ্যে মূল পার্থক্য হলো কিভাবে এবং কতটা সময় ধরে এগুলো ডেটাকে প্রসেস এবং ব্যবহার করা হয়।
Temporary Views হল সেগুলি যেগুলি অস্থায়ীভাবে তৈরি করা হয় এবং একটি কুয়েরি সেশন চলাকালীন সময় পর্যন্ত উপলব্ধ থাকে। অর্থাৎ, যখন আপনি একটি কুয়েরি চালান, তখন CouchDB ওই কুয়েরির জন্য একটি temporary view তৈরি করে এবং যখন কুয়েরি সমাপ্ত হয়, তখন এটি মুছে ফেলা হয়। এটি মূলত অস্থায়ী বিশ্লেষণ বা কাস্টম কুয়েরি করার জন্য ব্যবহৃত হয়, যেগুলি দীর্ঘস্থায়ীভাবে সঞ্চিত বা পুনরায় ব্যবহৃত হওয়ার প্রয়োজন নেই।
// Map Function
function(doc) {
if (doc.type === 'user') {
emit(doc.name, doc.age);
}
}
// কুয়েরি চালান
db.query('my_view', {map: function(doc) { emit(doc.name, doc.age); }});
এই ভিউটি কেবলমাত্র এই কুয়েরির জন্য ব্যবহৃত হবে এবং পরবর্তীতে মুছে ফেলা হবে।
Permanent Views হল সেগুলি যেগুলি স্থায়ীভাবে CouchDB-তে সংরক্ষিত থাকে এবং পরবর্তীতে পুনরায় ব্যবহার করা যায়। Permanent views তৈরি করার জন্য View Index তৈরি করা হয় যা ডেটাবেসে একটি নির্দিষ্ট টাইপের ডেটার ওপর কাস্টম কুয়েরি চালাতে সক্ষম করে। যখন আপনি permanent view তৈরি করেন, তখন আপনি সেই view-টি পরবর্তীতে barred query operations অথবা other view queries এর জন্য ব্যবহার করতে পারেন।
{
"_id": "_design/users",
"views": {
"by_name": {
"map": "function(doc) { if (doc.type === 'user') emit(doc.name, doc.age); }"
}
}
}
GET /database/_design/users/_view/by_name
এটি আপনাকে user
টাইপের ডকুমেন্টগুলি নামের ভিত্তিতে সাজিয়ে দিবে।
বৈশিষ্ট্য | Temporary Views | Permanent Views |
---|---|---|
সংরক্ষণ | অস্থায়ী, শুধুমাত্র কুয়েরি চলাকালীন | স্থায়ী, ডাটাবেসে সংরক্ষিত |
ব্যবহার | এককালীন কুয়েরি বা ডেটা বিশ্লেষণ | পুনরায় ব্যবহারযোগ্য, কাস্টম কুয়েরি |
প্রপার্টি | কেবলমাত্র কুয়েরি সেশন পর্যন্ত উপলব্ধ | একবার তৈরি হলে স্থায়ীভাবে সংরক্ষিত |
প্রদর্শন | কম্পাইল এবং একটি কুয়েরি সেশনের জন্য | একাধিক কুয়েরি এবং বৃহৎ ডেটার জন্য কার্যকর |
কনফিগারেশন প্রয়োজন | কুয়েরি চলাকালীন সেটি সংজ্ঞায়িত করা হয় | কনফিগারেশন ফাইল এবং ডেটাবেসে ডিফাইন করা হয় |
প্রতিবার ব্যবহার | না, শুধুমাত্র একবার ব্যবহৃত হয় | হ্যাঁ, বার বার ব্যবহার করা যায় |
আপনার প্রয়োজন অনুযায়ী, আপনি কোন ধরনের view ব্যবহার করবেন তা নির্ভর করবে আপনার ডেটার ধরন এবং কুয়েরির প্রক্রিয়ার উপর।