بلاگ

مفهوم Data Lake یا دریاچه داده به همراه معرفی Delta Lake

آشنایی

قبل از هر چیزی باید بگم برای خیلی ها این سوال مطرح هست که فرق بین دریاچه داده با انبار داده چی هست؟ استاد ارجمند مارتین فاولر که ملت تو مهندسی نرم افزار و معماری نرم افزار خوب می شناسنش تو وب سایت خودش که من واسه مقاله معماری میکروسرویس ازش کمک گرفتم یه پستی در این باره داره که اومده فرق این دو تا رو تشریح کرده. مخلص کلام اینکه تو دریاچه، داده ها به همون فرمتی که Ingest میشن ذخیره میشن یعنی بصورت خام و Raw Format، اما تو انباره داده چون دیتا آنالیست ها میخوان از دیتاهاش واسه تحلیل و گزارش گیری و داشبورد ساختن واسه کارفرما! استفاده کنن مجبورن دیتاهاشون قبلا از ورود به انباره داده تمیز باشه و بقول معروف Clean و یه اسکیمای سازگار داشته باشه.

یه شکل خوبی دیگه هم گذاشته و مفهوم دریاچه داده رو باز کرده و گفته سیستم های عملیاتی از طریق Service Connection هایی که دارن فارغ از دریاچه به هم وصل میشن و با هم ارتباط دارن و در ادامه گفته سیستم های عملیاتی چطور به دریاچه از طریق یه سری سرویس های دیتامحور وصل میشن. تو یه بخشی هم گفته کیا میان ازش استفاده میکنن مثل دانشمندان داده و دیتا آنالیست ها.

 

تفاوت های دریاچه داده و انباره داده

تو این بخش تفاوت های دریاچه داده و انباره داده رو در قالب یه جدول با هم بررسی می کنیم.

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

نوع تحلیل ها دارای انعطاف بیشتر و ساختار پیچیده تری است و نرخ تغییرات بالا در روش های تحلیل دیتا

کاربران اصلی: حرفه ای های کسب کار سازمانی 

نوع تحلیل ها دارای ساختار مشخص  تری و نسبتا ثابت است، نرخ تغییرات پایین تر است

قابلیت دسترسی بسیار بالا و آماده تغییرات بروزرسانی پیچیدگی نسبی به همراه هزینه مندی در ایجاد تغییرات

به این تصویر دقت کنید

و این

آشنایی با Delta Lake

پلتفرم Delta Lake یک لایه Storage هستش که اصول تراکنشی ACID رو برای موتور پردازشی آپاچی اسپارک و Workflow در بیگ دیتا به ارمغان میاره و باهاش یکپارچه میشه. ورودی Delta Lake می تونه هم دیتای Batch باشه هم از نوع Stream و می تونه با HDFS, Azure Data Storage و Amazon S3 کار کنه. ما حصل کار روی این نوع دریاچه داده می تونه تحویل مهندسان یادگیری ماشین و دانشمندان داده بشه تا بتونن تحلیل های مدنظرشون رو به منظور استخراج الگو و کشف ارزش از داده برای سازمان ها انجام بدن.

ویژگی های کلیدی

از جمله خصوصیات Delta Lake می تونیم به موارد ذیل اشاره داشته باشیم:

  1. پشتیبانی از تراکنش های ACID
  2. ورژن بندی دیتا
  3. توانایی کار و هندلینگ فراداده های مقیاس پذیر
  4. فرمت باز: ذخیره سازی داده در فرمت Apache Parquet
  5. یکپارچه سازی منابع داده ای هم بصورت Batch و هم Stream
  6. قابلیت طراحی اسکیمای مدنظرمان و اجرای آن
  7. ذخیره سازی و Tracking تمامی Log های مرتبط با دیتا
  8. پشتیبانی از Scala / Java APIs to merge, update and delete datasets
  9. سازگاری %100 با موتور پردازشی آپاچی اسپارک

ویژگی موردانتظار جدید

یک قابلیت رو که خیلی ها منتظرش بودن رو بالاخره آپ کرده اونم اینه و واسه اونا(ماها!)یی که با Hive کار میکنن خبر خوبیه.

  1. قابلیت یکپارچه شدن با Apache Hive و Apache Parquet به منظور اتصال منابع داده ای در جهت Data Read: حالا شما می تونید با استفاده از دستور STORED BY یه جدول تو Hive بسازین تا به یه Delta Table وصلش کنین.

کدوم شرکت های باهاش سر و کار دارن؟

در راس شرکت هایی که با Delta Lake سر وکار دارن شرکت های ذیل قرار دارن. یه عزیزی هم به بنده اطلاع دادند Informatica و Tableau جزو Partnership هاش هستند و ساپورتش می کنن.

اشتراک گذاری:

مطالب زیر را حتما مطالعه کنید

دوره های آموزشی مرتبط

دیدگاهتان را بنویسید