KDB+ এবং Q ভাষায় Sym, Timestamp, এবং Time-Series ডেটা টাইপস খুবই গুরুত্বপূর্ণ, বিশেষত যখন ডেটার সাথে বিশ্লেষণ এবং ডেটাবেস পরিচালনা করা হয়। এই টাইপগুলির মধ্যে রয়েছে বিশেষ ধরনের ডেটা, যা KDB+ কে টাইম-সিরিজ ডেটা বিশ্লেষণের জন্য অত্যন্ত শক্তিশালী করে তোলে। নিচে এই ডেটা টাইপগুলির বিস্তারিত আলোচনা করা হলো।
১. Sym (সিম্বল)
Sym একটি বিশেষ ধরনের ডেটা টাইপ যা KDB+ তে স্ট্রিং বা টেক্সটকে একটি সিম্বল আকারে সংরক্ষণ করে। সিম্বল সাধারণত একটি আইডেন্টিফায়ার বা লেবেল হিসেবে ব্যবহৃত হয়, এবং এটি খুবই কার্যকরী যখন ডেটাবেসে স্ট্রিংয়ের সাথে কাজ করতে হয়। সিম্বল টাইপ স্ট্রিং-এর চেয়ে দ্রুত এবং কম মেমরি ব্যবহার করে।
উদাহরণ:
symbol1: `apple / একটি সিম্বল
symbol2: `banana / আরেকটি সিম্বলএখানে apple এবং banana দুটি সিম্বল এবং এগুলি স্ট্রিং-এর তুলনায় দ্রুত এবং মেমরি-অ্যাপ্টিমাইজড।
সিম্বল ব্যবহার:
symbols: `apple`banana`cherry / একাধিক সিম্বলসিম্বলকে সাধারণত ডেটা টেবিলের কলাম হিসেবে বা আইডেন্টিফায়ার হিসেবে ব্যবহৃত হয়।
data: (`apple`banana`cherry) ! (100 200 300) / একটি ডিকশনারি তৈরি করাএখানে, data একটি ডিকশনারি যেখানে apple, banana, এবং cherry সিম্বল হিসেবে ব্যবহৃত হয়েছে এবং তাদের মান যথাক্রমে ১০০, ২০০, এবং ৩০০।
২. Timestamp (টাইমস্ট্যাম্প)
Timestamp KDB+ এর আরেকটি গুরুত্বপূর্ণ ডেটা টাইপ, যা নির্দিষ্ট সময় বা তারিখকে প্রতিনিধিত্ব করে। এটি বিশেষভাবে টাইম-সিরিজ ডেটা বিশ্লেষণে ব্যবহৃত হয়, যেখানে ডেটার সাথে সময় সম্পর্কিত তথ্য সংরক্ষণ করা হয়। টাইমস্ট্যাম্প সাধারণত yyyy.mm.dd hh:mm:ss ফর্ম্যাটে লেখা হয়।
উদাহরণ:
t: 2024.11.16 10:00:00 / একটি টাইমস্ট্যাম্প তৈরি করাএখানে t একটি টাইমস্ট্যাম্প যা 2024.11.16 10:00:00 সময়ের প্রতিনিধিত্ব করে।
টাইমস্ট্যাম্প সহ ডেটা:
timestamps: 2024.11.16 10:00:00 2024.11.16 10:01:00 2024.11.16 10:02:00 / একাধিক টাইমস্ট্যাম্পএটি তিনটি টাইমস্ট্যাম্পের একটি লিস্ট তৈরি করবে।
৩. Time-Series ডেটা টাইপ
Time-Series ডেটা হলো এমন ধরনের ডেটা যা সময়ের সাথে সম্পর্কিত এবং নিয়মিত বা নির্দিষ্ট সময় অন্তর পরিমাপ করা হয়। KDB+ বিশেষভাবে টাইম-সিরিজ ডেটা প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে এবং এটি একাধিক টাইমস্ট্যাম্প সহ ডেটা সংগ্রহ এবং বিশ্লেষণ করতে সক্ষম।
টাইম-সিরিজ ডেটা ব্যবহার:
এখন, Timestamp এবং Sym টাইপের ডেটার সাহায্যে একটি টাইম-সিরিজ তৈরি করা যাক। উদাহরণস্বরূপ, একটি স্টক মার্কেটের ডেটা যেখানে প্রতি মিনিটে স্টকের দাম এবং টাইমস্ট্যাম্প রয়েছে।
t: 2024.11.16 10:00:00 2024.11.16 10:01:00 2024.11.16 10:02:00 / টাইমস্ট্যাম্প
prices: 100.5 101.0 101.5 / স্টকের দাম
time_series: (t; prices) / টাইম-সিরিজ তৈরি করাএখানে time_series একটি টাইম-সিরিজ ডেটা তৈরি করবে, যেখানে t (টাইমস্ট্যাম্প) এবং prices (স্টকের দাম) রয়েছে।
টাইম-সিরিজ বিশ্লেষণ:
আপনি সহজেই টাইম-সিরিজ ডেটার উপর কুইরি বা বিশ্লেষণ চালাতে পারেন। যেমন:
select avg prices by date from time_seriesএটি প্রতিটি দিনের জন্য স্টক দাম (প্রাইস) এর গড় (average) হিসাব করবে।
Time-Series ডেটা এবং টেবিল
KDB+ তে Time-Series ডেটা সাধারণত একটি টেবিল হিসেবে সংগঠিত হয়, যেখানে Timestamp এবং অন্যান্য মান (যেমন প্রাইস, ভলিউম) একটি রেকর্ডের অংশ হিসেবে সংরক্ষিত থাকে।
উদাহরণ:
table: (`time`price) ! (2024.11.16 10:00:00 2024.11.16 10:01:00 2024.11.16 10:02:00; 100.5 101.0 101.5)এখানে একটি টেবিল তৈরি করা হয়েছে যেখানে time এবং price দুটি কলাম রয়েছে।
টাইম-সিরিজ বিশ্লেষণের জন্য কুইরি:
select avg price from table where time within 2024.11.16 10:00:00 2024.11.16 10:02:00এটি টাইম-সিরিজের মধ্যে গড় প্রাইস হিসাব করবে, যেখানে টাইমস্ট্যাম্প ২০২৪.১১.১৬ ১০:০০:০০ থেকে ১০:০২:০০ এর মধ্যে থাকবে।
সারসংক্ষেপ
- Sym হলো একটি স্ট্রিং বা টেক্সট ডেটা যা সিম্বল আকারে সংরক্ষণ করা হয় এবং এটি দ্রুত এবং কম মেমরি ব্যবহৃত হয়।
- Timestamp হলো এমন একটি ডেটা টাইপ যা নির্দিষ্ট সময় বা তারিখকে প্রতিনিধিত্ব করে এবং টাইম-সিরিজ ডেটার জন্য অপরিহার্য।
- Time-Series Data হল এমন ডেটা যা সময়ের সাথে সম্পর্কিত এবং এটি টেবিলের আকারে টাইমস্ট্যাম্পের সাথে ব্যবহৃত হয়।
এই ডেটা টাইপগুলি KDB+ কে টাইম-সিরিজ বিশ্লেষণ এবং দ্রুত ডেটা প্রসেসিংয়ের জন্য অত্যন্ত উপযুক্ত করে তোলে।
Read more