Aggregation Queries ArangoDB-এর একটি শক্তিশালী ফিচার যা ডেটা বিশ্লেষণ ও সারাংশ তৈরি করার জন্য ব্যবহার করা হয়। ArangoDB-তে AQL (Arango Query Language) ব্যবহার করে বিভিন্ন প্রকার ডেটা অ্যানালাইসিস, যেমন গাণিতিক গড়, সংখ্যা গণনা, সর্বাধিক বা সর্বনিম্ন মান নির্ধারণ, এবং অন্যান্য জটিল অ্যানালাইসিস করা যায়।
Aggregation Queries-এর প্রধান কাজ
- Count: ডেটার সংখ্যা গণনা।
- Sum: নির্দিষ্ট ফিল্ডের মান যোগ করা।
- Average: গড় নির্ণয়।
- Min/Max: সর্বনিম্ন এবং সর্বোচ্চ মান নির্ধারণ।
- Group By: নির্দিষ্ট ফিল্ড অনুযায়ী ডেটা গ্রুপ করা।
- Collect: গ্রুপিং এবং ডেটা প্রসেসিং।
Aggregation Queries-এর উদাহরণ
১. ডেটা গণনা করা (COUNT)
নিচের উদাহরণে, একটি "employees" সংগ্রহ থেকে কতজন কর্মচারী আছে তা গণনা করা হয়েছে:
FOR employee IN employees
RETURN LENGTH(employee)
অথবা সরাসরি:
RETURN LENGTH(employees)
২. নির্দিষ্ট ফিল্ডের গড় নির্ণয় (AVERAGE)
কর্মচারীদের বয়সের গড় বের করতে:
FOR employee IN employees
RETURN AVERAGE(employee.age)
৩. সর্বনিম্ন এবং সর্বাধিক মান নির্ধারণ (MIN/MAX)
কর্মচারীদের সর্বনিম্ন এবং সর্বাধিক বয়স বের করতে:
RETURN {
minAge: MIN(FOR employee IN employees RETURN employee.age),
maxAge: MAX(FOR employee IN employees RETURN employee.age)
}
৪. ফিল্ডের মান যোগ করা (SUM)
কর্মচারীদের মোট বেতন যোগ করতে:
FOR employee IN employees
RETURN SUM(employee.salary)
৫. ডেটা গ্রুপিং করা (GROUP BY)
গ্রুপিং এবং প্রতিটি গ্রুপে আইটেম গণনা করতে:
FOR employee IN employees
COLLECT department = employee.department WITH COUNT INTO count
RETURN { department, count }
বিবরণ:
COLLECT: "department" ফিল্ড অনুযায়ী ডেটা গ্রুপ করে।WITH COUNT INTO count: প্রতিটি গ্রুপে আইটেম সংখ্যা গণনা করে।
৬. একাধিক Aggregation পরিচালনা করা
একটি কোয়েরিতে একাধিক ফাংশন ব্যবহার করা:
FOR employee IN employees
COLLECT department = employee.department INTO group
RETURN {
department,
totalSalary: SUM(group[*].employee.salary),
avgSalary: AVERAGE(group[*].employee.salary),
employeeCount: LENGTH(group)
}
বিবরণ:
SUM: বেতনের যোগফল।AVERAGE: গড় বেতন।LENGTH: প্রতিটি গ্রুপে কর্মচারীর সংখ্যা।
Aggregation Queries-এর প্রধান সুবিধা
- ডেটা অ্যানালাইসিস সহজ: বড় ডেটাসেট থেকে কার্যকর তথ্য বের করা যায়।
- কাস্টম গ্রুপিং এবং প্রসেসিং: "COLLECT" ব্যবহার করে ডেটা গ্রুপ এবং প্রসেস করা যায়।
- পারফরম্যান্স অপ্টিমাইজড: ArangoDB-এর ইনডেক্সিং এবং প্যারালাল প্রসেসিং ব্যবস্থার মাধ্যমে দ্রুত Aggregation সম্ভব।
সারাংশ
Aggregation Queries ArangoDB-তে জটিল ডেটা অ্যানালাইসিস এবং গ্রুপিংয়ের জন্য অপরিহার্য। "AQL"-এর সাহায্যে বিভিন্ন ধরণের গণনা, গড় নির্ণয়, গ্রুপিং এবং ডেটা বিশ্লেষণ করা সহজ এবং কার্যকর। এটি ডেটা-চালিত সিদ্ধান্ত গ্রহণের জন্য একটি শক্তিশালী হাতিয়ার।