در نظر گرفتن تمام خدمات و گزینه های معماری موجود هنگام فکر کردن به پلتفرم های داده ممکن است کمی دشوار باشد.
یک پلتفرم داده سازمانی اغلب از انبارهای داده، مدلهای داده، دریاچههای داده و گزارشها تشکیل میشود که هرکدام دارای هدف خاصی و مجموعهای از مهارتهای مورد نیاز هستند. در مقابل، طرح جدیدی به نام خانه دریاچه داده در چند سال اخیر پدیدار شده است.
تطبیق پذیری دریاچه های داده و مدیریت داده های انبار داده در یک معماری انقلابی ذخیره سازی داده ها با نام "دریاچه داده" ترکیب شده اند.
ما در این پست دادهها را به طور عمیق بررسی خواهیم کرد، از جمله اجزاء، ویژگیها، معماری و سایر جنبههای آن.
Data Lakehouse چیست؟
همانطور که از نام آن پیداست، دیتا لیک هاوس نوع جدیدی از معماری داده است که یک دریاچه داده را با یک انبار داده ترکیب می کند تا کاستی های هر یک را به طور جداگانه برطرف کند.
در اصل، سیستم Lakehouse از ذخیرهسازی ارزانقیمتی برای نگهداری مقادیر عظیمی از دادهها به شکل اصلیشان استفاده میکند، مانند دریاچههای داده. افزودن لایه ابرداده در بالای فروشگاه نیز ساختار داده را می دهد و ابزارهای مدیریت داده را مانند ابزارهای موجود در انبارهای داده توانمند می کند.
حجم عظیمی از دادههای سازمانیافته، نیمه ساختاریافته و بدون ساختار را ذخیره میکند که از برنامههای تجاری، سیستمها و ابزارهای مختلف مورد استفاده در سازمانشان به دست میآیند.
در اکثر مواقع، دریاچه های داده از زیرساخت ذخیره سازی کم هزینه با رابط برنامه نویسی برنامه کاربردی فایل (API) برای ذخیره داده ها در فرمت های فایل باز و عمومی استفاده می کنند.
این امکان را برای بسیاری از تیمها فراهم میکند تا از طریق یک سیستم واحد به تمام دادههای شرکت برای انواع ابتکارات، مانند علم داده، دسترسی داشته باشند. فراگیری ماشینو هوش تجاری
امکانات
- ذخیره سازی کم هزینه یک خانه دریاچه داده باید بتواند داده ها را در ذخیره سازی اشیاء ارزان قیمت، مانند Google Cloud Storage، Azure Blob Storage، Amazon Simple Storage Service یا بومی با استفاده از ORC یا Parket.
- قابلیت بهینهسازی دادهها: بهینهسازی چیدمان دادهها، ذخیرهسازی ذخیرهسازی و نمایهسازی نمونههایی از چگونگی بهینهسازی دادهها با حفظ فرمت اصلی دادهها هستند.
- لایهای از ابردادههای تراکنش: علاوه بر ذخیرهسازی کمهزینه ضروری، قابلیتهای مدیریت دادهها را که برای عملکرد انبار داده حیاتی هستند، ممکن میسازد.
- پشتیبانی از API Declarative DataFrame: اکثر ابزارهای هوش مصنوعی می توانند از DataFrames برای بازیابی داده های ذخیره اشیای خام استفاده کنند. پشتیبانی از Declarative DataFrame API توانایی بهبود پویا ارائه و ساختار داده ها را در پاسخ به علم داده خاص یا وظیفه هوش مصنوعی افزایش می دهد.
- پشتیبانی از تراکنش های ACID: مخفف ACID که مخفف اتمی، سازگاری، جداسازی و دوام است، یک جزء حیاتی در تعریف تراکنش و اطمینان از سازگاری و قابلیت اطمینان داده ها است. چنین تراکنشهایی قبلاً فقط در انبارهای داده امکانپذیر بود، اما lakehouse گزینه ای برای استفاده از آنها با دریاچه های داده ارائه می دهد همچنین. با چندین خط لوله داده از جمله خواندن و نوشتن داده های همزمان، این مشکل کیفیت پایین داده دومی را حل می کند.
عناصر Data Lakehouse
معماری خانه دریاچه داده به دو سطح اصلی در سطح بالا تقسیم می شود. دریافت داده لایه ذخیره توسط پلت فرم Lakehouse (یعنی دریاچه داده) کنترل می شود.
بدون نیاز به بارگذاری داده ها در انبار داده یا تبدیل آن به یک فرمت اختصاصی، لایه پردازش می تواند مستقیماً با استفاده از طیف وسیعی از ابزارها، داده ها را در لایه ذخیره سازی پرس و جو کند.
سپس، برنامههای هوش مصنوعی و همچنین فناوریهای هوش مصنوعی و ML میتوانند از دادهها استفاده کنند. اقتصاد دریاچه داده با این طراحی ارائه می شود، اما از آنجا که هر موتور پردازشی می تواند این داده ها را بخواند، کسب و کارها این آزادی را دارند که داده های آماده شده را برای تجزیه و تحلیل توسط طیف وسیعی از سیستم ها در دسترس قرار دهند. عملکرد و هزینه پردازنده را می توان با استفاده از این روش برای پردازش و تجزیه و تحلیل بهبود بخشید.
به دلیل پشتیبانی از تراکنشهای پایگاه داده که از معیارهای ACID (اتمی، سازگاری، جداسازی و دوام) پیروی میکنند، این معماری همچنین بسیاری از طرفها را قادر میسازد تا به طور همزمان به دادهها دسترسی داشته باشند و آنها را بنویسند:
- اتمی بودن به این واقعیت اشاره دارد که یا کل تراکنش یا هیچ یک از آن، در حین انجام معامله موفق می شود. در صورتی که فرآیندی قطع شود، این امر به جلوگیری از از دست رفتن داده ها یا فساد کمک می کند.
- ثبات تضمین می کند که تراکنش ها به شیوه ای قابل پیش بینی و سازگار انجام می شود. یکپارچگی داده ها را با اطمینان از قانونی بودن هر داده مطابق با قوانین از پیش تعیین شده حفظ می کند.
- انزوا تضمین می کند که تا پایان آن، هیچ تراکنشی نمی تواند تحت تأثیر هر تراکنش دیگری در سیستم قرار گیرد. این به چندین طرف اجازه میدهد تا بدون تداخل با یکدیگر، همزمان از یک سیستم بخوانند و بنویسند.
- دوام تضمین می کند که تغییرات در داده های یک سیستم پس از پایان تراکنش همچنان وجود دارد، حتی در صورت خرابی سیستم. هرگونه تغییری که توسط یک تراکنش ایجاد شود برای همیشه در پرونده نگهداری می شود.
معماری دیتا لیک هاوس
Databricks (مبتکر و طراح مفهوم دلتا لیک آنها) و AWS دو طرفدار اصلی مفهوم خانه دریاچه داده هستند. بنابراین ما برای توصیف طرح معماری خانههای دریاچه بر دانش و بینش آنها تکیه خواهیم کرد.
یک سیستم Lakehouse داده معمولاً دارای پنج لایه است:
- لایه بلع
- لایه ذخیره سازی
- لایه فراداده
- لایه API
- لایه مصرف
لایه بلع
لایه اول سیستم وظیفه جمع آوری داده ها از منابع مختلف و ارسال آن به لایه ذخیره سازی را بر عهده دارد. این لایه میتواند از چندین پروتکل برای اتصال به منابع داخلی و خارجی متعدد، از جمله ترکیب قابلیتهای پردازش دادههای دستهای و جریانی، مانند
- پایگاه های داده NoSQL،
- اشتراک گذاری فایل
- برنامه های کاربردی CRM،
- وب سایت ها ،
- حسگرهای اینترنت اشیا،
- رسانه های اجتماعی
- نرم افزار به عنوان یک سرویس (SaaS) برنامه های کاربردی، و
- سیستم های مدیریت پایگاه داده رابطه ای و غیره
در این مرحله، اجزایی مانند Apache Kafka برای جریان داده و Amazon Data Migration Service (Amazon DMS) برای وارد کردن دادهها از پایگاههای داده RDBMS و NoSQL میتوانند استفاده شوند.
لایه ذخیره سازی
معماری lakehouse به این معنی است که ذخیره انواع مختلف داده ها را به عنوان اشیاء در فروشگاه های ارزان قیمت مانند AWS S3 فراهم می کند. با استفاده از فرمتهای فایل باز، ابزار مشتری میتوانند این موارد را مستقیماً از فروشگاه بخوانند.
این امکان را برای بسیاری از APIها و اجزای لایه مصرفی فراهم می کند تا به داده های مشابه دسترسی داشته باشند و از آنها استفاده کنند. لایه ابرداده طرحوارهها را برای مجموعه دادههای ساختیافته و نیمهساختیافته ذخیره میکند تا مؤلفهها بتوانند آنها را هنگام خواندن دادهها به کار ببرند.
برای مثال، پلتفرم سیستم فایل توزیعشده Hadoop (HDFS) میتواند برای ساخت سرویسهای مخزن ابری استفاده شود که محاسبات و ذخیرهسازی را در محل تقسیم میکند. Lakehouse برای این خدمات بسیار مناسب است.
لایه فراداده
لایه ابرداده جزء اساسی یک خانه دریاچه داده است که این طرح را متمایز می کند. این یک کاتالوگ واحد است که ابرداده (اطلاعات مربوط به سایر قطعات داده) را برای همه موارد ذخیره شده در دریاچه ارائه می دهد و به کاربران اجازه می دهد تا از قابلیت های مدیریتی مانند:
- یک نسخه ثابت از پایگاه داده به لطف تراکنش های ACID توسط تراکنش های همزمان دیده می شود.
- ذخیره سازی برای ذخیره فایل های ذخیره سازی اشیاء ابری؛
- افزودن نمایه های ساختار داده با استفاده از نمایه سازی برای سرعت بخشیدن به پردازش پرس و جو.
- استفاده از شبیه سازی صفر کپی برای کپی کردن اشیاء داده. و
- برای ذخیره نسخه های خاصی از داده ها و غیره، از نسخه سازی داده استفاده کنید.
علاوه بر این، لایه ابرداده اجرای مدیریت طرحواره، استفاده از توپولوژیهای طرحواره DW مانند طرحوارههای ستاره/دانههای برف، و ارائه حاکمیت داده و قابلیت ممیزی مستقیماً روی دریاچه داده را امکانپذیر میسازد و یکپارچگی کل خط لوله داده را افزایش میدهد.
ویژگی هایی برای تکامل و اجرای طرحواره در مدیریت طرحواره گنجانده شده است. با رد هر نوشته ای که با طرح جدول مطابقت ندارد، اجرای طرحواره کاربران را قادر می سازد تا یکپارچگی و کیفیت داده ها را حفظ کنند.
تکامل طرحواره اجازه می دهد تا طرحواره فعلی جدول برای تطبیق داده های در حال تغییر اصلاح شود. با توجه به یک رابط مدیریت واحد در بالای دریاچه داده، امکان کنترل دسترسی و ممیزی نیز وجود دارد.
لایه API
یکی دیگر از لایههای مهم معماری در حال حاضر وجود دارد، میزبان تعدادی API که همه کاربران نهایی میتوانند از آنها برای انجام سریعتر کارها و دریافت آمار پیچیدهتر استفاده کنند.
استفاده از APIهای ابرداده شناسایی و دسترسی به اقلام داده مورد نیاز برای یک برنامه خاص را آسانتر می کند.
از نظر کتابخانههای یادگیری ماشین، برخی از آنها مانند TensorFlow و Spark MLlib میتوانند فرمتهای فایل باز مانند Parquet را بخوانند و مستقیماً به لایه ابرداده دسترسی داشته باشند.
در عین حال، APIهای DataFrame شانس بیشتری برای بهینه سازی ارائه می دهند و برنامه نویسان را قادر می سازند تا داده های پراکنده را سازماندهی و تغییر دهند.
لایه مصرف
Power BI، Tableau و سایر ابزارها و برنامه ها در زیر لایه مصرف میزبانی می شوند. با طراحی lakehouse، تمام ابرداده ها و تمام داده هایی که در یک دریاچه نگهداری می شوند برای برنامه های مشتری قابل دسترسی هستند.
Lakehouse می تواند توسط همه کاربران داخل یک شرکت برای انجام انواع کارها استفاده شود عملیات تحلیلیاز جمله ایجاد داشبوردهای هوش تجاری و اجرای پرس و جوهای SQL و وظایف یادگیری ماشینی.
مزایای Data Lakehouse
سازمانها میتوانند یک خانه داده ایجاد کنند تا پلتفرم داده فعلی خود را متحد کرده و کل فرآیند مدیریت داده خود را بهینه کنند. با از بین بردن موانع سیلو که منابع مختلف را به هم متصل می کنند، یک خانه دریاچه داده می تواند جایگزین نیاز به راه حل های متمایز شود.
در مقایسه با منابع دادهای انتخابشده، این یکپارچهسازی یک رویه سرتاسری مؤثرتر را ایجاد میکند. این چند مزیت دارد:
- مدیریت کمتر: به جای استخراج دادهها از دادههای خام و آمادهسازی آنها برای استفاده در یک انبار داده، یک data lakehouse به منابع مرتبط با آن اجازه میدهد تا دادههای خود را در دسترس و سازماندهی کنند تا مورد استفاده قرار گیرند.
- افزایش مقرون به صرفه بودن: خانههای دریاچه دادهها با استفاده از زیرساختهای معاصری ساخته میشوند که محاسبات و ذخیرهسازی را تقسیم میکند و گسترش فضای ذخیرهسازی را بدون افزایش توان محاسباتی ساده میکند. فقط استفاده از ذخیره سازی داده های ارزان قیمت مقیاس پذیری را به همراه دارد که مقرون به صرفه است.
- حاکمیت داده بهتر: خانههای دریاچه داده با معماری باز استاندارد ساخته شدهاند که امکان کنترل بیشتر بر امنیت، معیارها، دسترسی مبتنی بر نقش و سایر اجزای مهم مدیریتی را فراهم میکند. با متحد کردن منابع و منابع داده، آنها حکمرانی را ساده و تقویت می کنند.
- استانداردهای ساده شده: از آنجایی که اتصال در دهه 1980 بسیار محدود بود، زمانی که انبارهای داده برای اولین بار توسعه یافتند، استانداردهای طرح واره محلی اغلب در داخل کسب و کارها، حتی دپارتمان ها توسعه یافتند. Lakehouse های داده از این واقعیت استفاده می کنند که بسیاری از انواع داده ها اکنون دارای استانداردهای باز برای طرحواره هستند، با جذب منابع داده های متعدد با طرحواره یکنواخت همپوشانی برای ساده کردن رویه ها.
معایب Data Lakehouse
علیرغم همه هجومهای اطراف دریاچههای داده، مهم است که به خاطر داشته باشید که این ایده هنوز بسیار جدید است. قبل از اینکه کاملاً به این طراحی جدید متعهد شوید، حتماً معایب را بسنجید.
- ساختار یکپارچه: طراحی همه جانبه یک خانه دریاچه دارای چندین مزیت است، اما مشکلاتی نیز ایجاد می کند. معماری یکپارچه اغلب منجر به خدمات ضعیف برای همه کاربران می شود و می تواند سخت و سخت باشد. به طور معمول، معماران و طراحان معماری مدولارتری را دوست دارند که بتوانند آن را برای موارد استفاده مختلف سفارشی کنند.
- این فناوری هنوز کاملاً وجود ندارد: هدف نهایی مستلزم مقدار قابل توجهی از یادگیری ماشین و هوش مصنوعی است. قبل از اینکه خانههای دریاچه بتوانند آنطور که تصور میشود عمل کنند، این فناوریها باید بیشتر توسعه یابند.
- پیشرفت قابل توجهی نسبت به ساختارهای موجود نیست: هنوز شک و تردیدهای قابل توجهی در مورد اینکه خانه های دریاچه با ارزش بیشتری واقعاً به آن کمک می کنند وجود دارد. برخی مخالفان معتقدند که طراحی انبار دریاچه همراه با تجهیزات خودکار مناسب می تواند کارایی قابل مقایسه ای داشته باشد.
چالش های دیتا لیک هاوس
اتخاذ روش داده lakehouse ممکن است دشوار باشد. به دلیل پیچیدگی اجزای آن، تلقی کردن خانه دریاچه داده به عنوان یک ساختار ایده آل فراگیر یا "یک پلت فرم برای همه چیز" برای یک نادرست است.
علاوه بر این، با توجه به پذیرش روزافزون دریاچههای داده، کسبوکارها باید انبارهای داده فعلی خود را به آنها منتقل کنند، تنها با اتکا به وعده موفقیت بدون هیچ سود اقتصادی قابل اثبات.
اگر در طول فرآیند انتقال مشکلات تاخیر یا قطعی وجود داشته باشد، ممکن است گران، زمانبر و شاید ناامن باشد.
طبق گفته فروشندگان خاصی که صراحتاً یا به طور ضمنی راه حل ها را به عنوان خانه های داده عرضه می کنند، کاربران تجاری باید از فناوری های بسیار تخصصی استقبال کنند. اینها ممکن است همیشه با ابزارهای دیگر مرتبط با دریاچه داده در مرکز سیستم کار نکنند و به مشکلات اضافه کنند.
علاوه بر این، ممکن است ارائه تجزیه و تحلیل 24/7 در حین اجرای بارهای کاری حیاتی برای کسب و کار دشوار باشد، که نیازمند زیرساخت هایی با مقیاس پذیری مقرون به صرفه است.
نتیجه
جدیدترین انواع مراکز داده در سال های اخیر دیتا لیک هاوس است. زمینه های مختلفی مانند فناوری اطلاعات، نرم افزار منبع باز، محاسبات ابری، و پروتکل های ذخیره سازی توزیع شده است.
کسب و کارها را قادر می سازد تا به طور متمرکز انواع داده ها را از هر مکان ذخیره کنند، مدیریت و تجزیه و تحلیل را ساده می کند. Data Lakehouse یک مفهوم بسیار جذاب است.
هر شرکتی اگر به یک پلتفرم داده یکپارچه دسترسی داشته باشد که به سرعت و کارآمدی یک انبار داده و در عین حال به اندازه یک دریاچه داده انعطاف پذیر باشد، از مزیت رقابتی قابل توجهی برخوردار خواهد بود.
این ایده هنوز در حال توسعه است و نسبتاً جدید باقی مانده است. در نتیجه، ممکن است مدتی طول بکشد تا مشخص شود آیا چیزی می تواند گسترده شود یا خیر.
همه ما باید در مورد مسیری که معماری لیک هاوس در حال حرکت است کنجکاو باشیم.
پاسخ دهید