18 ابزار و فناوری برتر کلان داده که در سال 2023 باید درباره آنها بدانید
ابزارهای متعددی برای استفاده در برنامه های کاربردی داده های بزرگ در دسترس هستند. در اینجا نگاهی به 18 فناوری منبع باز محبوب، به علاوه اطلاعات اضافی در مورد پایگاه های داده NoSQL می اندازیم.
دنیای کلان دادهها تنها در حال بزرگتر شدن است: سازمانهای مختلف سال به سال دادههای بیشتری را به اشکال مختلف تولید میکنند. حجم و تنوع روزافزون دادهها، شرکتها را به سرمایهگذاری بیشتر در ابزارها و فناوریهای کلان داده سوق میدهد، زیرا آنها به دنبال استفاده از همه این دادهها برای بهبود عملیات، درک بهتر مشتریان، ارائه سریعتر محصولات و کسب سایر مزایای تجاری از طریق برنامههای تحلیلی هستند.
در گزارشی در جولای 2022، شرکت تحقیقات بازار IDC پیشبینی کرد که بازار جهانی برای دادههای بزرگ و نرمافزارهای تحلیلی و خدمات ابری در سال 2022 به 104 میلیارد دلار خواهد رسید و در سال 2023 به نزدیک به 123 میلیارد دلار خواهد رسید. و بادهای مخالف ژئوپلیتیکی.”
رهبران دادههای سازمانی انتخابهای زیادی در زمینه فناوریهای کلان داده دارند، با محصولات تجاری متعددی که برای کمک به سازمانها در پیادهسازی طیف کاملی از ابتکارات تحلیلی مبتنی بر داده – از گزارشدهی همزمان تا برنامههای یادگیری ماشین، در دسترس هستند.
18 ابزار و فناوری برتر کلان داده که در سال 2023 باید درباره آنها بدانید
علاوه بر این، ابزارهای منبع باز زیادی وجود دارد که برخی از آنها در نسخه های تجاری یا به عنوان بخشی از پلتفرم های کلان داده و خدمات مدیریت شده نیز ارائه می شوند. در اینجا 18 ابزار و فناوری منبع باز محبوب برای مدیریت و تجزیه و تحلیل داده های بزرگ آورده شده است که به ترتیب حروف الفبا با خلاصه ای از ویژگی ها و قابلیت های کلیدی آنها فهرست شده اند.
Airflow
Airflow یک پلت فرم مدیریت گردش کار برای برنامه ریزی و اجرای خطوط لوله داده پیچیده در سیستم های کلان داده است. مهندسان داده و سایر کاربران را قادر می سازد تا اطمینان حاصل کنند که هر وظیفه در یک گردش کار به ترتیب تعیین شده اجرا می شود و به منابع سیستم مورد نیاز دسترسی دارد. جریان هوا نیز به عنوان آسان برای استفاده تبلیغ می شود: گردش کار در زبان برنامه نویسی پایتون ایجاد می شود و می توان از آن برای ساخت مدل های یادگیری ماشینی، انتقال داده ها و اهداف مختلف دیگر استفاده کرد.
این پلتفرم در اواخر سال 2014 در Airbnb ایجاد شد و در اواسط سال 2015 به طور رسمی به عنوان یک فناوری منبع باز معرفی شد. سال بعد به برنامه انکوباتور بنیاد نرمافزار آپاچی پیوست و در سال 2019 به یک پروژه سطح بالای آپاچی تبدیل شد. جریان هوا همچنین شامل ویژگیهای کلیدی زیر است:
- یک معماری مدولار و مقیاس پذیر که حول مفهوم نمودارهای غیر چرخه ای جهت دار (DAGs) ساخته شده است، که وابستگی بین وظایف مختلف در گردش کار را نشان می دهد.
- یک رابط کاربری وب اپلیکیشن برای تجسم خطوط لوله داده، نظارت بر وضعیت تولید آنها و عیب یابی مشکلات؛ و
- ادغام آماده با سیستم عامل های ابری اصلی و سایر خدمات شخص ثالث.
دریاچه دلتا
Databricks Inc.، یک فروشنده نرم افزار که توسط سازندگان موتور پردازش Spark تأسیس شده است، Delta Lake را توسعه داده و سپس فناوری مبتنی بر Spark را در سال 2019 از طریق بنیاد لینوکس منبع باز کرد. این شرکت دلتا لیک را به عنوان یک لایه ذخیرهسازی با فرمت باز توصیف میکند که قابلیت اطمینان، امنیت و عملکرد را در دریاچه دادههای شما برای عملیاتهای جریانی و دستهای ارائه میکند.
دریاچه دلتا جایگزین دریاچه های داده نمی شود. بلکه به گونهای طراحی شده است که در بالای آنها قرار گیرد و یک خانه واحد برای دادههای ساختاریافته، نیمهساختار یافته و بدون ساختار ایجاد کند، و سیلوهای دادهای را که میتوانند برنامههای دادههای بزرگ را مختل کنند، حذف میکند. علاوه بر این، به گفته Databricks، استفاده از Delta Lake می تواند به جلوگیری از خرابی داده ها، فعال کردن پرس و جوهای سریع تر، افزایش تازگی داده ها و پشتیبانی از تلاش های انطباق کمک کند. این فناوری همچنین دارای ویژگی های زیر است:
- پشتیبانی از تراکنش های ACID، به این معنی که دارای اتمی، سازگاری، انزوا و دوام هستند.
- توانایی ذخیره داده ها در قالب باز Apache Parket. و
- مجموعه ای از API های سازگار با Spark.
Drill
وبسایت Apache Drill آن را بهعنوان «موتور پرس و جوی توزیعشده با تأخیر کم برای مجموعههای داده در مقیاس بزرگ، از جمله دادههای ساختاریافته و نیمه ساختاریافته/تودرتو» توصیف میکند. Drill می تواند در هزاران گره خوشه ای مقیاس شود و با استفاده از SQL و APIهای اتصال استاندارد قادر است پتابایت داده را پرس و جو کند.
طراحی شده برای کاوش مجموعهای از دادههای بزرگ، لایههای حفاری را در بالای منابع دادههای متعدد، به کاربران امکان میدهد تا طیف گستردهای از دادهها را در قالبهای مختلف، از فایلهای دنباله Hadoop و گزارشهای سرور گرفته تا پایگاههای داده NoSQL و ذخیرهسازی آبجکتهای ابری جستجو کنند. همچنین می تواند کارهای زیر را انجام دهد:
- دسترسی به اکثر پایگاه داده های رابطه ای از طریق یک افزونه.
- کار با ابزارهای متداول BI، مانند Tableau و Qlik. و
- در هر محیط خوشه توزیع شده اجرا شود، اگرچه برای نگهداری اطلاعات در مورد خوشه ها به نرم افزار ZooKeeper Apache نیاز دارد.
Druid
Druid یک پایگاه داده تحلیلی بلادرنگ است که تاخیر کم برای پرس و جوها، همزمانی بالا، قابلیت های چند مستاجر و دید فوری به داده های جریانی ارائه می دهد. به گفته طرفداران آن، چندین کاربر نهایی می توانند داده های ذخیره شده در Druid را به طور همزمان بدون هیچ تاثیری بر عملکرد جستجو کنند.
Druid که به زبان جاوا نوشته و در سال 2011 ایجاد شد، در سال 2018 به یک فناوری آپاچی تبدیل شد. به طور کلی به عنوان جایگزینی با کارایی بالا برای انبارهای داده سنتی در نظر گرفته میشود که برای دادههای رویداد محور مناسبتر است. مانند یک انبار داده، از ذخیره سازی ستون گرا استفاده می کند و می تواند فایل ها را در حالت دسته ای بارگذاری کند. اما ویژگی های سیستم های جستجو و پایگاه های داده سری های زمانی را نیز شامل می شود، از جمله موارد زیر:
- نمایه های جستجوی معکوس بومی برای سرعت بخشیدن به جستجوها و فیلتر کردن داده ها.
- پارتیشن بندی و پرس و جو داده های مبتنی بر زمان؛ و
- طرحواره های انعطاف پذیر با پشتیبانی بومی برای داده های نیمه ساختاریافته و تودرتو.
Flink
یکی دیگر از فناوری های منبع باز آپاچی، Flink یک چارچوب پردازش جریانی برای برنامه های کاربردی توزیع شده، با کارایی بالا و همیشه در دسترس است. از محاسبات حالتی بر روی هر دو جریان داده محدود و نامحدود پشتیبانی می کند و می تواند برای پردازش دسته ای، نمودار و تکراری استفاده شود.
یکی از مزایای اصلی که توسط طرفداران Flink تبلیغ می شود سرعت آن است: می تواند میلیون ها رویداد را در زمان واقعی برای تاخیر کم و توان عملیاتی بالا پردازش کند. Flink که برای اجرا در تمام محیط های کلاستر معمولی طراحی شده است، دارای ویژگی های زیر نیز می باشد:
- محاسبات درون حافظه با قابلیت دسترسی به فضای ذخیره سازی دیسک در صورت نیاز.
- سه لایه API برای ایجاد انواع مختلف برنامه ها؛ و
- مجموعه ای از کتابخانه ها برای پردازش رویدادهای پیچیده، یادگیری ماشین و سایر موارد استفاده از داده های بزرگ رایج.
Hadoop
Hadoop یک چارچوب توزیعشده برای ذخیره دادهها و اجرای برنامهها بر روی خوشههای سختافزار کالا، به عنوان یک فناوری پیشگام کلان داده برای کمک به مدیریت حجم فزاینده دادههای ساختاریافته، بدون ساختار و نیمه ساختار یافته توسعه داده شد. اولین بار در سال 2006 منتشر شد، و تقریباً مترادف با داده های بزرگ بود. از آن زمان تا حدی توسط سایر فناوری ها تحت الشعاع قرار گرفته است، اما هنوز به طور گسترده مورد استفاده قرار می گیرد.
Hadoop دارای چهار جزء اصلی است:
- سیستم فایل توزیع شده Hadoop (HDFS)، که داده ها را به بلوک هایی برای ذخیره سازی روی گره ها در یک خوشه تقسیم می کند، از روش های تکرار برای جلوگیری از از دست رفتن داده ها استفاده می کند و دسترسی به داده ها را مدیریت می کند.
- YARN مخفف Yet Another Resource Negotiator است که کارها را برای اجرا در گره های خوشه ای برنامه ریزی می کند و منابع سیستم را به آنها تخصیص می دهد.
- Hadoop MapReduce، یک موتور پردازش دسته ای داخلی که محاسبات بزرگ را تقسیم می کند و آنها را بر روی گره های مختلف برای تعادل سرعت و بار اجرا می کند. و
- Hadoop Common، مجموعه ای مشترک از ابزارها و کتابخانه ها.
در ابتدا، Hadoop به اجرای برنامه های دسته ای MapReduce محدود بود. افزودن YARN در سال 2013 آن را به روی دیگر موتورهای پردازشی و موارد استفاده باز کرد، اما این چارچوب همچنان با MapReduce مرتبط است. اکوسیستم گستردهتر Apache Hadoop همچنین شامل ابزارهای مختلف دادههای بزرگ و چارچوبهای اضافی برای پردازش، مدیریت و تجزیه و تحلیل دادههای بزرگ است.
Hive
Hive یک نرم افزار زیرساخت انبار داده مبتنی بر SQL برای خواندن، نوشتن و مدیریت مجموعه داده های بزرگ در محیط های ذخیره سازی توزیع شده است. این توسط فیس بوک ایجاد شد اما سپس برای آپاچی منبع باز شد، که همچنان به توسعه و حفظ فناوری ادامه می دهد.
Hive در بالای Hadoop اجرا می شود و برای پردازش داده های ساخت یافته استفاده می شود. به طور خاص، برای خلاصه کردن و تجزیه و تحلیل داده ها و همچنین برای پرس و جو از مقادیر زیادی از داده ها استفاده می شود. اگرچه نمیتوان از آن برای پردازش تراکنشهای آنلاین، بهروزرسانیهای بیدرنگ، و درخواستها یا کارهایی که نیاز به بازیابی دادهها با تأخیر کم دارند، استفاده کرد، اما توسعهدهندگان Hive آن را مقیاسپذیر، سریع و انعطافپذیر توصیف میکنند.
سایر ویژگی های کلیدی شامل موارد زیر است:
- عملکرد استاندارد SQL برای پرس و جو و تجزیه و تحلیل داده ها.
- یک مکانیسم داخلی برای کمک به کاربران برای تحمیل ساختار بر روی فرمت های مختلف داده. و
- دسترسی به فایل های HDFS و فایل های ذخیره شده در سیستم های دیگر، مانند پایگاه داده Apache HBase.
HPCC Systems
HPCC Systems یک پلتفرم پردازش داده بزرگ است که توسط LexisNexis قبل از منبع باز در سال 2011 توسعه یافته است. مطابق با نام کامل آن — سیستم های خوشه محاسباتی با کارایی بالا — این فناوری در هسته خود مجموعه ای از رایانه ها است که از سخت افزار کالا ساخته شده اند. پردازش، مدیریت و ارائه کلان داده ها.
سیستم های HPCC یک پلت فرم دریاچه داده آماده برای تولید که توسعه سریع و اکتشاف داده را امکان پذیر می کند، شامل سه جزء اصلی است:
- ثور، یک موتور پالایشگاه داده که برای پاکسازی، ادغام و تبدیل داده ها، و نمایه، تجزیه و تحلیل و آماده سازی آن برای استفاده در پرس و جوها استفاده می شود.
- Roxie، یک موتور تحویل داده که برای ارائه داده های آماده از پالایشگاه استفاده می شود. و
- Enterprise Control Language یا ECL، یک زبان برنامه نویسی برای توسعه برنامه ها.
Hudi
Hudi (تلفظ هودی) مخفف Hadoop Upserts Deletes و Incrementals است. یکی دیگر از فناوریهای منبع باز که توسط آپاچی نگهداری میشود، برای مدیریت جذب و ذخیره مجموعههای دادههای تحلیلی بزرگ در سیستمهای فایل سازگار با Hadoop، از جمله HDFS و سرویسهای ذخیرهسازی اشیاء ابری استفاده میشود.
Hudi برای اولین بار توسط Uber توسعه داده شد تا قابلیتهای جذب دادهها و آمادهسازی دادههای کارآمد و کم تأخیر را ارائه دهد. علاوه بر این، شامل یک چارچوب مدیریت داده است که سازمان ها می توانند از آن برای انجام کارهای زیر استفاده کنند:
- ساده سازی پردازش افزایشی داده و توسعه خط لوله داده؛
- بهبود کیفیت داده ها در سیستم های کلان داده؛ و
- مدیریت چرخه عمر مجموعه داده ها
Iceberg
Iceberg یک فرمت جدول باز است که برای مدیریت داده ها در دریاچه های داده استفاده می شود، که تا حدی با ردیابی فایل های داده های فردی در جداول به جای ردیابی دایرکتوری ها انجام می دهد. Iceberg که توسط نتفلیکس برای استفاده در جداول پتابایتی این شرکت ایجاد شده است، اکنون یک پروژه آپاچی است. طبق وبسایت این پروژه، Iceberg معمولاً «در تولید جایی که یک جدول میتواند دهها پتابایت داده باشد، استفاده میشود».
قالب جدول Iceberg که برای بهبود طرحبندیهای استاندارد موجود در ابزارهایی مانند Hive، Presto، Spark و Trino طراحی شده است، عملکردهایی مشابه جداول SQL در پایگاههای داده رابطهای دارد. با این حال، چندین موتور را نیز در خود جای می دهد که بر روی یک مجموعه داده کار می کنند. از دیگر ویژگی های قابل توجه می توان به موارد زیر اشاره کرد:
- تکامل طرحواره برای اصلاح جداول بدون نیاز به بازنویسی یا انتقال داده ها.
- پارتیشن بندی پنهان داده ها که از نیاز کاربران به نگهداری پارتیشن ها جلوگیری می کند. و
- یک قابلیت “سفر در زمان” که از پرس و جوهای تکرارپذیر با استفاده از عکس فوری جدول پشتیبانی می کند.
Kafka
کافکا یک پلتفرم پخش رویداد توزیع شده است که به گفته آپاچی، بیش از 80 درصد از شرکت های Fortune 100 و هزاران سازمان دیگر برای خطوط لوله داده با عملکرد بالا، تجزیه و تحلیل جریان، یکپارچه سازی داده ها و برنامه های کاربردی حیاتی استفاده می شود. به عبارت ساده تر، کافکا چارچوبی برای ذخیره، خواندن و تجزیه و تحلیل جریان داده است.
این فناوری جریانهای داده و سیستمها را جدا میکند و جریانهای داده را نگه میدارد تا بتوان از آنها در جای دیگری استفاده کرد. در یک محیط توزیع شده اجرا می شود و از پروتکل شبکه TCP با کارایی بالا برای ارتباط با سیستم ها و برنامه ها استفاده می کند. کافکا قبل از اینکه در سال 2011 به آپاچی منتقل شود توسط لینکدین ایجاد شد.
برخی از اجزای کلیدی کافکا به شرح زیر است:
- مجموعه ای از پنج API اصلی برای جاوا و زبان برنامه نویسی اسکالا.
- تحمل خطا برای سرورها و کلاینت ها در خوشه های کافکا؛ و
- مقیاس پذیری الاستیک تا 1000 کارگزار یا سرور ذخیره سازی در هر خوشه.
Kylin
Kylin یک انبار داده توزیع شده و پلت فرم تجزیه و تحلیل برای داده های بزرگ است. این یک موتور پردازش تحلیلی آنلاین (OLAP) را ارائه می دهد که برای پشتیبانی از مجموعه داده های بسیار بزرگ طراحی شده است. از آنجایی که Kylin بر روی سایر فناوریهای آپاچی – از جمله Hadoop، Hive، Parquet و Spark ساخته شده است – به گفته حامیان آن، به راحتی میتواند برای مدیریت این بارهای داده بزرگ مقیاس شود.
همچنین سریع است و پاسخ های پرس و جو را در میلی ثانیه اندازه گیری می کند. علاوه بر این، Kylin یک رابط ANSI SQL برای تجزیه و تحلیل چند بعدی داده های بزرگ ارائه می دهد و با Tableau، Microsoft Power BI و سایر ابزارهای BI ادغام می شود. Kylin در ابتدا توسط eBay توسعه داده شد که آن را به عنوان یک فناوری منبع باز در سال 2014 ارائه کرد. در سال بعد به یک پروژه سطح بالا در داخل آپاچی تبدیل شد. از دیگر امکاناتی که ارائه می دهد می توان به موارد زیر اشاره کرد:
- پیش محاسبه مکعب های OLAP چند بعدی برای تسریع در تجزیه و تحلیل.
- توابع مدیریت کار و نظارت؛ و
- پشتیبانی از ساخت UI های سفارشی شده در بالای هسته Kylin.
Pinot
Pinot یک فروشگاه داده OLAP توزیع شده در زمان واقعی است که برای پشتیبانی از پرس و جو با تاخیر کم توسط کاربران تجزیه و تحلیل ساخته شده است. طراحی آن مقیاس افقی را قادر می سازد تا تاخیر کم را حتی با مجموعه داده های بزرگ و توان عملیاتی بالا ارائه دهد. برای ارائه عملکرد وعده داده شده، Pinot داده ها را در قالب ستونی ذخیره می کند و از تکنیک های مختلف نمایه سازی برای فیلتر کردن، جمع آوری و گروه بندی داده ها استفاده می کند. علاوه بر این، تغییرات پیکربندی را می توان به صورت پویا و بدون تأثیر بر عملکرد پرس و جو یا در دسترس بودن داده ها انجام داد.
طبق گفته آپاچی، Pinot میتواند تریلیونها رکورد را به طور کلی مدیریت کند و در عین حال میلیونها رویداد داده را دریافت کند و هزاران پرس و جو را در ثانیه پردازش کند. این سیستم دارای یک معماری مقاوم در برابر خطا و بدون نقطه خرابی است و فرض میکند که تمام دادههای ذخیرهشده غیرقابل تغییر هستند، اگرچه با دادههای قابل تغییر نیز کار میکند. Pinot که در سال 2013 به عنوان یک پروژه داخلی در LinkedIn شروع شد، در سال 2015 منبع باز شد و در سال 2021 به یک پروژه سطح بالای آپاچی تبدیل شد.
ویژگی های زیر نیز بخشی از Pinot هستند:
- دریافت اطلاعات در زمان واقعی از منابع استریم، به علاوه دریافت دسته ای از HDFS، Spark و خدمات ذخیره سازی ابری؛
- یک رابط SQL برای پرس و جو تعاملی و یک REST API برای برنامه نویسی نمایش داده شد. و
- پشتیبانی از اجرای الگوریتم های یادگیری ماشین در برابر مجموعه داده های ذخیره شده برای تشخیص ناهنجاری.
Presto
این موتور پرس و جوی منبع باز SQL که قبلاً به عنوان PrestoDB شناخته می شد، می تواند به طور همزمان هم پرس و جوهای سریع و هم حجم داده های بزرگ را در مجموعه داده های توزیع شده مدیریت کند. Presto برای پرس و جوهای تعاملی با تأخیر کم بهینه شده است و برای پشتیبانی از برنامه های تحلیلی در چندین پتابایت داده در انبارهای داده و سایر مخازن مقیاس می شود.
توسعه Presto در سال 2012 در فیس بوک آغاز شد. هنگامی که سازندگان آن شرکت را در سال 2018 ترک کردند، این فناوری به دو شاخه تقسیم شد: PrestoDB که هنوز توسط فیس بوک رهبری می شد و PrestoSQL که توسعه دهندگان اصلی آن را راه اندازی کردند. این تا دسامبر 2020 ادامه یافت، زمانی که PrestoSQL به Trino تغییر نام داد و PrestoDB به نام Presto بازگشت. پروژه منبع باز Presto اکنون تحت نظارت بنیاد Presto است که به عنوان بخشی از بنیاد لینوکس در سال 2019 راه اندازی شد.
Presto همچنین دارای ویژگی های زیر است:
- پشتیبانی از داده های پرس و جو در Hive، پایگاه های داده های مختلف و فروشگاه های داده اختصاصی.
- توانایی ترکیب داده ها از چندین منبع در یک پرس و جو؛ و
- زمان پاسخ پرس و جو که معمولاً از کمتر از یک ثانیه تا چند دقیقه متغیر است.
Samza
Samza یک سیستم پردازش جریان توزیع شده است که توسط LinkedIn ساخته شده است و اکنون یک پروژه منبع باز است که توسط آپاچی مدیریت می شود. با توجه به وب سایت پروژه، Samza به کاربران امکان می دهد تا برنامه های حالت دار بسازند که می توانند پردازش بلادرنگ داده ها را از کافکا، HDFS و منابع دیگر انجام دهند.
این سیستم می تواند در بالای Hadoop YARN یا Kubernetes اجرا شود و همچنین یک گزینه استقرار مستقل را ارائه می دهد. سایت Samza می گوید می تواند “چند ترابایت” از داده های حالت را با تاخیر کم و توان عملیاتی بالا برای تجزیه و تحلیل سریع داده ها مدیریت کند. از طریق یک API یکپارچه، همچنین میتواند از همان کد نوشته شده برای کارهای جریان داده برای اجرای برنامههای دستهای استفاده کند. ویژگی های دیگر شامل موارد زیر است:
- ادغام داخلی با Hadoop، Kafka و چندین پلتفرم داده دیگر؛
- امکان اجرا به عنوان یک کتابخانه جاسازی شده در برنامه های جاوا و اسکالا. و
- ویژگی های مقاوم در برابر خطا که برای امکان بازیابی سریع از خرابی های سیستم طراحی شده اند.
Spark
Apache Spark یک موتور پردازش و تجزیه و تحلیل داده در حافظه است که می تواند روی خوشه های مدیریت شده توسط Hadoop YARN، Mesos و Kubernetes یا در حالت مستقل اجرا شود. تبدیل و تجزیه و تحلیل دادهها در مقیاس بزرگ را امکانپذیر میکند و میتواند برای برنامههای دستهای و جریانی، و همچنین موارد استفاده از یادگیری ماشین و پردازش گراف استفاده شود. همه اینها توسط مجموعه ماژول ها و کتابخانه های داخلی زیر پشتیبانی می شود:
- Spark SQL، برای پردازش بهینه داده های ساختاریافته از طریق پرس و جوهای SQL.
- جرقه جرقه و جریان ساختاری، دو ماژول پردازش جریان.
- MLlib، یک کتابخانه یادگیری ماشینی که شامل الگوریتمها و ابزارهای مرتبط است. و
- GraphX، یک API که پشتیبانی از برنامه های گراف را اضافه می کند.
داده ها را می توان از منابع مختلف، از جمله HDFS، پایگاه های داده رابطه ای و NoSQL، و مجموعه داده های فایل مسطح، در دسترس قرار داد. Spark همچنین از فرمت های مختلف فایل پشتیبانی می کند و مجموعه متنوعی از API ها را برای توسعه دهندگان ارائه می دهد.
اما بزرگترین کارت تلفن آن سرعت است: توسعه دهندگان Spark ادعا می کنند که می تواند تا 100 برابر سریعتر از MapReduce همتای سنتی آن در کارهای دسته ای هنگام پردازش در حافظه کار کند. در نتیجه، Spark به بهترین انتخاب برای بسیاری از برنامههای دستهای در محیطهای کلان داده تبدیل شده است، در حالی که به عنوان یک موتور همه منظوره نیز عمل میکند. اولین بار در دانشگاه کالیفرنیا، برکلی توسعه یافت و اکنون توسط آپاچی نگهداری می شود، همچنین می تواند زمانی که مجموعه داده ها بیش از حد بزرگ هستند که در حافظه موجود قرار نگیرند، روی دیسک پردازش کند.
Storm
یکی دیگر از فناوری های منبع باز آپاچی، Storm یک سیستم محاسباتی بلادرنگ توزیع شده است که برای پردازش قابل اعتماد جریان های نامحدود داده ها طراحی شده است. با توجه به وب سایت پروژه، می توان از آن برای برنامه هایی استفاده کرد که شامل تجزیه و تحلیل بلادرنگ، یادگیری ماشین آنلاین و محاسبات مداوم و همچنین استخراج، تبدیل و بارگذاری مشاغل می شود.
خوشههای طوفانی شبیه خوشههای Hadoop هستند، اما برنامهها به طور مداوم اجرا میشوند مگر اینکه متوقف شوند. این سیستم عیبپذیر است و تضمین میکند که دادهها پردازش میشوند. علاوه بر این، سایت Apache Storm می گوید که می توان از آن با هر زبان برنامه نویسی، سیستم صف پیام و پایگاه داده استفاده کرد. طوفان همچنین شامل عناصر زیر است:
- یک ویژگی Storm SQL که پرس و جوهای SQL را قادر می سازد تا در برابر مجموعه داده های جریانی اجرا شوند.
- Trident و Stream API، دو رابط سطح بالاتر دیگر برای پردازش در Storm. و
- استفاده از فناوری Apache ZooKeeper برای هماهنگ کردن خوشه ها.
Trino
همانطور که در بالا ذکر شد، Trino یکی از دو شاخه موتور جستجوی Presto است. به گفته بنیاد نرم افزار Trino، Trino که تا زمانی که در دسامبر 2020 تغییر نام داد، به عنوان PrestoSQL شناخته می شد. این گروه، که بر توسعه Trino نظارت دارد، در ابتدا در سال 2019 با نام Presto Software Foundation تشکیل شد. نام آن نیز به عنوان بخشی از تغییر نام تجاری تغییر کرد.
Trino با پشتیبانی از پرسوجوهای در حال اجرا بومی در Hadoop و دیگر مخازن داده، کاربران را قادر میسازد تا دادهها را بدون توجه به مکانی که ذخیره شده است، جستجو کنند. مانند Presto، Trino نیز برای موارد زیر طراحی شده است:
- هر دو تجزیه و تحلیل تعاملی موقت و پرس و جوهای دسته ای طولانی مدت.
- ترکیب داده ها از چندین سیستم در پرس و جو؛ و
- کار با Tableau، Power BI، زبان برنامه نویسی R و سایر ابزارهای BI و تجزیه و تحلیل.
همچنین برای استفاده در سیستم های کلان داده موجود است: پایگاه های داده NoSQL
پایگاه داده NoSQL یکی دیگر از انواع عمده فناوری داده های بزرگ است. آنها با پشتیبانی از طرحوارههای انعطافپذیر، از طراحی پایگاه داده رابطهای مبتنی بر SQL جدا میشوند، که آنها را برای مدیریت حجم عظیمی از انواع دادهها مناسب میسازد – به ویژه دادههای بدون ساختار و نیمهساختار یافته که برای طرحوارههای سختگیرانه مورد استفاده در رابطهای مناسب نیستند. سیستم های.
نرم افزار NoSQL در اواخر دهه 2000 برای کمک به رسیدگی به حجم فزاینده داده های متنوعی که سازمان ها در حال تولید، جمع آوری و تجزیه و تحلیل به عنوان بخشی از ابتکارات کلان داده بودند، ظهور کرد. از آن زمان، پایگاههای داده NoSQL به طور گسترده مورد استفاده قرار گرفتهاند و اکنون در شرکتها در سراسر صنایع مورد استفاده قرار میگیرند. بسیاری از آنها فناوریهای منبع باز هستند که در نسخههای تجاری نیز توسط فروشندگان ارائه میشوند، در حالی که برخی محصولات اختصاصی هستند که توسط یک فروشنده کنترل میشوند.
علاوه بر این، خود پایگاههای داده NoSQL انواع مختلفی دارند که از برنامههای مختلف داده بزرگ پشتیبانی میکنند. اینها چهار دسته اصلی NoSQL با نمونههایی از فناوریهای موجود در هر یک هستند:
- پایگاه های داده اسناد آنها عناصر داده را در ساختارهای سند مانند با استفاده از فرمت هایی مانند JSON ذخیره می کنند. به عنوان مثال می توان به سرور Couchbase، CouchDB و MongoDB اشاره کرد.
- پایگاه داده های نموداری آنها «گرههای» داده را در ساختارهای گراف مانند به هم متصل میکنند تا بر روابط بین عناصر داده تأکید کنند. به عنوان مثال می توان به AllegroGraph، Amazon Neptune، ArangoDB و Neo4j اشاره کرد.
- فروشگاه های با ارزش کلیدی آنها کلیدهای منحصر به فرد و مقادیر مرتبط را در یک مدل داده نسبتاً ساده جفت می کنند که می تواند به راحتی مقیاس شود. به عنوان مثال می توان به Aerospike، Amazon DynamoDB، Redis و Riak اشاره کرد.
- پایگاه داده های ستون گسترده آنها داده ها را در جداول ذخیره می کنند که می توانند شامل تعداد بسیار زیادی ستون باشند تا تعداد زیادی از عناصر داده را مدیریت کنند. به عنوان مثال می توان به Cassandra، Google Cloud Bigtable و HBase اشاره کرد.
پایگاه داده های چند مدلی نیز با پشتیبانی از رویکردهای مختلف NoSQL و همچنین در برخی موارد SQL ایجاد شده است. سرور MarkLogic و Azure Cosmos DB مایکروسافت نمونه هایی هستند. بسیاری دیگر از فروشندگان NoSQL پشتیبانی چند مدل را به پایگاه داده خود اضافه کرده اند. به عنوان مثال، سرور Couchbase اکنون از جفت های کلید-مقدار پشتیبانی می کند و Redis ماژول های پایگاه داده سند و گراف را ارائه می دهد.