Nested এবং Linked Documents

Database Tutorials - আরাঙ্গো (ArangoDB) Data Modeling in ArangoDB |
276
276

ArangoDB-তে Nested Documents এবং Linked Documents ডেটা মডেলিংয়ের দুটি গুরুত্বপূর্ণ ধারণা। এগুলো ডেটার মধ্যে সম্পর্ক এবং কাঠামো গঠনে সহায়ক।


Nested Documents

Nested Documents কী?

Nested Documents হলো এমন ডকুমেন্ট যা একটি ডকুমেন্টের ভেতরেই আরেকটি ডকুমেন্ট হিসাবে থাকে। এটি JSON ফরম্যাটে ডেটা গঠন করার জন্য ব্যবহৃত হয়, যেখানে একটি ডকুমেন্টের মধ্যে অন্যান্য ডেটার গ্রুপ থাকে।

কেন Nested Documents ব্যবহার করবেন?

  • একই ধরনের সম্পর্কিত ডেটা একসঙ্গে সংরক্ষণ করতে।
  • কোয়েরি পারফরম্যান্স উন্নত করতে (যখন ডেটা একসাথে ব্যবহৃত হয়)।
  • সহজ JSON গঠন এবং রিডেবিলিটি বাড়াতে।

উদাহরণ:

{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "Dhaka",
    "zip": "1205"
  },
  "phones": [
    {
      "type": "mobile",
      "number": "1234567890"
    },
    {
      "type": "home",
      "number": "9876543210"
    }
  ]
}

Nested Documents নিয়ে কাজ

  • ডকুমেন্ট তৈরি:
db.users.insert({
  name: "John Doe",
  age: 30,
  address: {
    street: "123 Main St",
    city: "Dhaka",
    zip: "1205"
  }
});
  • Nested Fields কোয়েরি করা:
FOR user IN users
  FILTER user.address.city == "Dhaka"
  RETURN user

Linked Documents

Linked Documents কী?

Linked Documents হলো এমন ডকুমেন্ট যা একে অপরের সাথে রেফারেন্সের মাধ্যমে সম্পর্কিত থাকে। এটি ArangoDB-তে Graph Database বা Edge Collection ব্যবহার করে তৈরি হয়।

কেন Linked Documents ব্যবহার করবেন?

  • ডেটার মধ্যে জটিল সম্পর্ক মডেল করতে।
  • বড় ডেটাবেসে সম্পর্কিত ডেটা আলাদাভাবে সংরক্ষণ করে কোয়েরি পারফরম্যান্স উন্নত করতে।
  • Graph Traversal এর মাধ্যমে ডেটা বিশ্লেষণ করতে।

উদাহরণ:

Document Collection:
{
  "_key": "user1",
  "name": "John Doe"
}
Edge Collection:
{
  "_from": "users/user1",
  "_to": "orders/order123"
}

Linked Documents তৈরি

  1. Vertex তৈরি:
db.users.insert({ _key: "user1", name: "John Doe" });
db.orders.insert({ _key: "order123", product: "Laptop" });
  1. Edge তৈরি:
db.edges.insert({
  _from: "users/user1",
  _to: "orders/order123"
});
  1. Graph Traversal কোয়েরি:
FOR vertex, edge IN OUTBOUND "users/user1" edges
  RETURN vertex

Nested vs Linked Documents

প্যারামিটারNested DocumentsLinked Documents
কাঠামোডকুমেন্টের মধ্যে অন্য ডকুমেন্ট।আলাদা ডকুমেন্ট যা সম্পর্কিত।
ডেটার সম্পর্কএকই ডকুমেন্টে সংরক্ষিত।Graph বা Edge ব্যবহার করে সম্পর্কিত।
উপযোগিতাসহজ এবং কম জটিল সম্পর্কের জন্য।জটিল এবং বহুমাত্রিক সম্পর্কের জন্য।
কোয়েরি পারফরম্যান্সদ্রুত, যদি ডেটা একসাথে ব্যবহৃত হয়।Graph Traversal-এর সময় কার্যকর।
ডেটা রিডান্ডেন্সিডেটা রিডান্ডেন্সির সম্ভাবনা বেশি।রিডান্ডেন্সি কম, কারণ সম্পর্ক আলাদাভাবে সংরক্ষিত।

উপকারিতা

Nested Documents:

  • ডেটা একই ডকুমেন্টে থাকায় দ্রুত অ্যাক্সেস।
  • JSON ফরম্যাট সহজ এবং রিডেবল।

Linked Documents:

  • ডেটার মধ্যে সম্পর্ক দৃশ্যমান।
  • গ্রাফিক্যাল অ্যানালাইসিস এবং Traversal সহজ।

সারাংশ

ArangoDB-তে Nested Documents এবং Linked Documents ডেটা মডেলিংয়ের দুইটি ভিন্ন পদ্ধতি। Nested Documents সহজ ডেটা গঠনের জন্য উপযুক্ত, যেখানে Linked Documents জটিল সম্পর্ক মডেলিং এবং গ্রাফ ভিত্তিক ডেটা বিশ্লেষণের জন্য আদর্শ। প্রকল্পের চাহিদা অনুযায়ী এদের যেকোনো একটি বা উভয়ই ব্যবহার করা যেতে পারে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion