Amazon DynamoDB হল একটি NoSQL ডেটাবেস সিস্টেম, যেখানে ডেটা Tables, Items, এবং Attributes আকারে সংরক্ষিত হয়। এখানে প্রতিটি ধারণার বিস্তারিত ব্যাখ্যা দেওয়া হলো:
১. Table (টেবিল)
DynamoDB এ Table হল ডেটাবেসের মূল একক, যেখানে ডেটা সংরক্ষণ করা হয়। একটি টেবিল Items ধারণ করে, এবং প্রতিটি Item একটি ডেটা রেকর্ড বা এন্ট্রি।
Table এর মূল বৈশিষ্ট্য:
- Table Name: প্রতিটি টেবিলের একটি ইউনিক নাম থাকে। টেবিল নামটি একটি অ্যাপ্লিকেশন বা সিস্টেমের মধ্যে টেবিলটি চিহ্নিত করতে ব্যবহৃত হয়।
- Primary Key: প্রতিটি টেবিলের একটি Primary Key থাকে, যা টেবিলের প্রতিটি আইটেমকে অনন্যভাবে চিহ্নিত করে। প্রাইমারি কীগুলি Partition Key অথবা Partition Key + Sort Key হতে পারে (যেমন একটি কম্পোজড কিওয়ে ব্যবহার করা হয়)।
- Provisioned Capacity: যখন আপনি একটি টেবিল তৈরি করেন, তখন আপনি তার Read Capacity Units (RCU) এবং Write Capacity Units (WCU) কনফিগার করতে পারেন, যা টেবিলের পারফরম্যান্স নিয়ন্ত্রণ করে।
- On-Demand Capacity: একটি টেবিল On-Demand Mode তে রাখা যেতে পারে, যেখানে DynamoDB স্বয়ংক্রিয়ভাবে ডেটাবেসের স্কেল কনফিগার করে।
Table এর উদাহরণ:
যদি আপনার একটি User টেবিল থাকে, সেটি ব্যবহারকারীর তথ্য সংরক্ষণ করবে, যেমন: ব্যবহারকারীর নাম, ইমেইল, ফোন নম্বর ইত্যাদি।
২. Item (আইটেম)
DynamoDB তে Item হল টেবিলের একটি একক ডেটা রেকর্ড। প্রতিটি আইটেম একটি ডেটা এন্ট্রি, যা টেবিলের মধ্যে একটি নির্দিষ্ট Primary Key এর মাধ্যমে অনন্যভাবে চিহ্নিত করা হয়। আইটেমটি একাধিক Attributes ধারণ করতে পারে।
Item এর বৈশিষ্ট্য:
- প্রতিটি Item একটি Primary Key দ্বারা চিহ্নিত হয়।
- আইটেমের মধ্যে Attributes থাকতে পারে যা সেই আইটেমের বিভিন্ন তথ্য বা বৈশিষ্ট্য চিহ্নিত করে।
- DynamoDB তে আইটেমের স্কিমা নির্দিষ্ট থাকে না, অর্থাৎ আপনি যখন একটি আইটেম তৈরি করবেন, তখন সেটির Attributes অন্য আইটেমগুলির থেকে আলাদা হতে পারে। অর্থাৎ, এক টেবিলের আইটেমগুলো একে অপরের থেকে ভিন্ন স্কিমা ব্যবহার করতে পারে।
Item এর উদাহরণ:
ধরা যাক, একটি User টেবিলের মধ্যে নিম্নলিখিত আইটেমগুলো থাকতে পারে:
৩. Attribute (অ্যাট্রিবিউট)
Attribute হল DynamoDB আইটেমের একটি নির্দিষ্ট বৈশিষ্ট্য বা তথ্য। এটি একটি কীগুলির মান (key-value pair) হতে পারে, যা আইটেমের বিভিন্ন তথ্য বা প্রোপার্টি বর্ণনা করে।
Attribute এর বৈশিষ্ট্য:
- একটি আইটেমে একাধিক Attribute থাকতে পারে।
- Attribute গুলির মধ্যে Scalar Types (যেমন String, Number, Boolean) এবং Complex Types (যেমন List, Map) থাকতে পারে।
- Attribute গুলি টাইপ ইনফরমেশনসহ স্টোর করা হয় এবং আইটেমের মধ্যে তাদের মান রাখা হয়।
Attribute এর উদাহরণ:
ধরা যাক, একটি User আইটেমের মধ্যে নিম্নলিখিত Attributes থাকতে পারে:
- User ID (Partition Key):
001
(String) - Name:
John Doe
(String) - Email:
johndoe@email.com
(String) - Phone:
+1234567890
(String) - Age:
29
(Number) - Address:
Map
(Complex Type, contains street, city, postal code)
DynamoDB এ Table, Item, এবং Attribute এর সম্পর্ক:
- Table: ডেটাবেসের মূল ইউনিট, যেখানে একাধিক Item সংরক্ষিত থাকে।
- Item: একটি টেবিলের একক ডেটা এন্ট্রি যা Primary Key এর মাধ্যমে চিহ্নিত হয়।
- Attribute: আইটেমের নির্দিষ্ট বৈশিষ্ট্য বা তথ্য, যা key-value pair আকারে থাকে।
Table তৈরি করার উদাহরণ:
ধরা যাক, আপনি একটি User টেবিল তৈরি করতে চান, যেখানে User ID হবে Partition Key এবং Email হবে Sort Key।
- AWS Management Console এ গিয়ে DynamoDB নির্বাচন করুন।
- Create table বাটনে ক্লিক করুন।
- টেবিলের নাম দিন (যেমন
Users
), এবং Primary Key কনফিগার করুন:- Partition Key:
User ID
(String) - Sort Key:
Email
(String)
- Provisioned অথবা On-Demand Capacity Mode নির্বাচন করুন এবং টেবিল তৈরি করুন।
এভাবে আপনি সহজেই একটি Table, Item, এবং Attribute তৈরি করতে পারেন DynamoDB তে।
এই ছিল DynamoDB এর Tables, Items, এবং Attributes এর সংক্ষিপ্ত বিবরণ। যদি কোনো প্রশ্ন থাকে, জানাতে পারেন!