چگونه Apache Arrow، Apache Parket، Arrow Flight و DataFusion قابلیتهای پردازش دادهها را به حجم زیادی از سریهای زمانی و دادههای دیگر میآورند.
بنیاد نرمافزار آپاچی پروژههای نرمافزاری منبع باز را توسعه داده و نگهداری میکند که تأثیر قابلتوجهی بر حوزههای مختلف محاسبات، از سرورهای وب و پایگاههای داده گرفته تا دادههای بزرگ و یادگیری ماشینی دارد. . همانطور که حجم و سرعت داده های سری زمانی همچنان در حال رشد است، به لطف دستگاه های اینترنت اشیا، هوش مصنوعی، سیستم های مالی و ابزارهای نظارتی، شرکت های بیشتری برای مدیریت و تجزیه و تحلیل این نوع به اکوسیستم آپاچی متکی خواهند شد. داده ها.
این مقاله یک تور مختصر از اکوسیستم آپاچی برای پردازش و تجزیه و تحلیل داده های سری زمانی ارائه می دهد. بر روی پشته FDAP تمرکز خواهد کرد—پرواز، DataFusion، پیکان و پارکت—زیرا این پروژهها به ویژه بر انتقال، ذخیرهسازی و پردازش حجم زیادی از دادهها تأثیر میگذارند. p>
چگونه پشته FDAP پردازش داده را بهبود می بخشد
پشته FDAP قابلیتهای پیشرفتهای برای پردازش دادهها را به حجم زیادی از دادهها میآورد. Apache Arrow به عنوان یک پلت فرم توسعه بین زبانی برای داده های درون حافظه عمل می کند و تبادل و پردازش کارآمد داده ها را تسهیل می کند. فرمت حافظه ستونی آن برای CPU ها و GPU های مدرن بهینه شده است و دسترسی و دستکاری داده ها را با سرعت بالا امکان پذیر می کند، که برای پردازش داده های سری زمانی مفید است.
Apache Parquet، از طرف دیگر، یک فرمت فایل ذخیره سازی ستونی است که فشرده سازی داده ها و طرح های رمزگذاری کارآمد را ارائه می دهد. طراحی آن برای ساختارهای داده تو در تو پیچیده بهینه شده است و برای پردازش دسته ای داده های سری زمانی ایده آل است، جایی که کارایی ذخیره سازی و مقرون به صرفه بودن بسیار مهم است.
DataFusion از Apache Arrow و Apache Parquet برای پردازش داده ها استفاده می کند و یک موتور جستجوی قدرتمند ارائه می دهد که می تواند پرس و جوهای پیچیده SQL را روی داده های ذخیره شده در حافظه (Arrow) یا در فایل های Parquet اجرا کند. این ادغام امکان تجزیه و تحلیل یکپارچه و کارآمد دادههای سری زمانی را فراهم میکند و قابلیتهای زمان واقعی InfluxDB را با نقاط قوت پردازش دستهای پارکت و قابلیتهای پردازش داده با سرعت بالا Arrow ترکیب میکند.
مزایای خاص استفاده از ذخیره سازی ستونی برای داده های سری زمانی عبارتند از:
- ذخیرهسازی و فشردهسازی کارآمد: دادههای سری زمانی معمولاً متشکل از دنبالهای از مقادیر ثبتشده در طول زمان هستند که اغلب چندین معیار را بهطور همزمان ردیابی میکنند. در ذخیره سازی ستونی، داده ها به جای ردیف ذخیره می شوند. این بدان معنی است که همه مقادیر برای یک متریک به طور پیوسته ذخیره میشوند و منجر به فشردهسازی بهتر دادهها میشود، زیرا مقادیر متوالی یک متریک اغلب مشابه هستند یا به تدریج در طول زمان تغییر میکنند و آنها را بسیار فشردهسازی میکند. قالبهای ستونی مانند پارکت، کارایی ذخیرهسازی را بهینه میکنند و هزینههای ذخیرهسازی را کاهش میدهند، که به ویژه برای حجم زیادی از دادههای سری زمانی مفید است.
- عملکرد پرس و جو بهبود یافته: پرسشهای مربوط به دادههای سری زمانی اغلب شامل عملیات جمعآوری (مانند SUM، AVG) در دورهها یا معیارهای خاص است. ذخیره سازی ستونی اجازه می دهد تا تنها ستون های لازم برای پاسخ به یک پرس و جو را بخواند و از داده های نامربوط صرف نظر کند. این بارگذاری انتخابی به طور قابل توجهی I/O را کاهش می دهد و اجرای پرس و جو را سرعت می بخشد و پایگاه داده های ستونی را برای عملیات خواندن فشرده معمولی تجزیه و تحلیل سری های زمانی بسیار کارآمد می کند.
- استفاده بهتر از حافظه پنهان: ذخیره سازی پیوسته داده های ستونی، استفاده از حافظه پنهان CPU را در طول پردازش داده ها بهبود می بخشد. از آنجایی که اکثر پرس و جوهای تحلیلی در داده های سری زمانی مقادیر زیادی از یک متریک را به طور همزمان پردازش می کنند، بارگیری داده های ستون های پیوسته در حافظه پنهان CPU می تواند از دست دادن حافظه پنهان را به حداقل برساند و زمان اجرای پرس و جو را بهبود بخشد. این به ویژه برای تجزیه و تحلیل سری های زمانی مفید است، جایی که عملیات روی مجموعه داده های بزرگ رایج است.
یک اکوسیستم داده یکپارچه
استفاده از پشته FDAP در کنار InfluxDB ادغام یکپارچه با ابزارها و سیستمهای دیگر در اکوسیستم داده را تسهیل میکند. به عنوان مثال، استفاده از Apache Arrow به عنوان یک پل، تبادل آسان داده با سایر چارچوبهای تجزیه و تحلیل و یادگیری ماشینی را امکانپذیر میسازد و قابلیتهای تحلیلی موجود برای دادههای سری زمانی را افزایش میدهد. این قابلیت همکاری به ایجاد خطوط لوله داده انعطافپذیر و قدرتمندی کمک میکند که میتوانند با نیازهای در حال تحول پردازش داده سازگار شوند.
به عنوان مثال، بسیاری از سیستمهای پایگاه داده و ابزارهای داده، از Apache Arrow پشتیبانی میکنند تا از مزایای عملکرد آن بهره ببرند و بخشی از جامعه شوند. برخی از پایگاه های داده و ابزارهای قابل توجه در این اردو عبارتند از:
- Dremio: Dremio یک موتور دریاچه داده نسل بعدی است که مستقیماً با Arrow و اولین پذیرنده Arrow Flight SQL بوده است. از Arrow Flight برای بهبود عملکرد جستجو و سرعت انتقال داده استفاده می کند.
- Apache Drill: Apache Drill یک موتور جستجوی SQL منبع باز و بدون طرح واره برای کاوش کلان داده است. Apache Drill از Apache Arrow برای انجام پرس و جوهای درون حافظه استفاده می کند.
- Google BigQuery: Google BigQuery از Apache Arrow برای افزایش عملکرد قابل توجه هنگام انتقال داده ها استفاده می کند در انتهای پشت Arrow همچنین انتقال داده های کارآمدتری را بین BigQuery و کلاینت هایی که Arrow را پشتیبانی می کنند را فعال می کند.
- Snowflake: Snowflake از Apache Arrow و Arrow Flight SQL برای جلوگیری از سربار سریال سازی و افزایش قابلیت همکاری در داخل استفاده کرد اکوسیستم پیکان.
- InfluxDB: InfluxDB از پشته FDAP برای فعال کردن معماری داده باز، افزایش عملکرد، و قابلیت همکاری بهبود یافته استفاده می کند. با سایر پایگاه های داده و ابزارهای تجزیه و تحلیل داده ها.
- پاندا: به طور مشابه، ادغام Apache Arrow با پانداها منجر به بهبود عملکرد قابل توجهی در عملیات داده برای دانشمندان داده با استفاده از Python.
- Polars: Polars یک رابط DataFrame در بالای OLAP موتور جستجو در Rust پیادهسازی شده است که از فرمت ستونی Apache Arrow نیز استفاده میکند و امکان ادغام آسان با ابزارهای موجود در چشمانداز داده را فراهم میکند.
همه پایگاههای دادهای که از Arrow Flight استفاده میکنند، به برنامهنویسان اجازه میدهند تا از یک دیگ بخار برای جستجو در منابع متعدد استفاده کنند. این را با قدرت پانداها و قطبها جفت کنید و توسعهدهندگان به راحتی میتوانند دادهها را از چندین فروشگاه داده یکسان کنند و تجزیه و تحلیل دادهها و تبدیلهای بین پلتفرمی را انجام دهند. برای کسب اطلاعات بیشتر به پست های وبلاگ زیر نگاهی بیندازید: پرس و جو از پایگاه داده با پیکان Flight و خواندن متا دیتا جدول با Flight SQL.. p>
قالب ذخیرهسازی ستونی کارآمد Apache Parket، آن را به گزینهای عالی برای جریانهای کاری هوش مصنوعی و یادگیری ماشین تبدیل میکند، بهویژه آنهایی که شامل مجموعه دادههای بزرگ و پیچیده هستند. محبوبیت آن منجر به پشتیبانی از ابزارها و پلتفرم های مختلف در اکوسیستم هوش مصنوعی و یادگیری ماشین شده است. در اینجا چند نمونه آورده شده است:
- Dask: Dask یک کتابخانه محاسباتی موازی در پایتون است. Dask از فایلهای Parquet برای پردازش دادههای توزیعشده پشتیبانی میکند، و آن را برای پیشپردازش مجموعههای داده بزرگ قبل از وارد کردن آنها به مدلهای یادگیری ماشینی مناسب میکند.
- Apache Spark: Apache Spark یک موتور تجزیه و تحلیل یکپارچه برای پردازش داده در مقیاس بزرگ است. Spark MLlib یک کتابخانه یادگیری ماشینی مقیاسپذیر است که طیف گستردهای از الگوریتمها را برای طبقهبندی، رگرسیون، خوشهبندی و موارد دیگر ارائه میکند. Spark میتواند مستقیماً فایلهای پارکت را بخواند و بنویسد و امکان ذخیرهسازی کارآمد داده و دسترسی به پروژههای یادگیری ماشین بزرگ داده را فراهم کند.
- H2O.ai: H2O یک پلت فرم یادگیری ماشینی منبع باز، توزیع شده و درون حافظه با پشتیبانی از یک طیف گسترده ای از الگوریتم های یادگیری ماشینی این میتواند دادهها را از فایلهای Parquet برای وظایف یادگیری ماشین (از جمله پیشبینی و تشخیص ناهنجاری) وارد کند، که روشی ساده برای استفاده از دادههای ذخیرهشده پارکت در گردشهای کاری یادگیری ماشین ارائه میدهد.
حمایت و نوآوری قوی جامعه
اکوسیستم آپاچی بسیار فراتر از پشته FDAP است. بخشی از اکوسیستم آپاچی و مشارکت در پروژههای بالادستی مزایای بسیاری را برای شرکتها فراهم میکند، هم مزایای فنی و هم مزایای تجاری. این مزایا عبارتند از:
- دسترسی به نوآوریها و فناوریهای پیشرفته: بنیاد نرمافزار آپاچی میزبان مجموعهای از پروژهها در خط مقدم فناوری در کلان داده، محاسبات ابری، مدیریت پایگاه داده، فناوریهای سمت سرور و بسیاری از حوزههای دیگر است. بخشی از این اکوسیستم به شرکتها امکان دسترسی زودهنگام به نوآوریها و فناوریهای نوظهور را میدهد و به آنها اجازه میدهد رقابتی باقی بمانند.
- کیفیت نرمافزار بهبود یافته: مشارکت در پروژههای آپاچی بالادستی به شرکتها این امکان را میدهد تا مستقیماً بر کیفیت و جهت نرمافزارهای حیاتی برای عملیات تجاری خود تأثیر بگذارند. به عنوان شرکت کنندگان فعال در فرآیند توسعه، شرکت ها می توانند اطمینان حاصل کنند که نرم افزار استانداردها و الزامات آنها را برآورده می کند. پروژه های منبع باز اغلب تحت بررسی دقیق همتایان قرار می گیرند که منجر به کیفیت کد و استانداردهای امنیتی بالاتر می شود.
- پشتیبانی و همکاری انجمن: بخشی از اکوسیستم آپاچی بودن دسترسی به جامعه وسیعی از توسعهدهندگان و کارشناسان را فراهم میکند. این انجمن می تواند پشتیبانی، مشاوره و فرصت های همکاری را ارائه دهد. شرکتها میتوانند از این دانش جمعی برای حل مشکلات پیچیده، نوآوری و تسریع چرخههای توسعه استفاده کنند.
اکوسیستم آپاچی سهم قابل توجهی در فضای سری زمانی داشته است. Apache Arrow با ارائه یک قالب استاندارد، کارآمد و سخت افزاری بهینه شده برای داده های درون حافظه، عملکرد و قابلیت همکاری سیستم های پایگاه داده موجود را افزایش می دهد و زمینه را برای موج بعدی فناوری های پردازش داده های تحلیلی فراهم می کند. Apache Parquet یک فرمت فایل کارآمد و بادوام را ارائه میکند که حمل و نقل مجموعه دادهها را بین ابزارهای تجزیه و تحلیل آسان میکند. و DataFusion یک راه واحد برای پرس و جو از سیستم های متفاوت ارائه می دهد.
همانطور که اکوسیستم آپاچی تکامل مییابد و بهبود مییابد، تأثیر آن بر فناوریهای پایگاه داده همچنان گسترش مییابد و مجموعه ابزاری را که در دسترس متخصصان داده است که نه تنها با دادههای سری زمانی بلکه با انواع دادهها کار میکنند، غنی میکند.
Anais Dotis-Georgiou مدافع اصلی توسعه دهنده در InfluxData است.
—
انجمن فناوری جدید مکانی را برای رهبران فناوری – از جمله فروشندگان و سایر مشارکتکنندگان خارجی – فراهم میکند تا فناوری سازمانی نوظهور را در عمق و وسعت بیسابقه بررسی و بحث کنند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه پرس و جوها را به doug_dineley@foundryco.com.
پست های مرتبط
کاوش در اکوسیستم آپاچی برای تجزیه و تحلیل داده ها
کاوش در اکوسیستم آپاچی برای تجزیه و تحلیل داده ها
کاوش در اکوسیستم آپاچی برای تجزیه و تحلیل داده ها