سلام دوستان عزیزم. قبل از هر چیزی بگم من این مطلب رو در وب سایت دنیای بیگ دیتا نشر دادم که اونجا هم می تونین این نوشته رو با تصاویر بیشتر به همراه مباحث پیرامون فیلد بیگ دیتا مطالعه کنید.
قبل از هر چیزی باید بگم برای خیلی ها این سوال مطرح هست که فرق بین دریاچه داده با انبار داده چی هست؟ استاد ارجمند مارتین فاولر که ملت تو مهندسی نرم افزار و معماری نرم افزار خوب می شناسنش تو وب سایت خودش که من واسه مقاله معماری میکروسرویس ازش کمک گرفتم یه پستی در این باره داره که اومده فرق این دو تا رو تشریح کرده. مخلص کلام اینکه تو دریاچه، داده ها به همون فرمتی که Ingest میشن ذخیره میشن یعنی بصورت خام و Raw Format، اما تو انباره داده چون دیتا آنالیست ها میخوان از دیتاهاش واسه تحلیل و گزارش گیری و داشبورد ساختن واسه کارفرما! استفاده کنن مجبورن دیتاهاشون قبلا از ورود به انباره داده تمیز باشه و بقول معروف Clean و یه اسکیمای سازگار داشته باشه.
یه شکل خوبی دیگه هم گذاشته و مفهوم دریاچه داده رو باز کرده و گفته سیستم های عملیاتی از طریق Service Connection هایی که دارن فارغ از دریاچه به هم وصل میشن و با هم ارتباط دارن و در ادامه گفته سیستم های عملیاتی چطور به دریاچه از طریق یه سری سرویس های دیتامحور وصل میشن. تو یه بخشی هم گفته کیا میان ازش استفاده میکنن مثل دانشمندان داده و دیتا آنالیست ها.
تو این بخش تفاوت های دریاچه داده و انباره داده رو با هم بررسی می کنیم.
دریاچه داده: ساختار منعطفتر، هزینه کمتر در ساخت، ذخیره سازی داده های ساختاریافته و غیرساختار یافته، هدف استفاده از دیتا هنوز مشخص نیست، کاربران اصلی: دانشمندان داده، قابلیت دسترسی بسیار بالا و آماده تغییرات بروزرسانی
انباره داده: ساختار مبتنی بر اسکیمای واحد و مشخص، هزینه به مراتب بیشتر در ساخت، ذخیره سازی داده ها بصورت پاکسازی شده، دیتا در حال پردازش و استفاده بصورت عملیاتی است، کاربران اصلی: متخصصان کسب و کار، پیچیدگی نسبی به همراه هزینه مندی در ایجاد تغییرات
آشنایی با Delta Lake
پلتفرم Delta Lake یک لایه Storage هستش که اصول تراکنشی ACID رو برای موتور پردازشی آپاچی اسپارک و Workflow در بیگ دیتا به ارمغان میاره و باهاش یکپارچه میشه. ورودی Delta Lake می تونه هم دیتای Batch باشه هم از نوع Stream و می تونه با HDFS, Azure Data Storage و Amazon S3 کار کنه. ما حصل کار روی این نوع دریاچه داده می تونه تحویل مهندسان یادگیری ماشین و دانشمندان داده بشه تا بتونن تحلیل های مدنظرشون رو به منظور استخراج الگو و کشف ارزش از داده برای سازمان ها انجام بدن.