ArangoDB তার মাল্টি-মডেল ডাটাবেস আর্কিটেকচার এবং API Integration এর মাধ্যমে বিভিন্ন প্রযুক্তির সাথে সহজেই ইন্টিগ্রেট করা যায়। এটি ডেভেলপারদের বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং টুল ব্যবহার করে ডেটা ম্যানেজমেন্ট, গ্রাফ অ্যানালাইসিস এবং ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন তৈরি করার সুবিধা দেয়।
ArangoDB বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজের জন্য SDK এবং ক্লায়েন্ট লাইব্রেরি প্রদান করে:
Node.js এর জন্য ArangoDB একটি ক্লায়েন্ট লাইব্রেরি প্রদান করে। এটি ব্যবহার করে ডেটাবেসের সাথে সরাসরি ইন্টারঅ্যাক্ট করা যায়।
const { Database } = require('arangojs');
const db = new Database({ url: "http://localhost:8529" });
db.useDatabase("myDatabase");
db.useBasicAuth("username", "password");
(async () => {
const result = await db.query('FOR doc IN myCollection RETURN doc');
console.log(await result.all());
})();
Python এর জন্য ArangoDB-র ক্লায়েন্ট লাইব্রেরি হলো python-arango
।
from arango import ArangoClient
client = ArangoClient()
db = client.db('myDatabase', username='username', password='password')
# Insert a document
collection = db.collection('myCollection')
collection.insert({'name': 'Alice', 'age': 25})
# Query documents
cursor = db.aql.execute('FOR doc IN myCollection RETURN doc')
for doc in cursor:
print(doc)
ArangoDB-তে GraphQL ব্যবহার করে ডেটা রিট্রাইভ করা যায়। এর জন্য Apollo Server ব্যবহার করা হয়।
PHP প্রজেক্টে ArangoDB ইন্টিগ্রেশনের জন্য triagens/ArangoDb
লাইব্রেরি ব্যবহার করা হয়।
require 'vendor/autoload.php';
use ArangoDBClient\Connection;
use ArangoDBClient\CollectionHandler;
$connectionOptions = [
Connection::OPTION_ENDPOINT => 'tcp://127.0.0.1:8529',
Connection::OPTION_AUTH_USER => 'username',
Connection::OPTION_AUTH_PASSWD => 'password',
];
$connection = new Connection($connectionOptions);
$collectionHandler = new CollectionHandler($connection);
$collectionHandler->create('myCollection');
ArangoDB বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ, Big Data Framework, এবং ক্লাউড টেকনোলজির সাথে শক্তিশালী ইন্টিগ্রেশন সমর্থন করে। এর মাধ্যমে ডেভেলপাররা সহজে ডেটা ম্যানেজমেন্ট, অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং মেশিন লার্নিং প্রজেক্ট পরিচালনা করতে পারে। ArangoDB-র এই বৈশিষ্ট্য একে একটি পরিপূর্ণ ডাটাবেস সমাধান করে তুলেছে।
ArangoDB API Integration হলো ডেটাবেস এবং অ্যাপ্লিকেশনের মধ্যে ডেটা এক্সচেঞ্জ এবং ম্যানিপুলেশনের একটি গুরুত্বপূর্ণ পদ্ধতি। ArangoDB একটি শক্তিশালী RESTful API সরবরাহ করে, যা ডেটাবেসের সকল কার্যক্রম—ডেটা সংরক্ষণ, অনুসন্ধান, এবং পরিচালনা—সরাসরি অ্যাপ্লিকেশন থেকে সম্পাদন করতে দেয়।
curl
, Postman)।http://127.0.0.1:8529
.ডাটাবেস তৈরি করার জন্য POST রিকোয়েস্ট ব্যবহার করা হয়।
curl -X POST http://127.0.0.1:8529/_api/database \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "my_database"
}'
Collection তৈরি করতে POST রিকোয়েস্ট ব্যবহার করুন।
curl -X POST http://127.0.0.1:8529/_api/collection \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "users",
"type": 2
}'
type: 2 মানে Document Collection, 3 মানে Edge Collection।
ডকুমেন্ট তৈরি করতে POST রিকোয়েস্ট ব্যবহার করুন।
curl -X POST http://127.0.0.1:8529/_api/document/users \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"email": "john.doe@example.com",
"age": 29
}'
ডকুমেন্ট পড়ার জন্য GET রিকোয়েস্ট ব্যবহার করুন।
curl -X GET http://127.0.0.1:8529/_api/document/users/ \
-H "accept: application/json"
AQL কোয়েরি চালানোর জন্য POST রিকোয়েস্ট ব্যবহার করুন।
curl -X POST http://127.0.0.1:8529/_api/cursor \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"query": "FOR user IN users FILTER user.age > 25 RETURN user"
}'
ডকুমেন্ট আপডেট করতে PATCH রিকোয়েস্ট ব্যবহার করুন।
curl -X PATCH http://127.0.0.1:8529/_api/document/users/ \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"email": "updated_email@example.com"
}'
ডকুমেন্ট মুছে ফেলার জন্য DELETE রিকোয়েস্ট ব্যবহার করুন।
curl -X DELETE http://127.0.0.1:8529/_api/document/users/ \
-H "accept: application/json"
ArangoDB-এর জন্য একটি অফিসিয়াল JavaScript Driver রয়েছে।
const arangojs = require("arangojs");
const db = new arangojs.Database({
url: "http://127.0.0.1:8529"
});
db.useDatabase("my_database");
db.useBasicAuth("root", "password");
db.collection("users").save({
name: "John Doe",
email: "john.doe@example.com",
age: 29
});
Python এর জন্য ArangoDB Driver (python-arango) ব্যবহার করুন।
from arango import ArangoClient
client = ArangoClient()
# Connect to "_system" database as root user.
db = client.db('_system', username='root', password='')
# Create a new collection.
if not db.has_collection('users'):
users = db.create_collection('users')
# Insert a document.
users.insert({'name': 'John Doe', 'email': 'john.doe@example.com', 'age': 29})
ArangoDB API Integration ডেভেলপারদের ডেটাবেস ম্যানেজমেন্ট এবং অ্যাপ্লিকেশন সংযোগ সহজ করে। REST API এবং বিভিন্ন প্রোগ্রামিং ড্রাইভার ব্যবহার করে ডাটাবেস পরিচালনা এবং রিয়েল-টাইম ডেটা প্রসেসিং আরও কার্যকর হয়। এটি একটি ব্যবহারবান্ধব সমাধান যা ডেটা-নির্ভর অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য আদর্শ।
ArangoDB Node.js এর জন্য একটি শক্তিশালী ইন্টিগ্রেশন প্রদান করে, যা ডেভেলপারদের ডেটাবেস অ্যাপ্লিকেশন দ্রুত এবং কার্যকরভাবে তৈরি করতে সাহায্য করে। ArangoDB-এর জন্য অফিসিয়াল arangojs
লাইব্রেরি রয়েছে, যা Node.js অ্যাপ্লিকেশনে ডাটাবেস অপারেশন সম্পন্ন করার জন্য ব্যবহৃত হয়।
প্রজেক্ট ডিরেক্টরি তৈরি করে npm দিয়ে প্রজেক্ট ইনিশিয়ালাইজ করুন:
mkdir arangodb-integration
cd arangodb-integration
npm init -y
arangojs
লাইব্রেরি ইনস্টল করুনNode.js অ্যাপ্লিকেশনের জন্য ArangoDB এর অফিসিয়াল ক্লায়েন্ট লাইব্রেরি:
npm install arangojs
const { Database } = require("arangojs");
// ArangoDB সার্ভারের সাথে সংযোগ স্থাপন
const db = new Database({
url: "http://localhost:8529",
auth: { username: "root", password: "password" },
});
// ডাটাবেস নির্বাচন বা তৈরি
const databaseName = "myDatabase";
db.database(databaseName)
.exists()
.then((exists) => {
if (!exists) {
return db.createDatabase(databaseName);
}
})
.then(() => {
console.log(`Connected to database: ${databaseName}`);
})
.catch((err) => {
console.error("Error connecting to database:", err);
});
const collectionName = "users";
const users = db.collection(collectionName);
// Collection তৈরি করা
users
.exists()
.then((exists) => {
if (!exists) {
return users.create();
}
})
.then(() => {
console.log(`Collection ${collectionName} is ready.`);
})
.catch((err) => {
console.error("Error creating collection:", err);
});
users
.save({ name: "John Doe", age: 30, city: "Dhaka" })
.then((meta) => {
console.log("Document saved:", meta);
})
.catch((err) => {
console.error("Error saving document:", err);
});
users
.update("documentKey", { age: 31 })
.then(() => {
console.log("Document updated.");
})
.catch((err) => {
console.error("Error updating document:", err);
});
users
.document("documentKey")
.then((doc) => {
console.log("Document fetched:", doc);
})
.catch((err) => {
console.error("Error fetching document:", err);
});
users
.remove("documentKey")
.then(() => {
console.log("Document deleted.");
})
.catch((err) => {
console.error("Error deleting document:", err);
});
ArangoDB-এর AQL ব্যবহার করে জটিল কোয়েরি পরিচালনা করা যায়:
db.query(`
FOR user IN users
FILTER user.age > 25
RETURN user
`)
.then((cursor) => cursor.all())
.then((users) => {
console.log("Users fetched:", users);
})
.catch((err) => {
console.error("Error running query:", err);
});
.env
ফাইলে সংরক্ষণ করুন।ArangoDB এবং Node.js ইন্টিগ্রেশন একটি শক্তিশালী সমাধান যা ডেটাবেস অ্যাপ্লিকেশন ডেভেলপমেন্ট সহজ করে। arangojs
লাইব্রেরি ব্যবহার করে ডেটা ম্যানেজমেন্ট, কোয়েরি অপারেশন, এবং ডেটা প্রসেসিং অত্যন্ত কার্যকরভাবে সম্পন্ন করা যায়।
Python ব্যবহার করে ArangoDB-এর সাথে ইন্টিগ্রেশন করা খুবই সহজ এবং কার্যকর। ArangoDB-এর জন্য অফিসিয়াল Python Driver বা লাইব্রেরি হলো python-arango
, যা ডেটাবেসে সংযোগ, ডেটা পরিচালনা এবং কোয়েরি চালানোর জন্য সরঞ্জাম সরবরাহ করে।
ArangoDB-এর Python ড্রাইভার ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
pip install python-arango
ArangoDB সার্ভারের সাথে সংযোগ স্থাপনের জন্য ArangoClient
ব্যবহার করতে হবে।
from arango import ArangoClient
# ArangoClient তৈরি
client = ArangoClient()
# ArangoDB সার্ভারের সাথে সংযোগ
db = client.db(
name='my_database', # ডেটাবেসের নাম
username='root', # ইউজারনেম
password='password' # পাসওয়ার্ড
)
if not client.has_database('my_database'):
client.create_database('my_database')
if not db.has_collection('users'):
users = db.create_collection('users')
users = db.collection('users')
# নতুন ডকুমেন্ট যোগ
users.insert({
'name': 'John Doe',
'email': 'johndoe@example.com',
'age': 30
})
user = users.get('123456') # ডকুমেন্ট আইডি দিয়ে খোঁজা
users.update({
'_key': user['_key'], # ডকুমেন্ট আইডি
'age': 31
})
users.delete('123456') # ডকুমেন্ট আইডি দিয়ে মুছে ফেলা
query = '''
FOR user IN users
FILTER user.age > 25
RETURN user
'''
# কোয়েরি চালানো এবং রেজাল্ট প্রাপ্তি
cursor = db.aql.execute(query)
for doc in cursor:
print(doc)
query = '''
FOR user IN users
FILTER user.age > @min_age
RETURN user
'''
bind_vars = {'min_age': 25}
cursor = db.aql.execute(query, bind_vars=bind_vars)
for doc in cursor:
print(doc)
if not db.has_graph('social_graph'):
graph = db.create_graph('social_graph')
vertices = graph.create_vertex_collection('people')
edges = graph.create_edge_definition(
edge_collection='relations',
from_vertex_collections=['people'],
to_vertex_collections=['people']
)
vertices.insert({
'_key': 'john_doe',
'name': 'John Doe',
'age': 30
})
edges.insert({
'_from': 'people/john_doe',
'_to': 'people/jane_doe',
'relation': 'friend'
})
Python ব্যবহার করে ArangoDB-এর সাথে ইন্টিগ্রেশন সহজ এবং কার্যকর। python-arango
লাইব্রেরি ব্যবহার করে ডাটাবেস পরিচালনা, ডেটা সংযোজন, AQL কোয়েরি চালানো এবং গ্রাফ ডেটা মডেলিং করা সম্ভব। এটি ডেভেলপারদের জন্য একটি শক্তিশালী সমাধান যারা Python-এ অ্যাপ্লিকেশন ডেভেলপ করছেন এবং ArangoDB ব্যবহার করছেন।
ArangoDB এবং GraphQL এর সমন্বয়ে ডেটা ম্যানেজমেন্ট এবং অ্যাপ্লিকেশন ডেভেলপমেন্ট আরও সহজ এবং কার্যকর হয়। GraphQL একটি API Query ভাষা, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা আদান-প্রদানের জন্য ব্যবহার হয়। ArangoDB-তে GraphQL ইন্টিগ্রেশন ব্যবহার করে, ডেভেলপাররা গ্রাফ ডেটাবেসের ডেটা আরও সহজে এবং নির্ভুলভাবে পরিচালনা করতে পারে।
প্রথমে ArangoDB ইনস্টল করুন এবং একটি ডাটাবেস তৈরি করুন। উদাহরণ:
arangod --server.endpoint tcp://127.0.0.1:8529
GraphQL সার্ভার সেটআপ করতে Apollo Server বা Express-GraphQL ব্যবহার করুন।
mkdir arangodb-graphql
cd arangodb-graphql
npm init -y
npm install apollo-server graphql arangojs
const { Database } = require('arangojs');
const db = new Database({
url: "http://127.0.0.1:8529"
});
db.useDatabase("my_database");
db.useBasicAuth("username", "password");
const { gql } = require('apollo-server');
const typeDefs = gql`
type Student {
id: ID!
name: String!
age: Int
}
type Query {
students: [Student]
}
`;
const resolvers = {
Query: {
students: async () => {
const cursor = await db.query('FOR s IN students RETURN s');
return cursor.all();
}
}
};
const { ApolloServer } = require('apollo-server');
const server = new ApolloServer({ typeDefs, resolvers });
server.listen().then(({ url }) => {
console.log(`Server ready at ${url}`);
});
query {
students {
id
name
age
}
}
{
"data": {
"students": [
{ "id": "1", "name": "John Doe", "age": 20 },
{ "id": "2", "name": "Jane Smith", "age": 22 }
]
}
}
ArangoDB এবং GraphQL Integration ডেটা ম্যানেজমেন্টকে আরও কার্যকর করে তোলে। AQL এবং GraphQL এর সমন্বয়ে উন্নত গ্রাফ ডেটা মডেলিং এবং API রেসপন্স প্রদান করা সম্ভব। এটি স্কেলেবল এবং ক্লায়েন্ট-বান্ধব অ্যাপ্লিকেশন তৈরিতে গুরুত্বপূর্ণ ভূমিকা রাখে।
আরও দেখুন...