KDB+ হল একটি ইন-মেমরি ডাটাবেস সিস্টেম, যা বিশেষভাবে টাইম-সিরিজ ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে। KDB+ এ টেবিল হল একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার, যা ডেটা সংরক্ষণ এবং প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এটি একটি অর্ডারড এবং কলাম-বেসড ডেটা স্ট্রাকচার, যেখানে ডেটা সন্নিবেশিত থাকে একাধিক কলামের মধ্যে, এবং প্রতিটি কলাম একটি নির্দিষ্ট ডেটা টাইপ ধারণ করে।
KDB+ এ টেবিলের গঠন
টেবিল সাধারণত একাধিক কলাম নিয়ে গঠিত হয়, এবং প্রতিটি কলাম একটি নির্দিষ্ট ডেটা টাইপ ধারণ করে (যেমন, int, float, symbol, time, date ইত্যাদি)। KDB+ এ টেবিল তৈরি করা হয় ! অপারেটর ব্যবহার করে, যেখানে কলাম নাম এবং তাদের সংশ্লিষ্ট ডেটা দেওয়া হয়।
- টেবিল গঠন
টেবিলের গঠন সাধারণত এইরকম হয়:
(column1, column2, ...) ! (values1, values2, ...)- column1, column2,...: কলামের নাম
- values1, values2,...: কলামের মান (এই মানগুলো লিস্ট আকারে থাকবে)
উদাহরণ:
table: (`name`age`city) ! ("John" "Jane" "Mike"; 28 22 34; "NewYork" "LA" "Chicago")এখানে:
name,age,cityহল কলাম নাম,"John","Jane","Mike"হলnameকলামের মান,28,22,34হলageকলামের মান,"NewYork","LA","Chicago"হলcityকলামের মান।
এটি একটি টেবিল তৈরি করবে যার ৩টি কলাম এবং ৩টি সারি থাকবে।
টেবিলের ভিতরের ডেটা দেখুন
টেবিলের সমস্ত ডেটা দেখতে, আপনি শুধু টেবিলের নাম লিখলেই তা প্রদর্শিত হবে।
উদাহরণ:
tableআউটপুট হবে:
name age city
----------------
John 28 NewYork
Jane 22 LA
Mike 34 Chicagoটেবিলের কলামসমূহের ধরণ
KDB+ এ টেবিলের প্রতিটি কলাম একটি লিস্ট হিসেবে কাজ করে, এবং এই লিস্টের উপাদানগুলি একে অপরের সাথে সমান দৈর্ঘ্যের হতে হবে। কলামগুলো বিভিন্ন ডেটা টাইপ ধারণ করতে পারে, যেমন:
- int (পূর্ণসংখ্যা)
- float (ডেসিমাল মান)
- symbol (স্ট্রিং)
- date (তারিখ)
- time (সময়)
- timestamp (টাইমস্ট্যাম্প)
- কলাম টাইপ উদাহরণ
table: (`id`name`age`salary`joining_date) ! (1 2 3 4 5; "John" "Jane" "Mike" "Anna" "Tom"; 28 22 34 30 25; 5000.5 4000.75 6000 4500 5500; 2024.01.01 2024.05.05 2023.11.23 2024.07.14 2023.09.30)এখানে:
idএকটি int কলাম,nameএকটি symbol কলাম,ageএকটি int কলাম,salaryএকটি float কলাম,joining_dateএকটি date কলাম।
টেবিলের আকার
KDB+ এ টেবিলের আকার জানার জন্য count ফাংশন ব্যবহার করা হয়, যা টেবিলের সারি এবং কলামের সংখ্যা প্রদান করে।
উদাহরণ:
count table / আউটপুট হবে 5 5 (৫টি সারি এবং ৫টি কলাম)টেবিলের উপাদান অ্যাক্সেস
KDB+ এ টেবিলের কলামগুলো অ্যাক্সেস করা হয় কলামের নাম দিয়ে, যেটি সাধারণত সিম্বলের (symbol) মাধ্যমে করা হয়।
- একটি কলাম অ্যাক্সেস করা
table`name / আউটপুট হবে: "John" "Jane" "Mike" "Anna" "Tom"- একাধিক কলাম অ্যাক্সেস করা
table (`name`age) / আউটপুট হবে:
name age
-------------
John 28
Jane 22
Mike 34
Anna 30
Tom 25টেবিলের মধ্যে ডেটা আপডেট এবং ম্যানিপুলেশন
KDB+ এ টেবিলের মধ্যে ডেটা আপডেট বা পরিবর্তন করার জন্য update কুয়েরি ব্যবহার করা হয়।
- টেবিলের ডেটা আপডেট করা
update salary: 5500 from table where name = "Mike"এটি name = "Mike" যেখানে মিলে, সেখানে salary কলামের মান ৫৫০০ আপডেট করবে।
- নতুন রেকর্ড (সারি) ইনসার্ট করা
insert into table values (6, "Sarah", 29, 6200.5, 2024.03.12)এটি একটি নতুন রেকর্ড টেবিলে যোগ করবে, যেখানে name = "Sarah", age = 29, salary = 6200.5, এবং joining_date = 2024.03.12।
- টেবিল থেকে ডেটা মুছে ফেলা
delete from table where name = "John"এটি name = "John" এর রেকর্ড মুছে ফেলবে।
টেবিলের ব্যবহার
KDB+ এর টেবিলগুলি ব্যাপকভাবে টাইম-সিরিজ ডেটা বিশ্লেষণে ব্যবহৃত হয়। এর পাশাপাশি, এটি ব্যবহার করা হয় আর্থিক ডেটা, সেন্সর ডেটা, এবং অন্যান্য বৃহৎ ডেটা সেট ম্যানিপুলেশনের জন্য। KDB+ টেবিলের কার্যক্ষমতা ইন-মেমরি ভিত্তিক হওয়ায় ডেটা অ্যাক্সেস এবং প্রক্রিয়াকরণ খুবই দ্রুত।
সারসংক্ষেপ
KDB+ এ টেবিল একটি ডেটা স্ট্রাকচার যা কলাম-বেসড আর্কিটেকচার ব্যবহার করে ডেটা সংরক্ষণ করে। এতে ডেটা আপডেট, ইনসার্ট, মুছে ফেলা এবং নির্বাচন করা যায় অত্যন্ত দ্রুত। Q ভাষা ব্যবহার করে টেবিলের ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ করা হয়, যা টাইম-সিরিজ ডেটা প্রক্রিয়াকরণে খুবই কার্যকর। KDB+ টেবিলের মাধ্যমে বিভিন্ন ধরণের ডেটা দ্রুত এবং কার্যকরভাবে ম্যানিপুলেট করা সম্ভব।
Read more