Amazon DynamoDB একটি সম্পূর্ণভাবে পরিচালিত NoSQL ডেটাবেস সার্ভিস, যা AWS (Amazon Web Services) দ্বারা প্রদান করা হয়। এটি ক্লাউডে হোস্ট করা হয় এবং কোনও ফিজিক্যাল ইনস্টলেশন প্রক্রিয়া নেই, তবে আপনাকে DynamoDB ব্যবহারের জন্য AWS অ্যাকাউন্ট তৈরি এবং কনফিগার করতে হবে। DynamoDB Local (ডেভেলপমেন্টের জন্য) ইনস্টল করার জন্য কিছু অতিরিক্ত পদক্ষেপও রয়েছে।
DynamoDB ব্যবহারের জন্য আপনার প্রথমে একটি AWS অ্যাকাউন্ট থাকতে হবে। যদি আপনার না থাকে, তবে এটি তৈরি করুন:
DynamoDB ব্যবহার করতে AWS Management Console এ লগ ইন করে DynamoDB সার্ভিসে যাওয়া উচিত।
DynamoDB Local আপনাকে আপনার কম্পিউটারে একটি লোকাল কপি চলাতে সাহায্য করবে, যাতে আপনি AWS ক্লাউডে যাওয়া ছাড়াই ডেভেলপমেন্ট করতে পারেন। এটি ইনস্টল করতে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:
DynamoDB Local Java অ্যাপ্লিকেশন হিসেবে চলে, সুতরাং আপনাকে Java 8 বা তার পরে একটি ভার্সন ইনস্টল করতে হবে।
DynamoDB Local ডাউনলোড করতে নিম্নলিখিত লিঙ্কে যান:
DynamoDB Local চালানোর জন্য টার্মিনালে বা কমান্ড প্রম্পটে নিম্নলিখিত কমান্ডটি রান করুন:
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -inMemory -sharedDb
এই কমান্ডটি DynamoDB Local ইন-মেমরি মোডে চালাবে এবং সবার জন্য শেয়ার করা ডেটাবেস ব্যবহার করবে।
DynamoDB Local চালু হওয়ার পর, আপনি AWS CLI বা SDK ব্যবহার করে এটি অ্যাক্সেস করতে পারবেন। উদাহরণস্বরূপ, AWS CLI ব্যবহার করতে:
aws dynamodb list-tables --endpoint-url http://localhost:8000
এই কমান্ডটি DynamoDB Local এ থাকা টেবিলগুলির তালিকা দেখাবে।
AWS CLI ব্যবহার করে DynamoDB কনফিগার করতে আপনাকে প্রথমে AWS CLI ইনস্টল এবং কনফিগার করতে হবে। এরপর আপনি DynamoDB সংক্রান্ত কমান্ডগুলো চালাতে পারবেন।
ইনস্টলেশনের পর, নিম্নলিখিত কমান্ড দিয়ে CLI কনফিগার করুন:
aws configure
এখানে আপনাকে আপনার Access Key, Secret Key, Region, এবং Output format প্রদান করতে হবে।
DynamoDB ব্যবহারের জন্য বিভিন্ন ভাষায় SDK রয়েছে। এখানে Python, JavaScript এবং Java এর জন্য SDK সেটআপের প্রাথমিক নির্দেশনা দেওয়া হলো:
Python এর জন্য Boto3 SDK ব্যবহার করা হয়। এটি ইনস্টল করতে:
pip install boto3
এরপর DynamoDB এর সাথে ইন্টারঅ্যাক্ট করার জন্য কোড লিখতে পারবেন।
JavaScript এর জন্য AWS SDK ইনস্টল করতে:
npm install aws-sdk
SDK ব্যবহার করে DynamoDB এর সাথে কাজ করতে পারবেন।
Java এর জন্য AWS SDK ইনস্টল করতে:
com.amazonaws:aws-java-sdk-dynamodb
Amazon DynamoDB একটি সম্পূর্ণভাবে পরিচালিত NoSQL ডেটাবেস সার্ভিস যা AWS (Amazon Web Services) এর মাধ্যমে সরবরাহ করা হয়। AWS Management Console এর মাধ্যমে আপনি DynamoDB অ্যাক্সেস করতে পারেন এবং এটি ব্যবহারের জন্য সোজা একটি ওয়েব ইউজার ইন্টারফেস (UI) প্রদান করে।
এখানে DynamoDB অ্যাক্সেস করার জন্য প্রয়োজনীয় পদক্ষেপগুলি দেওয়া হলো:
DynamoDB কনসোলের মধ্যে অনেকগুলি অপশন থাকে, যার মাধ্যমে আপনি আপনার ডেটাবেস টেবিল এবং ডেটার উপর বিভিন্ন কাজ করতে পারবেন। কিছু প্রধান অপশন হল:
UserID
এবং Timestamp
)dynamodb:ListTables
, dynamodb:PutItem
ইত্যাদি অ্যাকশন।এভাবে আপনি AWS Management Console ব্যবহার করে DynamoDB অ্যাক্সেস করতে এবং পরিচালনা করতে পারবেন। DynamoDB কনসোল সহজ এবং শক্তিশালী ইউজার ইন্টারফেস (UI) প্রদান করে, যা আপনাকে টেবিল তৈরি, ডেটা ইন্সার্ট এবং অন্যান্য ম্যানেজমেন্ট অপারেশন সম্পন্ন করতে সাহায্য করে।
DynamoDB Local হল একটি ছোট এবং স্বতন্ত্র সংস্করণ যা আপনি আপনার কম্পিউটারে রান করতে পারেন। এটি মূলত ডেভেলপারদের জন্য ডিজাইন করা হয়েছে, যাতে তারা AWS DynamoDB সার্ভিস ব্যবহার ছাড়াই স্থানীয়ভাবে ডেটাবেস ডেভেলপ এবং টেস্ট করতে পারে। DynamoDB Local ব্যবহার করার মাধ্যমে আপনি ক্লাউডে যাওয়ার আগে আপনার অ্যাপ্লিকেশনের কার্যকারিতা পরীক্ষা করতে পারবেন।
DynamoDB Local ইনস্টল করতে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:
DynamoDB Local Java অ্যাপ্লিকেশন হিসেবে চলে, সুতরাং আপনাকে Java 8 বা তার পরে একটি ভার্সন ইনস্টল করতে হবে।
Java ইনস্টল করা হলে, Java version চেক করার জন্য টার্মিনালে নিচের কমান্ড রান করুন:
java -version
এটি আপনাকে ইনস্টল করা Java ভার্সন দেখাবে।
/home/username/dynamodb_local
ফোল্ডারে এটি আনজিপ করুন।টার্মিনাল বা কমান্ড প্রম্পট ওপেন করুন এবং DynamoDB Local ফোল্ডারে যান যেখানে আপনি জিপ ফাইলটি আনজিপ করেছিলেন। উদাহরণস্বরূপ:
cd /path/to/dynamodb_local
এখন DynamoDB Local চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
-Djava.library.path=./DynamoDBLocal_lib
: এটি নির্দিষ্ট করে যে Java লাইব্রেরি ফোল্ডার কোথায় আছে।-jar DynamoDBLocal.jar
: এটি DynamoDB Local জার ফাইল চালানোর কমান্ড।-sharedDb
: একাধিক অ্যাপ্লিকেশন যদি একই ডেটাবেস ব্যবহার করতে চায়, তবে এটি একে শেয়ার করার জন্য ব্যবহৃত হয়।এই কমান্ডটি চালানোর পর DynamoDB Local একটি লোকাল ইনস্ট্যান্সে রান করবে এবং আপনি এটি ব্যবহার করতে পারবেন।
http://localhost:8000
এ রান করবে। আপনি যে কোনো HTTP রিকোয়েস্ট বা SDK ব্যবহার করে এটি টেস্ট করতে পারবেন।AWS CLI বা AWS SDK ব্যবহার করে DynamoDB Local এর সাথে ইন্টারঅ্যাক্ট করতে পারেন। DynamoDB Local এর সাথে কাজ করার জন্য --endpoint-url
ব্যবহার করতে হবে, যা আপনার লোকাল ইনস্ট্যান্সের URL।
উদাহরণস্বরূপ, AWS CLI দিয়ে DynamoDB Local এ একটি টেবিল তৈরি করতে নিচের কমান্ডটি ব্যবহার করুন:
aws dynamodb create-table \
--table-name TestTable \
--attribute-definitions AttributeName=Id,AttributeType=S \
--key-schema AttributeName=Id,KeyType=HASH \
--provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \
--endpoint-url http://localhost:8000
এই কমান্ডটি DynamoDB Local এ একটি টেবিল তৈরি করবে।
--endpoint-url
ব্যবহার করতে হবে।import boto3
# DynamoDB Local এর জন্য ক্লায়েন্ট তৈরি করা
dynamodb = boto3.resource('dynamodb', endpoint_url="http://localhost:8000")
# টেবিল তৈরি করা
table = dynamodb.create_table(
TableName='TestTable',
KeySchema=[
{
'AttributeName': 'Id',
'KeyType': 'HASH'
},
],
AttributeDefinitions=[
{
'AttributeName': 'Id',
'AttributeType': 'S'
},
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
)
print("Table created:", table.table_status)
এটি একটি টেবিল তৈরি করবে এবং DynamoDB Local এর মাধ্যমে টেস্ট করবে।
DynamoDB Local বন্ধ করতে, আপনার টার্মিনালে Ctrl+C চাপুন অথবা জার ফাইলটি চালু থাকা অবস্থায় কমান্ড প্রম্পট বা টার্মিনাল বন্ধ করে দিন।
DynamoDB Local হল একটি শক্তিশালী টুল যা ডেভেলপারদের জন্য একটি লোকাল পরিবেশে কাজ করার সুযোগ দেয়। এটি আপনাকে AWS DynamoDB এর কার্যকারিতা এবং পারফরম্যান্স পরীক্ষা করার সুযোগ দেয়, যতটা সম্ভব ক্লাউডে যাওয়ার আগে। DynamoDB Local ব্যবহার করলে আপনি ডেভেলপমেন্ট, টেস্টিং এবং ডিবাগিং সহজভাবে করতে পারবেন।
AWS CLI (Command Line Interface) দিয়ে DynamoDB কনফিগার এবং ব্যবহারের জন্য প্রথমে আপনাকে কিছু প্রস্তুতি নিতে হবে এবং তারপর কমান্ড ব্যবহার করে DynamoDB টেবিল তৈরি, কনফিগারেশন এবং পরিচালনা করতে পারবেন। নিচে ধাপে ধাপে দেখানো হলো কীভাবে AWS CLI ব্যবহার করে DynamoDB কনফিগার করবেন:
AWS CLI ইনস্টল করতে হবে যদি আগে ইনস্টল করা না থাকে। আপনি আপনার অপারেটিং সিস্টেম অনুযায়ী নিচের নির্দেশনা অনুসরণ করতে পারেন।
brew install awscli
sudo apt install awscli
AWS CLI কনফিগার করতে নিচের কমান্ডটি চালান:
aws configure
এই কমান্ডটি আপনাকে নিচের ইনপুটগুলো দিতে বলবে:
us-west-2
, us-east-1
)।json
, text
, table
)।এটি কনফিগার করার পরে AWS CLI আপনার প্রোফাইল সংরক্ষণ করবে এবং আপনি পরে যে কোনও কমান্ডে এটি ব্যবহার করতে পারবেন।
AWS CLI ব্যবহার করে DynamoDB টেবিল তৈরি করতে নিচের কমান্ডটি ব্যবহার করতে পারেন:
aws dynamodb create-table \
--table-name MyTable \
--attribute-definitions \
AttributeName=ID,AttributeType=S \
--key-schema \
AttributeName=ID,KeyType=HASH \
--provisioned-throughput \
ReadCapacityUnits=5,WriteCapacityUnits=5
MyTable
)।ID
একটি স্ট্রিং (S) হিসেবে ডিফাইন করা হয়েছে।ID
হ্যাশ কী হিসেবে ব্যবহৃত হচ্ছে।টেবিল তৈরি করার পর, টেবিলটির অবস্থা দেখতে নিচের কমান্ড ব্যবহার করুন:
aws dynamodb describe-table --table-name MyTable
এটি টেবিলের তথ্য যেমন স্ট্যাটাস, ডেটা, এবং কনফিগারেশন প্রদর্শন করবে।
DynamoDB টেবিলে ডেটা ইনসার্ট করতে put-item
কমান্ড ব্যবহার করতে হবে:
aws dynamodb put-item \
--table-name MyTable \
--item '{"ID": {"S": "123"}, "Name": {"S": "John Doe"}, "Age": {"N": "30"}}'
এখানে:
MyTable
)।DynamoDB টেবিল থেকে একটি নির্দিষ্ট আইটেম দেখতে get-item
কমান্ড ব্যবহার করুন:
aws dynamodb get-item \
--table-name MyTable \
--key '{"ID": {"S": "123"}}'
এখানে:
ID
যার মান 123
)।টেবিলের ডেটা আপডেট করতে update-item
কমান্ড ব্যবহার করুন:
aws dynamodb update-item \
--table-name MyTable \
--key '{"ID": {"S": "123"}}' \
--update-expression "SET Age = :newAge" \
--expression-attribute-values '{":newAge": {"N": "31"}}'
এখানে:
Age
ফিল্ডকে 31
এ আপডেট করা হচ্ছে)।ডেটা মুছে ফেলতে delete-item
কমান্ড ব্যবহার করুন:
aws dynamodb delete-item \
--table-name MyTable \
--key '{"ID": {"S": "123"}}'
এখানে:
যদি আপনি টেবিলটি মুছে ফেলতে চান তবে delete-table
কমান্ড ব্যবহার করুন:
aws dynamodb delete-table --table-name MyTable
AWS CLI দিয়ে DynamoDB কনফিগার এবং পরিচালনা করা খুবই সহজ। এটি একটি শক্তিশালী টুল যা আপনাকে সিম্পল কমান্ডের মাধ্যমে DynamoDB সার্ভিসকে পরিচালনা করতে সহায়তা করে।
DynamoDB SDK আপনাকে DynamoDB-এর সঙ্গে আপনার অ্যাপ্লিকেশনকে ইন্টিগ্রেট করতে সাহায্য করে, এবং এটি AWS SDK-এর মাধ্যমে বিভিন্ন প্রোগ্রামিং ভাষায় ব্যবহৃত হতে পারে। নিচে আমরা Python, JavaScript, এবং Java এর জন্য SDK সেটআপ করার পদ্ধতি বিস্তারিতভাবে দেখাব।
Python এ DynamoDB ব্যবহার করতে Boto3 নামক SDK ব্যবহার করা হয়। Boto3 হল AWS SDK for Python, যা AWS সেবাগুলির সাথে যোগাযোগের জন্য ব্যবহৃত হয়।
Boto3 ইনস্টল করতে pip ব্যবহার করুন:
pip install boto3
আপনার AWS অ্যাকাউন্টের Access Key এবং Secret Key দিয়ে AWS CLI বা Boto3 কনফিগার করুন। আপনি AWS CLI ব্যবহার করে কনফিগার করতে পারেন:
aws configure
এখানে আপনাকে আপনার AWS Access Key, Secret Key, Region এবং Output Format প্রদান করতে হবে।
এখন আপনি Python কোডে DynamoDB ব্যবহার করতে পারবেন। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি টেবিল তৈরি এবং ডেটা ইন্সার্ট করা হয়েছে:
import boto3
# DynamoDB রিসোর্স তৈরি করা
dynamodb = boto3.resource('dynamodb', region_name='us-west-2')
# নতুন টেবিল তৈরি করা
table = dynamodb.create_table(
TableName='Movies',
KeySchema=[
{
'AttributeName': 'Year',
'KeyType': 'HASH' # Partition key
},
{
'AttributeName': 'Title',
'KeyType': 'RANGE' # Sort key
}
],
AttributeDefinitions=[
{
'AttributeName': 'Year',
'AttributeType': 'N'
},
{
'AttributeName': 'Title',
'AttributeType': 'S'
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
)
# টেবিলের তৈরি হওয়া নিশ্চিত করা
print("Table status:", table.table_status)
# ডেটা ইন্সার্ট করা
table = dynamodb.Table('Movies')
response = table.put_item(
Item={
'Year': 2020,
'Title': 'The Example Movie',
'Info': {
'Director': 'John Doe',
'Rating': 8.5
}
}
)
print("PutItem succeeded:", response)
JavaScript এ DynamoDB ব্যবহার করতে AWS SDK for JavaScript ব্যবহার করা হয়, যা Node.js অ্যাপ্লিকেশন এবং ব্রাউজার-ভিত্তিক অ্যাপ্লিকেশন উভয়ের জন্য উপযুক্ত।
Node.js প্রোজেক্টে AWS SDK ইনস্টল করতে:
npm install aws-sdk
এখন আপনার Access Key এবং Secret Key দিয়ে SDK কনফিগার করতে হবে। এটি আপনি কোডের ভিতরেও কনফিগার করতে পারেন বা AWS CLI কনফিগারেশন ফাইল ব্যবহার করতে পারেন।
const AWS = require('aws-sdk');
AWS.config.update({
region: 'us-west-2',
accessKeyId: 'YOUR_ACCESS_KEY_ID',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY'
});
const dynamodb = new AWS.DynamoDB();
var params = {
TableName : "Movies",
KeySchema: [
{ AttributeName: "Year", KeyType: "HASH" }, // Partition key
{ AttributeName: "Title", KeyType: "RANGE" } // Sort key
],
AttributeDefinitions: [
{ AttributeName: "Year", AttributeType: "N" },
{ AttributeName: "Title", AttributeType: "S" }
],
ProvisionedThroughput: { ReadCapacityUnits: 5, WriteCapacityUnits: 5 }
};
dynamodb.createTable(params, function(err, data) {
if (err) {
console.log("Unable to create table. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Created table. Table description JSON:", JSON.stringify(data, null, 2));
}
});
Java অ্যাপ্লিকেশনেও AWS SDK ব্যবহার করে DynamoDB-এর সঙ্গে ইন্টিগ্রেট করা যায়। Java SDK এর মাধ্যমে DynamoDB সিস্টেমের সমস্ত ফিচার সহজেই ব্যবহার করা যায়।
Maven ব্যবহারকারীদের জন্য পম.এক্সএমএল ফাইলে নিম্নলিখিত ডিপেনডেন্সি যুক্ত করুন:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.11.1000</version>
</dependency>
অথবা Gradle ব্যবহারকারীদের জন্য:
implementation 'com.amazonaws:aws-java-sdk-dynamodb:1.11.1000'
আপনার AWS Access Key এবং Secret Key দিয়ে AWS SDK কনফিগার করতে পারেন:
AWSCredentials credentials = new BasicAWSCredentials(
"YOUR_ACCESS_KEY_ID",
"YOUR_SECRET_ACCESS_KEY"
);
AmazonDynamoDB dynamoDB = AmazonDynamoDBClient.builder()
.withRegion(Regions.US_WEST_2)
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.build();
DynamoDB dynamoDB = new DynamoDB(client);
Table table = dynamoDB.createTable(
"Movies",
Arrays.asList(
new KeySchemaElement("Year", KeyType.HASH), // Partition key
new KeySchemaElement("Title", KeyType.RANGE) // Sort key
),
Arrays.asList(
new AttributeDefinition("Year", ScalarAttributeType.N),
new AttributeDefinition("Title", ScalarAttributeType.S)
),
new ProvisionedThroughput(5L, 5L)
);
System.out.println("Table created successfully!");
এখন আপনি Python (Boto3), JavaScript (AWS SDK for JavaScript), এবং Java (AWS SDK for Java) তে DynamoDB SDK সেটআপ করতে পারবেন। এই SDK গুলি আপনাকে DynamoDB সেবার সঙ্গে আপনার অ্যাপ্লিকেশনকে ইন্টিগ্রেট করতে সাহায্য করবে এবং সেখান থেকে ডেটা রিড, রাইট এবং ম্যানেজ করার সুবিধা প্রদান করবে।
Read more