Amazon DocumentDB (এডকিউএল-ভিত্তিক ডেটাবেস) একটি ম্যানেজড NoSQL ডেটাবেস সার্ভিস, যা মূলত ডকুমেন্ট-ভিত্তিক ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। এটি MongoDB এর সাথে সামঞ্জস্যপূর্ণ, তবে এটি AWS পরিবেশে সম্পূর্ণভাবে পরিচালিত, স্কেলেবল এবং উচ্চ পারফরম্যান্সের ডেটাবেস সমাধান সরবরাহ করে। DocumentDB JSON বা BSON ফরম্যাটে ডেটা সংরক্ষণ করে এবং উচ্চতর উপলব্ধতা, নিরাপত্তা, এবং ব্যবস্থাপনার সুবিধা প্রদান করে।
{
"user_id": "12345",
"name": "John Doe",
"email": "johndoe@example.com",
"age": 30
}
এই JSON ডকুমেন্টটি একটি ব্যবহারকারীর ডেটা সংরক্ষণ করছে। DocumentDB এই ধরনের ডকুমেন্ট সংরক্ষণ এবং পরিচালনা করতে সক্ষম।
DocumentDB-তে CRUD (Create, Read, Update, Delete) অপারেশনগুলি অত্যন্ত গুরুত্বপূর্ণ:
DocumentDB দ্রুত কুয়েরি এবং অনুসন্ধানের জন্য ইনডেক্স তৈরি এবং ব্যবস্থাপনা করে। এটি বিভিন্ন ধরণের ইনডেক্স যেমন:
DocumentDB ডেটাবেসের পারফরম্যান্স উন্নত করার জন্য বিভিন্ন কৌশল ব্যবহার করে:
DocumentDB নিরাপত্তা নিশ্চিত করতে AWS-এর শক্তিশালী নিরাপত্তা সেবা ব্যবহার করে:
DocumentDB Multi-AZ (Availability Zone) Replication সমর্থন করে, যা high availability এবং fault tolerance নিশ্চিত করে। যদি কোনো AZ-এ সমস্যা হয়, তখন অন্য AZ থেকে ডেটা অ্যাক্সেস করা যায়। এটি ডেটা নিরাপত্তা এবং অ্যাপ্লিকেশন ফেইলওভার পরিচালনা করতে সহায়ক।
DocumentDB একটি শক্তিশালী ডকুমেন্ট-ভিত্তিক ডেটাবেস সার্ভিস যা JSON/BSON ডেটা ফরম্যাটে ডেটা সংরক্ষণ এবং পরিচালনা করে। এটি MongoDB এর সাথে সামঞ্জস্যপূর্ণ, কিন্তু AWS দ্বারা সম্পূর্ণভাবে পরিচালিত হওয়ায়, এটি ক্লাস্টার স্কেলিং, নিরাপত্তা, এবং উচ্চ পারফরম্যান্সের জন্য একটি আদর্শ সমাধান। এর CRUD অপারেশন, ইনডেক্সিং, পারফরম্যান্স অপ্টিমাইজেশন, এবং নিরাপত্তা বৈশিষ্ট্য এটিকে একটি শক্তিশালী ডেটাবেস প্ল্যাটফর্মে পরিণত করে।
Amazon DocumentDB এর মধ্যে ডেটাবেস এবং Collections গুরুত্বপূর্ণ উপাদান। MongoDB-র মতোই, DocumentDB তেও ডেটা সংরক্ষণের জন্য ডেটাবেস এবং Collections ব্যবহার করা হয়। এগুলি ডেটাবেস ম্যানেজমেন্ট এবং ডেটা সংরক্ষণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
DocumentDB তে, একটি ডেটাবেজ একটি লজিক্যাল ইউনিট যা এক বা একাধিক Collections ধারণ করে। এটি ডেটার সংরক্ষণ এবং পরিচালনার জন্য একটি বড় ধারণাগত কাঠামো প্রদান করে। ডেটাবেজ একটি নির্দিষ্ট কাঠামো এবং কনফিগারেশন অনুযায়ী সংগঠিত থাকে এবং এটি সমস্ত ডেটার সুরক্ষা, ব্যাকআপ এবং পারফরম্যান্স সম্পর্কিত নির্দেশনা দেয়।
DocumentDB তে, একটি Collection হলো একটি ডেটাবেজের ভিতরে ডকুমেন্টের একটি গ্রুপ। প্রতিটি Collection সাধারণত JSON (JavaScript Object Notation) ফরম্যাটে ডকুমেন্ট ধারণ করে। একাধিক ডকুমেন্ট একটি Collection-এ সংরক্ষিত থাকে।
{
"_id": 1,
"name": "John Doe",
"age": 30,
"address": "1234 Elm Street"
}
এটি একটি JSON ডকুমেন্ট যা একটি Collection-এ সংরক্ষিত হতে পারে। ডকুমেন্টের মধ্যে _id (প্রাথমিক ইনডেক্স) সাধারণত DocumentDB এবং MongoDB দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয়।
DocumentDB তে ডেটাবেজ এবং Collections ডেটার সংগঠন এবং ব্যবস্থাপনাকে সহজ এবং কার্যকরী করে তোলে। ডেটাবেজগুলি বিভিন্ন Collection ধারণ করে, এবং প্রতিটি Collection বিভিন্ন ধরনের ডকুমেন্ট ধারণ করতে সক্ষম। এটি একটি স্কিমাহীন পদ্ধতি ব্যবহার করে, যার ফলে ডেটা ম্যানেজমেন্ট আরও নমনীয় এবং আড়ম্বরপূর্ণ হয়।
JSON (JavaScript Object Notation) হল একটি হালকা, পাঠযোগ্য ডেটা ফরম্যাট যা ডেটাকে সহজভাবে স্টোর এবং ট্রান্সমিট করতে ব্যবহৃত হয়। DocumentDB সহ MongoDB-এর মতো ডকুমেন্ট ডাটাবেসে ডেটা সংরক্ষণ করার জন্য JSON ডকুমেন্ট ব্যবহৃত হয়। JSON ডকুমেন্টে ডেটা মূলত একটি কীগুচ্ছ (key-value) পেয়ারের আকারে সংরক্ষিত থাকে, যা ডেটার স্ট্রাকচারকে সহজ এবং নমনীয় করে তোলে।
DocumentDB বা MongoDB-তে JSON ডকুমেন্ট তৈরি করার জন্য একটি সহজ উদাহরণ দেওয়া হলো। একটি পণ্যের বিবরণ সংরক্ষণ করার জন্য নিচের JSON ডকুমেন্টটি হতে পারে:
{
"product_id": "12345",
"name": "Wireless Mouse",
"category": "Electronics",
"price": 19.99,
"stock": 50,
"ratings": {
"average": 4.5,
"reviews": 100
}
}
এখানে:
এই JSON ডকুমেন্টটি DocumentDB-তে ডকুমেন্ট হিসাবে সংরক্ষিত হতে পারে এবং আপনি পরে এটি সংশোধন বা আপডেট করতে পারবেন।
JSON ডকুমেন্টে কীগুচ্ছ আপডেট বা নতুন কীগুচ্ছ যোগ করতে MongoDB বা DocumentDB-তে Update অপারেশন ব্যবহার করা হয়।
উদাহরণস্বরূপ, যদি আপনি পূর্বের JSON ডকুমেন্টে পণ্যের স্টক সংখ্যা বাড়াতে চান, তাহলে নিচের মতো আপডেট করা হতে পারে:
{
"$set": {
"stock": 75
}
}
এই কমান্ডের মাধ্যমে stock এর মান 75 এ আপডেট হবে। এখানে $set
অপারেটরটি ব্যবহার করা হয়েছে, যা নির্দিষ্ট কীগুচ্ছের মান পরিবর্তন করতে সাহায্য করে।
নতুন কীগুচ্ছ যোগ করার জন্য আপনি নিচের মতো $set ব্যবহার করতে পারেন:
{
"$set": {
"discount": 5.0
}
}
এই কমান্ডটি নতুন discount কীগুচ্ছ যোগ করবে, যার মান 5.0 হবে।
যদি আপনি কোনো কীগুচ্ছ মুছে ফেলতে চান, তাহলে $unset অপারেটর ব্যবহার করতে হবে:
{
"$unset": {
"ratings": ""
}
}
এখানে ratings কীগুচ্ছটি ডকুমেন্ট থেকে মুছে ফেলা হবে।
DocumentDB MongoDB-এর মতোই কিছু কিছু কুয়েরি ভাষার ব্যবহার করে JSON ডকুমেন্ট সংশোধন করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে আমরা একটি ডকুমেন্টের price এবং stock কীগুচ্ছ আপডেট করব।
db.products.update(
{ "product_id": "12345" },
{
$set: {
"price": 17.99,
"stock": 100
}
}
);
এই কুয়েরিটি product_id 12345 সহ ডকুমেন্টটি খুঁজে বের করে এবং price এবং stock আপডেট করবে।
JSON ডকুমেন্ট তৈরি এবং সংশোধন করা MongoDB বা DocumentDB-তে একটি সাধারণ এবং সহজ প্রক্রিয়া। JSON-এর নমনীয়তা এবং স্কিমাহীনতা ডেটা ম্যানেজমেন্টে অনেক সুবিধা প্রদান করে। আপনি কীগুচ্ছ আপডেট, নতুন কীগুচ্ছ যোগ এবং পুরানো কীগুচ্ছ মুছে ফেলার মাধ্যমে JSON ডকুমেন্ট সংশোধন করতে পারবেন।
BSON (Binary JSON) এবং JSON (JavaScript Object Notation) উভয়ই ডেটা বিনিময় ফরম্যাট হিসেবে ব্যবহৃত হয়, কিন্তু তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে। BSON মূলত MongoDB এবং DocumentDB এর মতো ডেটাবেস সিস্টেমে ব্যবহৃত হয়, যেখানে JSON সাধারণত ওয়েব সার্ভিস এবং API এর মাধ্যমে ডেটা ট্রান্সফার করার জন্য ব্যবহৃত হয়।
আপনি যদি ডেটাবেস বা ডিস্ট্রিবিউটেড সিস্টেম ব্যবহার করেন, তবে BSON দ্রুত ডেটা প্রসেসিং এবং কার্যকরী স্টোরেজের জন্য আরও উপযুক্ত হতে পারে, কিন্তু JSON আরও সাধারণ উদ্দেশ্যে ব্যবহৃত হয়।
DocumentDB-তে CRUD (Create, Read, Update, Delete) অপারেশনগুলি ডেটাবেস পরিচালনার মৌলিক কাজ। এই অপারেশনগুলির মাধ্যমে ডেভেলপাররা ডেটা তৈরি, পড়া, আপডেট এবং মুছে ফেলতে পারেন। DocumentDB, MongoDB-এর মতো ডকুমেন্ট-ভিত্তিক ডেটাবেস হওয়ায়, এই অপারেশনগুলি JSON বা BSON ডকুমেন্টের উপর কার্যকরী হয়।
Create অপারেশন দ্বারা নতুন ডকুমেন্ট ডেটাবেসে সংযোজন করা হয়। এটি সাধারণত insertOne()
অথবা insertMany()
মেথডের মাধ্যমে সম্পাদিত হয়, যা এক বা একাধিক ডকুমেন্ট তৈরি করে।
নতুন পণ্যের তথ্য সংরক্ষণ করা:
{
"product_id": "12345",
"name": "Wireless Mouse",
"category": "Electronics",
"price": 15.99,
"stock": 120
}
Create অপারেশনটি MongoDB API সমর্থিত DocumentDB-তে নিম্নরূপ হতে পারে:
db.products.insertOne({
"product_id": "12345",
"name": "Wireless Mouse",
"category": "Electronics",
"price": 15.99,
"stock": 120
});
এখানে insertOne()
একটি একক ডকুমেন্ট ইনসার্ট করবে।
Read অপারেশন দ্বারা ডেটাবেস থেকে ডকুমেন্ট রিড করা হয়। এটি findOne()
বা find()
মেথডের মাধ্যমে একটি নির্দিষ্ট বা সমস্ত ডকুমেন্ট অনুসন্ধান করতে ব্যবহার করা হয়।
নির্দিষ্ট পণ্যের তথ্য পড়া:
db.products.findOne({
"product_id": "12345"
});
এটি product_id
12345 সহ ডকুমেন্টটিকে রিটার্ন করবে। আপনি find()
মেথড ব্যবহার করেও একাধিক ডকুমেন্ট রিটার্ন করতে পারেন।
db.products.find({
"category": "Electronics"
});
এটি "Electronics" ক্যাটাগরির সমস্ত পণ্য রিটার্ন করবে।
Update অপারেশন দ্বারা বিদ্যমান ডকুমেন্টের একটি বা একাধিক ফিল্ড পরিবর্তন করা হয়। এটি updateOne()
বা updateMany()
মেথড ব্যবহার করে করা যায়।
পণ্যের স্টক আপডেট করা:
db.products.updateOne(
{ "product_id": "12345" }, // অনুসন্ধান
{ $set: { "stock": 150 } } // নতুন মান সেট করা
);
এটি product_id
12345 সহ ডকুমেন্টটির stock
ফিল্ডের মান 150-এ আপডেট করবে।
আপনি একাধিক ডকুমেন্ট আপডেট করতে চাইলে updateMany()
ব্যবহার করতে পারেন:
db.products.updateMany(
{ "category": "Electronics" },
{ $set: { "stock": 200 } }
);
এটি "Electronics" ক্যাটাগরির সমস্ত পণ্যের stock
200-এ আপডেট করবে।
Delete অপারেশন দ্বারা ডেটাবেস থেকে একটি বা একাধিক ডকুমেন্ট মুছে ফেলা হয়। এটি deleteOne()
বা deleteMany()
মেথড ব্যবহার করে করা হয়।
নির্দিষ্ট পণ্যের তথ্য মুছে ফেলা:
db.products.deleteOne({
"product_id": "12345"
});
এটি product_id
12345 সহ একটিই ডকুমেন্ট মুছে ফেলবে।
একাধিক ডকুমেন্ট মুছে ফেলতে deleteMany()
ব্যবহার করতে পারেন:
db.products.deleteMany({
"category": "Electronics"
});
এটি "Electronics" ক্যাটাগরির সমস্ত পণ্য মুছে ফেলবে।
DocumentDB-তে CRUD অপারেশনগুলি ডেটাবেসের মূল কার্যক্রম। Create অপারেশন ডেটা সংরক্ষণ করে, Read অপারেশন ডেটা পড়ে, Update অপারেশন বিদ্যমান ডেটা পরিবর্তন করে এবং Delete অপারেশন ডেটা মুছে ফেলে। MongoDB-এর মতো DocumentDB-এ এই অপারেশনগুলির মাধ্যমে ডকুমেন্ট-ভিত্তিক ডেটাবেসের ওপর কাজ করা সহজ এবং কার্যকরী।
common.read_more