DB2 ডেটাবেস ম্যানেজমেন্ট সিস্টেমে টেবিল পার্টিশনিং এবং ক্লাস্টারিং দুটি গুরুত্বপূর্ণ কৌশল যা বড় ডেটাবেসের পারফরম্যান্স এবং স্কেলেবিলিটি উন্নত করতে সহায়তা করে। এগুলি ডেটাবেসের ডেটা ব্যবস্থাপনা সহজ করে এবং উচ্চ পারফরম্যান্স নিশ্চিত করে, বিশেষত যখন বড় পরিমাণ ডেটা প্রক্রিয়া করার প্রয়োজন হয়।
টেবিল পার্টিশনিং হল একটি কৌশল যার মাধ্যমে একটি বড় টেবিলকে ছোট ছোট অংশে ভাগ করা হয়, যেগুলি একে অপরের থেকে আলাদা ডেটা প্যাটার্নে থাকে। এর মাধ্যমে, ডেটা অ্যাক্সেস দ্রুততর এবং আরও কার্যকরী হয়। DB2 তে টেবিল পার্টিশনিং সাধারণত রেঞ্জ পার্টিশনিং, হ্যাশ পার্টিশনিং, এবং লিস্ট পার্টিশনিং দ্বারা সম্পন্ন করা হয়।
DB2 এ টেবিল পার্টিশনিং তৈরি করতে SQL কমান্ড ব্যবহার করা হয়। নিচে Range Partitioning এর উদাহরণ দেওয়া হলো:
CREATE TABLE Sales (
SalesID INT,
ProductID INT,
SaleDate DATE,
Amount DECIMAL(10,2)
)
PARTITION BY RANGE (SaleDate)
(
PARTITION p1 STARTING FROM '2020-01-01' ENDING AT '2020-12-31',
PARTITION p2 STARTING FROM '2021-01-01' ENDING AT '2021-12-31',
PARTITION p3 STARTING FROM '2022-01-01' ENDING AT '2022-12-31'
);
এই কমান্ডটি Sales টেবিলটি SaleDate কলামের উপর ভিত্তি করে পার্টিশন করবে, যেখানে প্রতিটি বছর আলাদা পার্টিশনে থাকবে।
টেবিল ক্লাস্টারিং হল একটি কৌশল যেখানে সম্পর্কিত টেবিলগুলিকে একত্রিত করা হয় যাতে একাধিক টেবিলের ডেটা শারীরিকভাবে কাছাকাছি সংরক্ষিত থাকে। এটি প্রধানত Foreign Key সম্পর্কিত টেবিলের ক্ষেত্রে ব্যবহৃত হয়। ক্লাস্টারিংয়ের মাধ্যমে, ডেটার অ্যাক্সেস গতি বাড়ানো যায় এবং সম্পর্কিত ডেটার জন্য একাধিক টেবিল স্ক্যান করার প্রয়োজন হয় না।
ধরা যাক, আপনার একটি Order এবং Customer টেবিল রয়েছে, যেগুলির মধ্যে CustomerID ফরেন কী হিসেবে সম্পর্কিত। আপনি এই টেবিলগুলিকে ক্লাস্টার করতে পারেন যাতে CustomerID কলামটি একত্রে রাখা হয়।
CREATE TABLE Customer (
CustomerID INT PRIMARY KEY,
Name VARCHAR(100),
Address VARCHAR(200)
);
CREATE TABLE Order (
OrderID INT PRIMARY KEY,
CustomerID INT,
OrderDate DATE,
Amount DECIMAL(10, 2),
FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID)
)
CLUSTERED BY CustomerID;
এই কমান্ডটি Order এবং Customer টেবিলগুলিকে ক্লাস্টার করবে CustomerID কলামের উপর ভিত্তি করে, যাতে এই কলামগুলো একত্রে সংরক্ষিত হয়।
এই দুটি কৌশল, টেবিল পার্টিশনিং এবং ক্লাস্টারিং, ডেটাবেসের পারফরম্যান্স উন্নত করতে এবং বড় ডেটা সেট পরিচালনা করতে সহায়ক।
common.read_more