چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

هر عملیات کلان داده به قدرت محاسباتی زیادی نیاز دارد. انتقال معمولی داده ها از پایگاه داده به Hadoop می تواند هفته ها طول بکشد یا به اندازه یک بال هواپیما هزینه داشته باشد. نمی خواهید صبر کنید و پول خرج کنید؟ بار را در پلتفرم های مختلف متعادل کنید. یکی از راه ها بهینه سازی pushdown است.

من از مربی پیشرو روسیه برای توسعه و مدیریت محصولات Informatica، Alexey Ananyev، خواستم تا در مورد عملکرد بهینه‌سازی pushdown در مدیریت داده‌های بزرگ Informatica (BDM) صحبت کند. آیا تا به حال کار با محصولات Informatica را یاد گرفته اید؟ به احتمال زیاد، این الکسی بود که اصول اولیه PowerCenter را به شما گفت و نحوه ساختن نقشه ها را توضیح داد.

الکسی آنانیف، رئیس آموزش گروه DIS

pushdown چیست؟

بسیاری از شما قبلاً با Informatica Big Data Management (BDM) آشنا هستید. این محصول می‌تواند داده‌های بزرگ را از منابع مختلف ادغام کند، آن‌ها را بین سیستم‌های مختلف جابه‌جا کند، دسترسی آسان به آن را فراهم می‌کند، به شما اجازه می‌دهد آن‌ها را نمایه کنید، و موارد دیگر.
در دستان درست، BDM می تواند معجزه کند: وظایف به سرعت و با حداقل منابع محاسباتی تکمیل خواهند شد.

آیا شما هم آن را می خواهید؟ یاد بگیرید که از ویژگی pushdown در BDM برای توزیع بار محاسباتی در پلتفرم های مختلف استفاده کنید. فناوری Pushdown به شما این امکان را می دهد که نقشه برداری را به یک اسکریپت تبدیل کنید و محیطی که این اسکریپت در آن اجرا می شود را انتخاب کنید. این انتخاب به شما این امکان را می دهد که نقاط قوت پلتفرم های مختلف را با هم ترکیب کرده و به حداکثر عملکرد آنها برسید.

برای پیکربندی محیط اجرای اسکریپت، باید نوع pushdown را انتخاب کنید. اسکریپت را می توان به طور کامل بر روی Hadoop اجرا کرد یا تا حدی بین منبع و سینک توزیع کرد. 4 نوع فشار به پایین وجود دارد. نیازی نیست که نگاشت به یک اسکریپت (بومی) تبدیل شود. نقشه برداری را می توان تا حد امکان بر روی منبع (منبع) یا به طور کامل روی منبع (کامل) انجام داد. نقشه برداری همچنین می تواند به یک اسکریپت Hadoop تبدیل شود (هیچ کدام).

بهینه سازی Pushdown

4 نوع ذکر شده را می توان به روش های مختلف ترکیب کرد - pushdown را می توان برای نیازهای خاص سیستم بهینه کرد. به عنوان مثال، استخراج داده ها از یک پایگاه داده با استفاده از قابلیت های خود اغلب مناسب تر است. و داده ها با استفاده از Hadoop تبدیل می شوند تا خود پایگاه داده بیش از حد بارگیری نشود.

بیایید موردی را در نظر بگیریم که هم مبدأ و هم مقصد در پایگاه داده هستند و پلت فرم اجرای تبدیل را می توان انتخاب کرد: بسته به تنظیمات، Informatica، سرور پایگاه داده یا Hadoop خواهد بود. چنین مثالی به شما امکان می دهد تا با بیشترین دقت جنبه فنی عملکرد این مکانیسم را درک کنید. به طور طبیعی، در زندگی واقعی، این وضعیت به وجود نمی آید، اما برای نشان دادن عملکرد مناسب است.

بیایید نقشه برداری را برای خواندن دو جدول در یک پایگاه داده Oracle در نظر بگیریم. و اجازه دهید نتایج خواندن در یک جدول در همان پایگاه داده ثبت شود. طرح نقشه برداری به این صورت خواهد بود:

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

در قالب نقشه برداری در Informatica BDM 10.2.1 به شکل زیر است:

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

نوع Pushdown - بومی

اگر نوع pushdown native را انتخاب کنیم، نقشه برداری روی سرور Informatica انجام می شود. داده ها از سرور Oracle خوانده می شوند، به سرور Informatica منتقل می شوند، در آنجا تبدیل می شوند و به Hadoop منتقل می شوند. به عبارت دیگر، ما یک فرآیند عادی ETL را دریافت خواهیم کرد.

نوع Pushdown – منبع

هنگام انتخاب نوع منبع، ما این فرصت را داریم که فرآیند خود را بین سرور پایگاه داده (DB) و Hadoop توزیع کنیم. هنگامی که فرآیندی با این تنظیمات اجرا می شود، درخواست های بازیابی داده ها از جداول به پایگاه داده ارسال می شود. و بقیه به صورت مراحل روی Hadoop انجام خواهد شد.
نمودار اجرا به شکل زیر خواهد بود:

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

در زیر نمونه ای از راه اندازی محیط زمان اجرا آورده شده است.

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

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

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

نقش Hadoop در این پیکربندی به مدیریت جریان داده - هماهنگ کردن آن کاهش می یابد. نتیجه پرس و جو به Hadoop ارسال می شود. پس از اتمام خواندن، فایل Hadoop در سینک نوشته می شود.

نوع Pushdown - کامل

هنگامی که نوع کامل را انتخاب می کنید، نقشه برداری به طور کامل به یک کوئری پایگاه داده تبدیل می شود. و نتیجه درخواست برای هادوپ ارسال می شود. نموداری از چنین فرآیندی در زیر ارائه شده است.

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

یک نمونه راه اندازی در زیر نشان داده شده است.

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

در نتیجه یک نقشه بهینه شده مشابه نقشه قبلی دریافت خواهیم کرد. تنها تفاوت این است که تمام منطق به صورت overriding درج آن به گیرنده منتقل می شود. نمونه ای از نقشه برداری بهینه در زیر ارائه شده است.

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

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

نوع Pushdown null است

خوب، آخرین گزینه نوع pushdown است که در آن نگاشت ما به یک اسکریپت Hadoop تبدیل می شود.

نقشه بهینه سازی شده اکنون به شکل زیر خواهد بود:

چگونه داده های بسیار بزرگ را ارزان و سریع جابجا، آپلود و ادغام کنیم؟ بهینه سازی pushdown چیست؟

در اینجا داده های فایل های منبع ابتدا در Hadoop خوانده می شوند. سپس با استفاده از ابزار خود این دو فایل با هم ترکیب می شوند. پس از این، داده ها تبدیل شده و در پایگاه داده آپلود می شوند.

با درک اصول بهینه سازی pushdown، می توانید به طور موثر بسیاری از فرآیندها را برای کار با داده های بزرگ سازماندهی کنید. بنابراین، اخیراً، یک شرکت بزرگ، تنها در چند هفته، داده‌های بزرگ را از فضای ذخیره‌سازی در Hadoop دانلود کرد، که قبلاً چندین سال جمع‌آوری کرده بود.

منبع: www.habr.com

اضافه کردن نظر