تفاوت بین ETL و ELT چیست؟

تفاوت بین ETL و ELT چیست؟

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۱۳ آذر ۱۴۰۰
آخرین بروزرسانی: ۲۱ مهر ۱۴۰۱
زمان مطالعه: 10 دقیقه
۳.۷
(۳)

آنچه در ان مقاله میخوانیم

  • ETL و ELT چیست؟
  • مراحل هر فرآیند
  • تفاوت آن ها
  • نسل بعدی این فرآیندها

مقدمه

در سامانه های مدرن امروزی جابه جایی بین منابع مختلف جز دغدغه های مهندسین داده است.خیلی اوقات ما نیاز دازیم بین منابع داخلی سازمان منابع را منتقل کنیم.مثلا داده هارا از دیتابیس های عملیاتی مانند  sql به دیتابیس های تحلیلی منتقل کنیم.ممکن است ما داده هارا از شبکه های اجتماعی مانند توییتر،تلگرام و… بخوانیم و به دیتابیس های داخلی سازمان انتقال بدهیم. در تمامی این نکاتی که گفته شد ما به جابه جایی بین منابع مختلف نیاز داریم.

ETL چیست؟

ما نیاز داریم که داده ها را از منابع مختلف بخوانیم و تغییراتی را روی آن اعمال کنیم و آن ها را در جایی ذخیره کنیم.به طی شدن این فرایند ETL. گفته می شود.
ETL شامل سه بخش میباشد که این سه بخش عبارتند ا

  • استخراج داده ها
  • تبدیل داده ها
  • ذخیره سازی داده ها

مراحل ETL

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

ELTچیست؟

ELT مخفف عبارت «extract, load, and transform» است – در این فرایند اول داده ها دریافت می شوند بعد ذخیره می شوند و در نهایت آن هارا برحسب نیاز سازمان داده هارا تبدیل میکنیم.
در این فرایند بخش ذخیره میانی که در فرایند ETL وجود داشتو کار ذخیره موقت را انجام می داد حذف شده است.ELT
هم شامل سه بخش می باشد که این سه بخش عبارتند از:

  • دریافت
  • بارگذاری
  • و تبدیل

مراحل ELT

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

تفاوت بین ETL و ELT

به طور معمولی ETL برای اشاره به هر خط لوله داده استفاده می شود که در آن داده ها از منبع استخراج و تبدیل می شوند و برای استفاده توسط کاربر نهایی در جدول نهایی بارگذاری می شوند. تبدیل می تواند در پایتون، اسپارک، اسکالا، SQL در انبار داده و غیره اتفاق بی افتد.
اخیراً از ELT برای اشاره به خطوط لوله داده استفاده می شود که در آن داده ها در انبار داده تبدیل می شوند. این می تواند گیج کننده باشد زیرا، طبق تعریف، این وظیفه خط لوله  ETL است  که داده ها را در SQLویا انبارهای داده ذخیره کند.

منظور کاربران از ETL و ELT چیست؟

ETL: داده‌های خام در برخی از حافظه‌های ذخیره‌سازی فایل ذخیره می‌شوند، با یک پایتون/spark/scala یا سایر زبان‌های غیر sql تبدیل می‌شوند و در جداول بارگذاری می‌شوند تا توسط کاربر نهایی استفاده شوند.
مرحله تبدیل تا حد زیادی پیچیده ترین مرحله در فرآیند ETL است.
ELT: داده های خام در انبار داده بارگذاری می شوند و با استفاده از SQL به جدول نهایی تبدیل می شوند تا توسط کاربر نهایی استفاده شوددر قسمت بعدی قصد داریم به طور مفصل فرایند های ETL وELT  را مقایسه کنیم.توجه داشته باشید که مقایسه بالا برای یک خط جریان داده ساده است و بسته به خط جریان داده شما  این ویژگی ها می تواند تغییر کند. اکثر شرکت ها از ترکیب رویکردهای ETL و ELT استفاده می کنند.
ممکن است خطوط جریان داده ایی را پیدا کنید که در آن داده ها با استفاده از چارچوبی مانند
Apache Spark تبدیل شده، و در جدول انبار بارگذاری می شوند و با استفاده از SQL در انبار داده شما تغییر شکل می دهند.

