ওরিয়েন্টডিবি (OrientDB) এর REST API ব্যবহার করে আপনি HTTP প্রোটোকলের মাধ্যমে ডেটাবেসে অপারেশন সম্পাদন করতে পারেন। REST API ব্যবহার করে আপনি CRUD (Create, Read, Update, Delete) অপারেশন করতে পারবেন এবং ডেটাবেসের বিভিন্ন ফিচার যেমন কুয়েরি, ট্রানজাকশন, এবং ডেটা ম্যানিপুলেশন পরিচালনা করতে পারবেন। REST API-টি বিশেষভাবে সুবিধাজনক যখন আপনি বাইরের অ্যাপ্লিকেশন বা ওয়েব সার্ভিসের মাধ্যমে OrientDB-এ ইন্টারঅ্যাক্ট করতে চান।
OrientDB REST API এর মূল ফিচার
- CRUD অপারেশন: ডেটাবেসে নতুন ডেটা তৈরি, পড়া, আপডেট এবং মুছে ফেলা।
- Query Execution: Cypher কুয়েরি বা SQL কুয়েরি চালানো।
- Transaction Management: ট্রানজাকশন শুরু, কমিট এবং রোলব্যাক করা।
- Graph Traversal: গ্রাফ ডেটাবেসের মধ্যে নোড এবং এজের সম্পর্ক অনুসন্ধান করা।
- Authentication: ইউজার অথেনটিকেশন এবং অথোরাইজেশন ব্যবস্থাপনা।
OrientDB REST API এর URL এবং HTTP Methods
OrientDB REST API এর মাধ্যমে ডেটাবেসে HTTP মেথড ব্যবহার করে বিভিন্ন রিকোয়েস্ট করা হয়। এর মধ্যে প্রধান HTTP মেথড হলো:
- GET: ডেটা পড়ার জন্য ব্যবহৃত।
- POST: ডেটা তৈরি বা সম্পাদনা করার জন্য ব্যবহৃত।
- PUT: ডেটা আপডেট করার জন্য ব্যবহৃত।
- DELETE: ডেটা মুছে ফেলার জন্য ব্যবহৃত।
অতএব, REST API ব্যবহার করতে হলে আপনাকে একাধিক এন্ডপয়েন্ট (Endpoints) এবং HTTP মেথডের মাধ্যমে ডেটাবেসের বিভিন্ন ফিচার অ্যাক্সেস করতে হবে।
OrientDB REST API Endpoints
Base URL: OrientDB REST API-এর জন্য সাধারণ base URL হলো:
http://<server_ip>:2480
এই URL-এর মাধ্যমে আপনি OrientDB-এ HTTP রিকোয়েস্ট পাঠাতে পারবেন, যেমন:
http://localhost:2480
1. Authenticating with the API
প্রথমে আপনাকে API ব্যবহার করার জন্য লগইন করতে হবে। এর জন্য আপনাকে username এবং password পাস করতে হবে। সাধারণত লগইন করা হয় /login এন্ডপয়েন্টে:
POST রিকোয়েস্ট:
- URL:
http://localhost:2480/login/<username>/<password> - উদাহরণ:
curl -u root:root http://localhost:2480/login- URL:
এটি আপনাকে API-তে এক্সেস প্রদান করবে এবং একটি session id ফেরত দিবে, যা পরবর্তী রিকোয়েস্টে ব্যবহার করতে হবে।
2. Create Vertex (নতুন নোড তৈরি করা)
গ্রাফ ডেটাবেসে নতুন নোড (Vertex) তৈরি করার জন্য POST রিকোয়েস্ট করা হয়।
- URL:
/document/<database_name>/class/<class_name> - Request Body: JSON ফর্ম্যাটে ডেটা পাঠাতে হবে।
উদাহরণ:
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' \
http://localhost:2480/document/testdb/class/Person
এটি testdb ডেটাবেসের Person ক্লাসে একটি নতুন নোড তৈরি করবে, যার name এবং age প্রপার্টি হবে।
3. Read Vertex (নোড পড়া)
নোড বা Vertex পড়তে GET রিকোয়েস্ট ব্যবহার করতে হবে:
- URL:
/document/<database_name>/<record_id> - উদাহরণ:
curl -X GET http://localhost:2480/document/testdb/12:0
এটি testdb ডেটাবেসের 12:0 আইডি সহ Vertex-এর ডেটা ফেরত দিবে।
4. Update Vertex (নোড আপডেট করা)
Vertex বা নোড আপডেট করতে PUT রিকোয়েস্ট ব্যবহার করা হয়:
- URL:
/document/<database_name>/<record_id> - Request Body: JSON ফর্ম্যাটে নতুন ডেটা পাঠাতে হবে।
উদাহরণ:
curl -X PUT -H "Content-Type: application/json" -d '{"age": 31}' \
http://localhost:2480/document/testdb/12:0
এটি testdb ডেটাবেসের 12:0 আইডি সহ Vertex-এর age প্রপার্টি আপডেট করবে।
5. Delete Vertex (নোড মুছে ফেলা)
নোড বা Vertex মুছতে DELETE রিকোয়েস্ট ব্যবহার করতে হয়:
- URL:
/document/<database_name>/<record_id>
উদাহরণ:
curl -X DELETE http://localhost:2480/document/testdb/12:0
এটি testdb ডেটাবেসের 12:0 আইডি সহ Vertex মুছে ফেলবে।
6. Running Queries (কুয়েরি চালানো)
OrientDB REST API-তে SQL বা Cypher কুয়েরি চালানোও সম্ভব। কুয়েরি চালানোর জন্য POST রিকোয়েস্ট পাঠাতে হবে।
- URL:
/command/<database_name>/<language> - Method:
POST
Query Example:
curl -X POST -H "Content-Type: application/json" -d '{"language": "sql", "query": "SELECT FROM Person WHERE name = 'John'"}' \
http://localhost:2480/command/testdb/sql
এটি testdb ডেটাবেসে Person টেবিল থেকে name = 'John' এই শর্তে সকল রেকর্ড পড়বে।
7. Transaction Management (ট্রানজাকশন পরিচালনা)
OrientDB-তে ট্রানজাকশন শুরু, কমিট, এবং রোলব্যাক করা যায়। REST API তে ট্রানজাকশন পরিচালনার জন্য:
- Start Transaction:
/begin - Commit Transaction:
/commit - Rollback Transaction:
/rollback
উদাহরণ:
curl -X POST http://localhost:2480/begin
এটি একটি নতুন ট্রানজাকশন শুরু করবে। তারপরে, আপনি বিভিন্ন ডেটা অপারেশন সম্পন্ন করতে পারবেন এবং শেষে commit অথবা rollback করতে পারবেন।
8. Graph Traversal with REST API
গ্রাফ ডেটাবেসের মধ্যে সম্পর্ক অনুসন্ধান করতে Gremlin বা Cypher ব্যবহার করে ট্রাভার্সাল করা যায়।
Example of Graph Traversal:
curl -X POST -H "Content-Type: application/json" -d '{"language": "gremlin", "query": "g.V().has('name', 'John').out('KNOWS').values('name')"}' \
http://localhost:2480/command/testdb/gremlin
এটি John নামের Vertex থেকে KNOWS সম্পর্ক অনুসরণ করে সম্পর্কিত অন্যান্য নোডের নাম ফেরত দিবে।
সারাংশ
OrientDB REST API একটি শক্তিশালী ইন্টারফেস যা HTTP রিকোয়েস্টের মাধ্যমে OrientDB ডেটাবেসের সাথে যোগাযোগ করতে সহায়তা করে। এটি ডেটাবেসের বিভিন্ন কার্যক্রম যেমন CRUD অপারেশন, কুয়েরি চালানো, গ্রাফ ট্রাভার্সাল, এবং ট্রানজাকশন পরিচালনা করতে ব্যবহৃত হয়। REST API ব্যবহার করে আপনি বাইরের অ্যাপ্লিকেশন বা ওয়েব সার্ভিসের মাধ্যমে OrientDB-এ ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ করতে পারেন, যা ডেটাবেসের সঙ্গে সহজভাবে ইন্টিগ্রেটেড সিস্টেম তৈরি করতে সহায়ক।
Read more