
متن فیلم
پیش از این در این دوره در مورد پایگاههای داده (databases)، انبارهای داده (data warehouses) و انبارهای کلان داده (big data stores) صحبت کردیم. حالا میخوایم انبارهای داده، مارتهای داده (data marts) و دریاچههای داده (data lakes) رو عمیقتر بررسی کنیم. همچنین در مورد فرآیند ETL و خطوط لوله داده (data pipelines) صحبت میکنیم. یک انبار داده مانند یک فضای ذخیرهسازی چند منظوره برای موارد استفاده مختلف عمل میکند. زمانی که دادهها وارد انبار میشوند، از قبل برای یک هدف خاص مدلسازی و ساختاردهی شدهاند، به این معنی که آماده تحلیل هستند. به عنوان یک سازمان، زمانی که حجم عظیمی از دادهها از سیستمهای عملیاتی خود دارید که باید برای گزارشدهی و تحلیل به راحتی در دسترس باشند، یک انبار داده را انتخاب میکنید. انبارهای داده به عنوان منبع واحد حقیقت عمل میکنند - دادههای فعلی و تاریخی را که پاکسازی، مطابقت و طبقهبندی شدهاند، ذخیره میکنند. یک انبار داده یک ابزار چند منظوره برای تحلیل کارایی و عملکردی است. یک مارت داده زیرمجموعهای از انبار داده است که به طور خاص برای یک عملکرد، هدف یا جامعهای از کاربران خاص تجاری ساخته شده است. ایده این است که دادههایی را که بیشترین ارتباط را با آنها دارند، در زمانی که به آنها نیاز دارند، در اختیار ذینفعان قرار دهیم. برای مثال، تیمهای فروش یا مالی برای گزارشها و پیشبینیهای فصلی خود به دادهها دسترسی دارند. از آنجایی که یک بازار داده، قابلیتهای تحلیلی را برای بخش محدودی از انبار داده ارائه میدهد، امنیت و عملکرد ایزولهای را نیز ارائه میدهد. مهمترین نقش یک مارت داده، گزارشدهی و تحلیل مختص کسب و کار است. دریاچه داده یک مخزن ذخیرهسازی است که میتواند مقادیر زیادی از دادههای ساختاریافته، نیمهساختاریافته و بدون ساختار را در قالب اصلی خود، طبقهبندی شده و با فراداده برچسبگذاری شده، ذخیره کند. بنابراین، در حالی که یک انبار داده، دادههای پردازش شده برای یک نیاز خاص را ذخیره میکند، یک دریاچه داده مجموعهای از دادههای خام است که در آن به هر عنصر داده یک شناسه منحصر به فرد داده میشود و برای استفاده بیشتر با فرادادهها برچسبگذاری میشود. اگر حجم زیادی از دادهها را به طور مداوم تولید میکنید یا به آنها دسترسی دارید، اما نمیخواهید به موارد استفاده خاص یا از پیش تعریف شده محدود شوید، دریاچه داده را انتخاب میکنید. برخلاف انبارهای داده، یک دریاچه داده تمام دادههای منبع را بدون هیچ گونه استثنائی حفظ میکند. و دادهها میتوانند شامل انواع منابع و انواع داده باشند. دریاچههای داده گاهی اوقات به عنوان یک منطقه عملیاتی از یک انبار داده نیز استفاده میشوند. مهمترین نقش دریاچه داده در تحلیل پیشبینیکننده و پیشرفته است. اکنون به فرآیندی میرسیم که در قلب کسب ارزش از دادهها قرار دارد - فرآیند استخراج، تبدیل و بارگذاری یا ETL. ETL نحوه تبدیل دادههای خام به دادههای آماده برای تحلیل است. این یک فرآیند خودکار است که در آن شما دادههای خام را از منابع شناسایی شده جمعآوری میکنید، اطلاعاتی را که با نیازهای گزارشدهی و تحلیل شما همسو است استخراج میکنید، آن دادهها را تمیز، استانداردسازی و به فرمتی تبدیل میکنید که در زمینه سازمان شما قابل استفاده باشد؛ و آن را در یک مخزن داده بارگذاری میکنید. در حالی که ETL یک فرآیند عمومی است، کار واقعی میتواند از نظر استفاده، کاربرد و پیچیدگی بسیار متفاوت باشد. استخراج مرحلهای است که در آن دادهها از مکانهای منبع برای تبدیل جمعآوری میشوند. استخراج دادهها میتواند از طریق موارد زیر انجام شود: پردازش دستهای، به این معنی که دادههای منبع، در فواصل زمانی برنامهریزی شده در قطعات بزرگ از منبع به سیستم هدف منتقل میشوند. ابزارهای پردازش دستهای شامل Stitch و Blendo هستند. پردازش جریانی، به این معنی که دادههای منبع به صورت بلادرنگ از منبع گرفته میشوند و در حین انتقال و قبل از بارگذاری در مخزن داده تبدیل میشوند. ابزارهای پردازش جریانی شامل Apache Samza ، Apache Storm و Apache Kafka هستند. تبدیل شامل اجرای قوانین و توابعی است که دادههای خام را به دادههایی تبدیل میکند که میتوانند برای تحلیل استفاده شوند. به عنوان مثال، ایجاد قالبهای تاریخ و واحدهای اندازهگیری سازگار در تمام دادههای منبع، حذف دادههای تکراری، فیلتر کردن دادههایی که نیازی به آنها ندارید، غنیسازی دادهها، به عنوان مثال، تقسیم نام کامل به نامهای کوچک، میانی و نام خانوادگی، ایجاد روابط کلیدی در جداول، اعمال قوانین تجاری و اعتبارسنجی دادهها. بارگذاری مرحلهای است که دادههای پردازش شده به سیستم مقصد یا مخزن داده منتقل میشوند. میتواند به صورت زیر باشد: بارگذاری اولیه، یعنی پر کردن تمام دادههای موجود در مخزن، بارگذاری افزایشی، یعنی اعمال بهروزرسانیها و اصلاحات مداوم در صورت نیاز به صورت دورهای؛ یا بهروزرسانی کامل، یعنی پاک کردن محتویات یک یا چند جدول و بارگذاری مجدد با دادههای تازه. تأیید بارگذاری، که شامل بررسیهای داده برای مقادیر از دست رفته یا تهی، کارایی سرور و نظارت بر خرابیهای بارگذاری است، بخشهای مهمی از این مرحله فرآیند هستند. توجه به خرابیهای بارگذاری و اطمینان از وجود مکانیسمهای بازیابی مناسب بسیار حیاتی است. ETL از نظر تاریخی برای بارهای کاری دستهای در مقیاس بزرگ استفاده شده است. با این حال، با ظهور ابزارهای ETL جریانی، آنها به طور فزایندهای برای دادههای رویداد جریانی در زمان واقعی نیز استفاده میشوند. معمولاً اصطلاحات ETL و خطوط لوله داده به جای یکدیگر استفاده میشوند. و اگرچه هر دو دادهها را از منبع به مقصد منتقل میکنند، خط لوله داده اصطلاح گستردهتری است که کل مسیر انتقال دادهها از یک سیستم به سیستم دیگر را در بر میگیرد، که ETL زیرمجموعهای از آن است. خطوط لوله داده را میتوان برای پردازش دستهای، برای دادههای جریانی و ترکیبی از دادههای دستهای و جریانی طراحی کرد. در مورد دادههای جریانی، پردازش یا تبدیل دادهها، در یک جریان پیوسته اتفاق میافتد. این امر به ویژه برای دادههایی که نیاز به بهروزرسانی مداوم دارند، مانند دادههای حاصل از یک حسگر که ترافیک را رصد میکند، مفید است. یک خط لوله داده، سیستمی با عملکرد بالا است که هم از پرسوجوهای دستهای طولانی مدت و هم از پرسوجوهای تعاملی کوچکتر پشتیبانی میکند. مقصد یک خط لوله داده معمولاً یک دریاچه داده است، اگرچه دادهها ممکن است در مقاصد هدف مختلفی مانند یک برنامه دیگر یا یک ابزار تجسم نیز بارگذاری شوند. تعدادی راهحل خط لوله داده در دسترس است که محبوبترین آنها Apache Beam و DataFlow هستند.
مارتهای داده، دریاچههای داده، ETL، و خطوط لوله داده
توضیحات
بررسی انبارهای داده، مارتهای داده (data marts)، دریاچههای داده (data lakes) و فرآیند ETL و خطوط لوله داده (data pipelines)