معرفی ابزار آپاچی دریل (Apache Drill)


ابزارهای مختلفی جهت تحلیل عظیم داده در دسترس است. بعضی از روش‌های موجود به منظور تحلیل عظیم داده با تاکید بر سه مورد مهم نگاشت‌کاهش، آپاچی اسپارک و استورم ارائه شده‌اند. تمرکز اکثر ابزارهای موجود، روی «پردازش دسته‌ای» (batch processing)، «پردازش جریان» (stream processing) و «تحلیل تعاملی» (interactive analysis) است.

بیشتر ابزارهای پردازش دسته‌ای بر اساس زیرساخت «آپاچی هادوپ» (Apache Hadoop) مانند «آپاچی ماهوت» (Mahout) و «دریاد» (Dryad) هستند.

برنامه‌های تحلیل داده‌های جریانی، بیشتر جهت تحلیل‌های زمان واقعی مورد استفاده قرار می‌گیرند. استورم و اسپلانک از جمله پلتفرم‌های تحلیل جریان داده‌ها هستند.

آپاچی دریل (Apache Drill) یک پلتفرم‌ عظیم داده است که از تحلیل‌های تعاملی پشتیبانی می‌کند و به پژوهشگران در توسعه پروژه‌های عظیم داده کمک می‌نماید. فرآیند تحلیل تعاملی، امکان تعامل مستقیم در زمان واقعی برای انجام تحلیل‌های کاربران را فراهم می‌سازد.

آپاچی دریل انعطاف‌پذیری بیشتری برای پشتیبانی از بسیاری زبان‌های query، فرمت‌های داده و منابع داده داشته و به طور خاص جهت بهره‌‌برداری از داده‌های تو در تو طراحی شده است و بر روی 10 هزار سرور یا بیشتر به مقیاس پرداخته و می‌تواند در چند ثانیه، تریلیون‌ها رکورد و حجم داده به‌ظرفیت پتابایت یا بیشتر را پردازش نماید.

دریل از سیستم فایل توزیع شده هادوپ (HDFS) برای ذخیره‌سازی و نگاشت کاهش برای انجام تحلیل دسته‌ای استفاده می‌کند.

آپاچی دریل از انواع پایگاه‌های داده‌های NoSQL و سیستم فایل‌ها پشتیبانی می‌کند که این موضوع یکی از مزیت‌های این ابزار محسوب می‌گردد.

برای نمونه می‌توان موارد زیر را نام برد:

  • سیستم ذخیره‌سازی Azur Blob
  • سیستم ذخیره‌سازی Google Cloud
  • HBase
  • MongoDB
  • MapR-DB
  • HDFS
  • Amazon S3
  • Swift
  • NAS
  • سیستم فایل محلی

شکل زیر جریان پرس و جو در دریل را نشان می‌دهد:

هنگامی که یک پرس و جو دریل ثبت می‌شود، یک مشتری یا یک برنامه، پرس و جویی را در قالب یک بیانیه SQL به یک Drillbit در خوشه Drill ارسال می‌کند. «دریل بیت» (Drillbit) فرایندی است که بر روی تمامی گره (Node) های دریل فعال اجرا می‌شود و هماهنگی، برنامه‌ریزی و اجرای پرس و جو را انجام داده و همچنین عملیات پرس و جو را در میان خوشه‌ها به منظور به حداکثر رساندن مکان داده‌ها، توزیع می‌کند.

شکل زیر نشان دهنده ارتباط بین مشتریان، برنامه‌ها و «دریل بیت‌ها» Drillbits است:

بنابراین هدف اصلی Apache Drill، فراهم نمودن بستری برای مقیاس‌پذیری است تا بتوان مجموعه داده‌هایی را در مقیاس پتابایت و اگزابایت، به صورت بهینه‌ و مبتنی بر زبان ANSI SQL پردازش نمود.

لازم به ذکر است که یکی از برجسته‌ ترین مزایای Apache Drill، استفاده‌ی ترکیبی از ذخیره‌ساز‌های داده‌های متنوع، آن ‌هم تنها با استفاده از یک پرس‌ و جو می‌باشد.


http://www.bdbanalytics.ir

@BigData_BusinessAnalytics