JCL (Job Control Language)-এ Temporary Dataset এবং GDG (Generation Data Group) দুটি গুরুত্বপূর্ণ ধারণা। এগুলি মূলত ডেটাসেট ব্যবস্থাপনায় ব্যবহৃত হয় এবং একটি নির্দিষ্ট কাজের জন্য ডেটা সংরক্ষণ ও ব্যবহারের নিয়ম নির্ধারণ করে।
Temporary Dataset
Temporary Dataset এমন একটি ডেটাসেট যা শুধুমাত্র কাজ চলাকালীন (Job) ব্যবহৃত হয় এবং কাজ শেষে তা মুছে ফেলা হয়। এটি সাধারণত একটি নতুন ডেটাসেট হিসেবে তৈরি হয়, যেখানে কাজের ফলাফল বা অস্থায়ী ডেটা সংরক্ষণ করা হয়। Temporary Dataset সাধারণত একাধিক জবের মধ্যে পুনরায় ব্যবহৃত হয় না এবং এক্সিকিউশন শেষে এই ডেটাসেটগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়।
Temporary Dataset এর উদাহরণ:
//MYJOB JOB (ACCT), 'Sample Job', CLASS=A, MSGCLASS=X
//STEP1 EXEC PGM=MYPROG
//MYTEMP DD DISP=(NEW,DELETE,DELETE),DSN=&&TEMPFILEএখানে DISP=(NEW,DELETE,DELETE) দ্বারা নির্দেশ দেয়া হয়েছে যে ডেটাসেটটি নতুন তৈরি হবে এবং কাজ শেষে মুছে ফেলা হবে।
&&TEMPFILE একটি temporary dataset নাম এবং এটি একটি ইউনিক নাম হয়ে থাকে যা সেশন বা জবের মধ্যে সীমাবদ্ধ। এটি কাজের শেষে স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়।
GDG (Generation Data Group)
GDG (Generation Data Group) হলো একটি ডেটাসেট গোষ্ঠী যা একাধিক সংস্করণ বা প্রজন্ম (generations) ধারণ করতে সক্ষম। GDG ব্যবহৃত হয় যখন একই ডেটাসেটের একাধিক সংস্করণ রাখা প্রয়োজন হয়। একে "ডেটাসেট গ্রুপ" বলা যেতে পারে, যেখানে প্রতিটি প্রজন্মের ডেটাসেট একটি নির্দিষ্ট নামের সাথে গ্রুপ করা হয়।
GDG এর সাহায্যে আপনি একটি ডেটাসেটের পূর্ববর্তী এবং নতুন সংস্করণ একত্রে রাখতে পারবেন এবং প্রজন্ম অনুসারে সেগুলি নামকরণ করতে পারবেন। GDG সাধারণত ব্যাকআপ, লগ ফাইল, এবং বিভিন্ন প্রজন্মের ডেটা ম্যানেজমেন্টে ব্যবহৃত হয়।
GDG এর গঠন:
GDG একটি বিশেষ ধরনের ডেটাসেট গোষ্ঠী, যা ডেটাসেট নামের সাথে জেনারেশন নম্বর যুক্ত করে তৈরি হয়। যেমন:
- Dataset name:
MY.GDG - Generation names:
MY.GDG(+1),MY.GDG(+2),MY.GDG(-1)ইত্যাদি।
এখানে +1 এবং +2 নির্দেশ করে পরবর্তী প্রজন্মের ডেটাসেট, এবং -1 পূর্ববর্তী প্রজন্মের ডেটাসেট।
GDG এর সিনট্যাক্স
//MYJOB JOB (ACCT), 'Sample Job', CLASS=A, MSGCLASS=X
//STEP1 EXEC PGM=MYPROG
//MYGDG DD DISP=(NEW,CATLG,DELETE),
// DSN=MY.GDG(+1),
// SPACE=(TRK,(50,50),RLSE)এখানে DSN=MY.GDG(+1) দ্বারা নির্দেশ দেওয়া হয়েছে যে MY.GDG গ্রুপের নতুন প্রজন্মটি তৈরি করা হবে। DISP=(NEW,CATLG,DELETE) দ্বারা নতুন প্রজন্মের ডেটাসেট তৈরি হবে, সফলভাবে শেষ হলে ক্যাটালগ করা হবে এবং অস্বাভাবিকভাবে শেষ হলে মুছে ফেলা হবে।
GDG গ্রুপের বিভিন্ন প্রজন্ম:
- +1: পরবর্তী প্রজন্ম।
- +2: পরবর্তী থেকে একাধিক প্রজন্ম।
- -1: পূর্ববর্তী প্রজন্ম।
- -2: পূর্ববর্তী থেকে একাধিক প্রজন্ম।
Temporary Dataset এবং GDG এর মধ্যে পার্থক্য
| বিষয় | Temporary Dataset | GDG (Generation Data Group) |
|---|---|---|
| সংরক্ষণকাল | শুধুমাত্র কাজ চলাকালীন সময়। কাজ শেষে মুছে ফেলা হয়। | একাধিক প্রজন্মের ডেটাসেট ধারণ করে এবং দীর্ঘস্থায়ী। |
| ব্যবহার | অস্থায়ী ডেটা সংরক্ষণ এবং সংক্ষিপ্ত কাজের জন্য। | দীর্ঘস্থায়ী ডেটাসেট গোষ্ঠী, যেমন ব্যাকআপ, লগ, বা ফাইল ভার্সনিং। |
| নামকরণ | সাধারণত &&TEMPFILE এর মত ইউনিক নাম ব্যবহার হয়। | GDG গ্রুপ নামের সাথে প্রজন্ম নম্বর যোগ করা হয়, যেমন MY.GDG(+1)। |
| ডেটাসেট এক্সেস | শুধুমাত্র কাজ চলাকালীন ব্যবহার হয়। | একাধিক প্রজন্মের মধ্যে ডেটাসেট সহজেই অ্যাক্সেস করা যায়। |
সারসংক্ষেপ
JCL তে Temporary Dataset এবং GDG দুটি গুরুত্বপূর্ণ ডেটাসেট ব্যবস্থাপনা ধারণা। Temporary Dataset শুধু একটি কাজের জন্য তৈরি হয় এবং কাজ শেষে মুছে ফেলা হয়, যেখানে GDG একাধিক প্রজন্মের ডেটাসেটকে গ্রুপ করে এবং দীর্ঘস্থায়ী ডেটাসেট ম্যানেজমেন্টে ব্যবহৃত হয়। GDG সাধারণত ব্যাকআপ, লগ ফাইল বা বিভিন্ন প্রজন্মের ডেটা রাখার জন্য ব্যবহৃত হয়, আর Temporary Dataset অস্থায়ী ডেটা সংরক্ষণ এবং কাজের ফলাফল দ্রুত ব্যবহারের জন্য ব্যবহৃত হয়।
Read more