Q ভাষার মৌলিক ধারণা

Q ভাষার ভূমিকা (Introduction to Q Language) - কেডিবি (KDB+) - Computer Programming

360

Q ভাষা হল KDB+ ডাটাবেসের জন্য একটি স্ক্রিপ্টিং ভাষা, যা বিশেষভাবে টাইম-সিরিজ ডেটা প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে। এটি খুবই শক্তিশালী, সংক্ষিপ্ত এবং উচ্চ কার্যক্ষম, যা ডেটা বিশ্লেষণ, কুইরি এবং ম্যানিপুলেশন সহজ করে তোলে। Q ভাষার মূল বৈশিষ্ট্য হল এর অতি সংক্ষিপ্ত সিনট্যাক্স এবং ইন-মেমরি ডেটাবেসের মাধ্যমে দ্রুত ডেটা এক্সেস।

এখানে Q ভাষার কিছু মৌলিক ধারণা আলোচনা করা হল:


১. ডেটা টাইপস (Data Types)

Q ভাষায় ডেটার বিভিন্ন ধরণ ব্যবহার করা হয়। নিচে কিছু প্রধান ডেটা টাইপের উদাহরণ দেওয়া হলো:

  • Int: পূর্ণসংখ্যা

    a: 5
  • Float: দশমিক সংখ্যা

    b: 3.14
  • Boolean: সত্য অথবা মিথ্যা

    c: 1b  / 1 হল সত্য (True), 0 হল মিথ্যা (False)
  • String: স্ট্রিং

    d: "Hello, Q"
  • List: একাধিক ডেটা ধারণকারী তালিকা

    e: 1 2 3 4
    f: "apple" "banana" "cherry"
  • Table: একাধিক কলাম ধারণকারী ডেটা টেবিল

    t: (`date`price) ! (2024.11.16 2024.11.17; 100.5 101.2)

২. অপারেটরস (Operators)

Q ভাষায় বিভিন্ন ধরনের অপারেটর ব্যবহার করা হয়:

  • এস্যাইনমেন্ট অপারেটর (:): একটি মান একটি ভেরিয়েবলে সংরক্ষণ করতে ব্যবহৃত হয়।

    x: 10  / x তে 10 সংরক্ষণ
  • অ্যাডিশন, সাবট্রাকশন, মাল্টিপ্লিকেশন, ডিভিশন: গাণিতিক অপারেশন

    5 + 3  / 8
    10 - 4  / 6
    2 * 3  / 6
    8 % 2  / 4
  • কন্ডিশনাল অপারেটর (if, else):

    if 5 > 3 then "True" else "False"

৩. ফাংশন (Functions)

Q ভাষায় ফাংশন তৈরি করা এবং ব্যবহার করা যায়। একটি সাধারণ ফাংশনের উদাহরণ:

add: {x + y}  / একটি ফাংশন যা দুটি মান যোগ করে
add 5 3  / ফলাফল: 8

Q ভাষায় ফাংশন তৈরি করার সময় {} ব্রেস ব্যবহার করা হয়।


৪. লিস্ট এবং তালিকা (Lists and Arrays)

Q ভাষায় ডেটা সন্নিবেশ করতে লিস্ট এবং অ্যারে ব্যবহার করা হয়। একটি লিস্টে বিভিন্ন ধরনের ডেটা রাখা যায়।

  • লিস্ট:

    list: 1 2 3 4 5
  • মাল্টিডাইমেনশনাল অ্যারে:

    matrix: (1 2 3; 4 5 6; 7 8 9)

লিস্টের উপর বিভিন্ন অপারেশন করা যেতে পারে, যেমন যোগ, বিয়োগ ইত্যাদি।


৫. টেবিল (Tables)

Q ভাষায় টেবিল একটি অত্যন্ত গুরুত্বপূর্ণ ডেটা স্ট্রাকচার। একটি টেবিল কলাম এবং রো দ্বারা গঠিত হয় এবং এটি টাইম-সিরিজ ডেটা ম্যানিপুলেশন জন্য ব্যবহৃত হয়। একটি টেবিল তৈরি করা:

t: (`date`price) ! (2024.11.16 2024.11.17; 100.5 101.2)

এখানে date এবং price দুটি কলাম, এবং তাদের মান ২০২৪.১১.১৬ এবং ২০২৪.১১.১৭ তারিখের সাথে সম্পর্কিত।


৬. কুইরি (Querying)

Q ভাষায় ডেটা কুইরি করতে খুব সহজ এবং শক্তিশালী সিনট্যাক্স রয়েছে। টেবিল থেকে ডেটা নির্বাচন করতে:

select from t where price > 100

এটি t টেবিল থেকে এমন রো নির্বাচন করবে যার মধ্যে price ১০০ এর বেশি।


৭. ম্যাপিং এবং ফিল্টারিং (Mapping and Filtering)

Q ভাষায় লিস্টের উপরে ম্যাপিং এবং ফিল্টারিং করা সহজ:

  • ম্যাপিং:

    mapResult: each (+ 1) list  / 1 বাড়িয়ে দেয় প্রতিটি উপাদানে
  • ফিল্টারিং:

    filterResult: list where list > 2  / ৩ এর বড় মানগুলোর লিস্ট

৮. জয়েন (Join)

Q ভাষায় টেবিলের মধ্যে ডেটা একত্রিত করা যায়, যেমন SQL এর JOIN অপারেশন:

t1: (`date`price) ! (2024.11.16 2024.11.17; 100.5 101.2)
t2: (`date`volume) ! (2024.11.16 2024.11.17; 200 300)
joinResult: lj `date xkey t1, t2  / টেবিল দুইটি JOIN করল date অনুযায়ী

এখানে lj মানে "left join", এবং xkey টেবিলগুলোর মধ্যে যোগসূত্র তৈরি করে।


সারসংক্ষেপ

Q ভাষা একটি উচ্চ কর্মক্ষম এবং সংক্ষিপ্ত স্ক্রিপ্টিং ভাষা যা KDB+ ডাটাবেসের সাথে ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণ সহজ করে তোলে। এর মৌলিক ধারণাগুলির মধ্যে ডেটা টাইপ, অপারেটর, ফাংশন, টেবিল, কুইরি, এবং জয়েন অন্তর্ভুক্ত। Q ভাষা দক্ষতার সাথে টাইম-সিরিজ ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ করতে সক্ষম এবং এটি KDB+ এর প্রধান সুবিধা।

Content added || updated By
Promotion

Are you sure to start over?

Loading...