از دیگر تفاوت های این دو فرایند میتوان به موارد زیر اشاره کرد:
در فرآیند ELT، تبدیل داده ها بر اساس نیاز در خود سیستم هدف انجام می شود. در نتیجه، مرحله تبدیل زمان کمی می برد، اما اگر قدرت پردازش کافی وجود نداشته باشد، می تواند فرآیندهای پرس و جو و تجزیه و تحلیل را کند کند.
فرآیند ETL برای مجموعه داده های کوچکی که نیاز به تبدیل های پیچیده دارند مناسب است. فرآیند ELT برای مجموعه داده های بزرگتر، ساختاریافته و بدون ساختار مناسب تر است.
در فرآیند ETL، تبدیل داده ها در یک منطقه خارج از انبار داده انجام می شود و کل داده ها باید قبل از بارگذاری تبدیل شوند. در نتیجه، تبدیل مجموعه داده‌های بزرگ‌تر می‌تواند زمان زیادی را در پیش بگیرد، اما تجزیه و تحلیل می‌تواند بلافاصله پس از تکمیل فرآیند ETL انجام شود.

ELT – نسل بعدی:ETL

ELT یک تغییر مدرن در فرآیند قدیمی‌تر استخراج، تبدیل و بارگذاری (ETL) است که در آن تبدیل‌ها قبل از بارگیری داده‌ها انجام می‌شود. اجرای تبدیل‌ها قبل از فاز بارگیری منجر به پیچیده شدن این فرایند می شود.
ابزارهای ETL به جریان های پردازشی برای تبدیل داده ها قبل از بارگیری داده ها در مقصد نیاز دارند. از سوی دیگر، با ELT، کسب‌وکارها از جریان های پردازش در مقصد استفاده می‌کنند تا داده‌ها را به طور مؤثر در خود سیستم منبع تبدیل کنند. این حذف یک مرحله میانی، فرآیند بارگذاری داده ها را ساده می کند.
از آنجایی که ETL داده‌ها را قبل از مرحله بارگیری تغییر می‌دهد، زمانی که یک مقصد به یک منبع داده خاص نیاز دارد، این فرآیند ایده‌آل است. این می‌تواند شامل مواردی باشد که در انواع داده‌های پشتیبانی شده بین منبع و مقصد ناهماهنگی وجود دارد، توانایی محدود برای مقیاس‌بندی سریع پردازش در مقصد، یا محدودیت‌های امنیتی که ذخیره داده‌های خام را در مقصد غیرممکن می‌کند.
با این حال، وقتی مقصد یک انبار داده مانند Amazon Redshift، Google BigQuery، Snowflake و Microsoft Azure SQL Data Warehouse باشد، ELT عملکرد بهتری دارد. سازمان‌ها می‌توانند داده‌های خام خود را در هر زمان، ودر  هر شرایط در خط لوله تعغیر دهند.

نتیجه گیری

امیدواریم این مقاله منظور کاربران را وقتی که ETL یا ELT می‌گویند را روشن کند. دفعه بعد که با این اصطلاح برخورد کردید، به یاد داشته باشید که ELT برای اشاره به خط لوله داده استفاده می شود که در آن داده ها با استفاده از SQL در انبار داده شما تبدیل می شوند. ETL به هر خط لوله داده ای اشاره دارد که شامل انتقال داده از یک سیستم به سیستم دیگر است.  و در آخر هنگام طراحی خط لوله داده ELT ، به ویژگی های زیر توجه کنید:

  1. هزینه توسعه
  2. هزینه جاری
  3. تخصص مهندسی
  4. الزامات تحول
  5. الزامات تاخیر

منبع

https://www.startdataengineering.com/post/elt-vs-etl/

چه رتبه ای می‌دهید؟

میانگین ۳.۷ / ۵. از مجموع ۳

اولین نفر باش

title sign
دانلود مقاله
تفاوت بین ETL و ELT چیست؟
فرمت PDF
5 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
285 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

    • سلام، ضمن تشکر از مطالب آموزنده شما.
      در این مقاله خط لوله به چه معناست؟

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

    • سلام، ضمن تشکر از مطالب آموزنده شما.

      در این مقاله خط لوله به چه معناست؟

      • درود بر شما
        به نقل از مهندس مجتبی بنائی

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

        تشکر از همراهی شما