Apache Pinot একটি রিয়েল-টাইম বিতরণ করা OLAP ডেটা গুদাম
অ্যাপাচি পিনোট হলো একটি রিয়েল-টাইম, ডিস্ট্রিবিউটেড OLAP স্টোরেজ সলিউশন, যা স্কেলেবল, লো-ল্যাটেন্সি ও রিয়েল-টাইম অ্যানালিটিক্স প্রদানের জন্য ডিজাইন করা হয়েছে।
এটি ব্যাচ ডেটা সোর্স (যেমন HDFS, S3, Azure Data Lake, Google Cloud Storage) এবং স্ট্রিমিং সোর্স (যেমন Kafka) উভয় থেকেই ডেটা গ্রহণ করতে পারে। Pinot-কে হরাইজন্টালি স্কেল করার জন্য ডিজাইন করা হয়েছে, তাই প্রয়োজন অনুযায়ী এটি আরও বড় ডেটাসেট এবং উচ্চতর কোয়েরি রেটের সাথে তাল মিলিয়ে চলতে পারে।
Apache Pinot সম্পর্কে
পিনোট প্রকল্পটি মূলত লিঙ্কডইন দ্বারা তৈরি করা হয়েছিল এবং ২০১৫ সালে আরও যৌথ উন্নয়নের জন্য অ্যাপাচি ফাউন্ডেশনের কাছে হস্তান্তর করা হয়। এই স্টোরেজটি এমন একটি পরিবেশে কাজ করার জন্য ডিজাইন করা হয়েছে যেখানে ক্রমাগত নতুন ডেটা যুক্ত হতে থাকে এবং এটি ন্যূনতম ও অনুমানযোগ্য লেটেন্সি প্রদানের জন্য তৈরি করা হয়েছে, যা এটিকে রিয়েল-টাইম কোয়েরি প্রক্রিয়াকরণের জন্য ব্যবহারযোগ্য করে তোলে।
অন্যান্য বেশিরভাগ ডেটা ওয়্যারহাউস এবং OLAP ডেটা ওয়্যারহাউসিং সলিউশনের মতো, পিনোট একটি SQL-সদৃশ কোয়েরি ল্যাঙ্গুয়েজ সমর্থন করে যা সিলেকশন, অ্যাগ্রিগেশন, ফিল্টারিং, গ্রুপিং, সর্টিং এবং অন্যান্য ডেটা কোয়েরি করতে পারে।
অ্যাপাচি পিনোট হরাইজন্টাল স্কেলেবিলিটি প্রদান করে এবং সফটওয়্যার ও হার্ডওয়্যার ব্যর্থতার বিরুদ্ধে ফল্ট টলারেন্স ও সারভাইভিবিলিটি অর্জনের একটি উপায় বাতলে দেয় । ডেটা স্টোরে যুক্ত হওয়া ডেটার জন্য রেপ্লিকেশন এবং ব্যাকআপ প্রক্রিয়াগুলো সরাসরি ডেটা প্রসেসিং সাইকেলের সাথে সমন্বিত থাকে। একদিকে, এই পদ্ধতিটি আর্কিটেকচারকে উল্লেখযোগ্যভাবে সরল করে, কিন্তু অন্যদিকে, এটি ডেটা যুক্ত হওয়া এবং কোয়েরি করার জন্য তা উপলব্ধ হওয়ার মধ্যে একটি বিলম্ব তৈরি করে।
ডেটা একটি কলাম-ভিত্তিক ডেটাবেসের টেবিলগুলিতে সংরক্ষিত থাকে এবং এতে বিভিন্ন কম্প্রেশন স্কিম ও একটি ফিল্ডে একাধিক মান রাখার সুবিধা রয়েছে। পিনোট একটি প্লাগেবল ইনডেক্সিং সিস্টেম প্রদান করে যা বিভিন্ন ইনডেক্সিং প্রযুক্তি (অর্ডারড ইনডেক্স, বিটম্যাপ ইনডেক্স, ইনভার্টেড ইনডেক্স, স্টারট্রি ইনডেক্স, ব্লুম ফিল্টার, রেঞ্জ ইনডেক্স, টেক্সট সার্চ ইনডেক্স (লুসেন্স/এফএসটি), জেএসওএন ইনডেক্স, জিওস্পেশিয়াল ইনডেক্স) ব্যবহার করতে পারে।
Apache Pinot থেকে আলাদা আলাদা বৈশিষ্ট্যগুলির মধ্যে:
- কলাম ওরিয়েন্টেড- বিভিন্ন কম্প্রেশন স্কিম যেমন রান দৈর্ঘ্য এবং নির্দিষ্ট বিট দৈর্ঘ্য সহ একটি কলাম-ভিত্তিক ডাটাবেস।
- প্লাগেবল ইনডেক্সিং: প্লাগেবল ইনডেক্সিং প্রযুক্তি, সাজানো সূচক, বিটম্যাপ ইনডেক্স, ইনভার্টেড ইনডেক্স।
- প্রশ্ন অপ্টিমাইজেশান- ক্যোয়ারী এবং সেগমেন্ট মেটাডেটার উপর ভিত্তি করে ক্যোয়ারী/এক্সিকিউশন প্ল্যান অপ্টিমাইজ করার ক্ষমতা।
- স্ট্রীম এবং ব্যাচের ইনজেশন: Hadoop স্ট্রীম এবং ব্যাচ ইনজেশনের রিয়েল-টাইম ইনজেশনের কাছাকাছি।
- আলোচনা: SQL-ভিত্তিক ক্যোয়ারী এক্সিকিউশন ইঞ্জিন।
- রিয়েল টাইমে ইনজেশনের সময় আপসার্ট: ধারাবাহিকতার সাথে স্কেলে ডেটা আপডেট করুন
- একাধিক মান ক্ষেত্র: বহু-মান ক্ষেত্রগুলির জন্য সমর্থন, আপনাকে কমা-বিচ্ছিন্ন মান হিসাবে ক্ষেত্রগুলিকে জিজ্ঞাসা করার অনুমতি দেয়।
- কুবারনেটসে ক্লাউড নেটিভ: হেলম চার্ট একটি অনুভূমিকভাবে স্কেলযোগ্য, ত্রুটি-সহনশীল ক্লাস্টার স্থাপন সরবরাহ করে যা কুবারনেটসের সাথে পরিচালনা করা সহজ।
Apache Pinot এর নতুন সংস্করণ
উল্লেখ্য যে, সম্প্রতি অ্যাপাচি পিনোট-এর ১.০ সংস্করণটি প্রকাশিত হয়েছে , যেখানে মূলত কোডবেসকে স্থিতিশীল করতে এবং কমিউনিটির ইচ্ছাকে বিবেচনায় আনতে করা ব্যাপক কাজকে সংক্ষিপ্ত করা হয়েছে (৩০০টিরও বেশি মন্তব্য বিবেচনা করা হয়েছিল)।
এছাড়াও, এটি উল্লেখ্য যে নতুন মাল্টি-স্টেজ কোয়েরি ইঞ্জিনটি তার পূর্ণ সম্ভাবনায় পৌঁছেছে , যা টেবিল মার্জ (JOIN) সমর্থন করতে সক্ষম করেছে। ইঞ্জিনটি প্রাথমিকভাবে সাধারণ ফিল্টারিং এবং অ্যাগ্রিগেশন অপারেশনের ক্ষেত্রে চমৎকার কাজ করত, কিন্তু কোয়েরি সম্পাদনের সময় অনুমানযোগ্য রাখতে এটি টেবিল জয়েন অপারেশন সমর্থন করত না।
নতুন ইঞ্জিনটিতে জটিল কোয়েরি প্রক্রিয়াকরণের জন্য মধ্যবর্তী পর্যায় অন্তর্ভুক্ত রয়েছে এবং এর SQL সিম্যান্টিকস ANSI SQL-এর কাছাকাছি । এছাড়াও, নতুন সংস্করণটি JSON ডেটা প্রক্রিয়াকরণের জন্য নেটিভ সাপোর্ট, "NULL" ভ্যালুর জন্য সাপোর্ট, Apache Spark 3.x-এর সাথে ইন্টিগ্রেশন এবং Upsert মোডে টেবিলের বাস্তবায়নে উন্নতি সাধন করেছে (সেগমেন্ট কম্প্রেশন যোগ করে ও ডিলিট অপারেশনের জন্য সাপোর্ট প্রদান করে)।
অবশেষে, আপনি যদি আরও জানতে আগ্রহী হন , তবে আপনার জানা উচিত যে এই প্রকল্পের কোড জাভাতে লেখা এবং অ্যাপাচি লাইসেন্সের অধীনে বিতরণ করা হয়েছে। আপনি নিম্নলিখিত লিঙ্কে নতুন সংস্করণ সম্পর্কে বিস্তারিত জানতে পারবেন ।