آیا باید از Data Lakehouse به جای Data Warehouse و/یا Data Lake استفاده کنید؟


آیا باید از Data Lakehouse به جای Data Warehouse و/یا Data Lake استفاده کنید؟

مقدمه

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

بنابراین، آیا می توانید بهترین های هر دو جهان را با Data Lakehouse داشته باشید؟ و چیست بهترین Lakehouse برای استفاده؟

قبل از اینکه به این سوالات پاسخ دهیم، باید بپرسیم “Data Warehouse، Data Lake و Data Lakehouse چیست؟”

Data Warehouse، Data Lake و Data Lakehouse چیست؟

انبار داده یک معماری داده است که از دهه 90 وجود داشته است و هنوز هم مرتبط است. این وسیله ای برای ذخیره داده های جدولی است تا بتوان به راحتی توسط برنامه های کاربردی هوش تجاری مانند تابلو یا Power BIبرنامه های کاربردی وب و حتی سایر انبارهای داده. سه معماری رایج Data Warehouse عبارتند از طرحواره ستاره کیمبال، خزانه داده و یک میز بزرگ.

این نام همچنین به طور گیج کننده ای برای شناسایی یک نوع پایگاه داده استفاده می شود، مانند AWS Redshift، سیناپس لاجوردی و دانه برف، که در ذخیره سازی و پرس و جو مقادیر زیادی از داده ها تخصص دارند.

انبارهای داده مشکلات خود را دارند. آنها می توانند در هنگام پردازش مقادیر زیادی داده گرانتر از Data Lake باشند و زمانی که داده ها با کیفیت معقول و در ساختار جدولی باشند بهترین عملکرد را دارند.

معماری یک پلت فرم داده ساده با استفاده از یک انبار داده.

بنابراین، دریاچه داده به همراه آمد تا به کاهش این نقاط درد رایج کمک کند:

  • دانشمندان داده باید بتوانند مقادیر زیادی از داده های خام با کیفیت مشکوک را پردازش کنند.
  • افزایش الزامات برای ذخیره سازی منابع داده غیرجدولی.
  • نیاز به ذخیره سازی داده ها که از نظر ساختار و طرحواره انعطاف پذیرتر باشد.
  • نیاز به ذخیره سازی داده هایی که ممکن است در تاریخ های بعدی مورد نیاز باشد، به عنوان مثال برای ممیزی، اما هزینه راه اندازی و نگهداری پایینی دارند (فرآیند ETL کمی در مقایسه با پایگاه داده مورد نیاز است).

دریاچه داده فقط یک سیستم فایل توزیع شده در قلب خود است که معمولاً در فضای ابری میزبانی می شود AWS S3 یا دریاچه داده لاجورد، با فایل های بزرگ که توسط یک کلید تقسیم می شوند، بنابراین می توانید با بارگذاری پارتیشن های مورد نیاز در هزینه های پردازش صرفه جویی کنید.

Data Lakes همچنین به طور کلی از انعطاف پذیری بیشتری برخوردار است زیرا می تواند تعداد نامحدودی از فرمت های فایل را ذخیره کند و یک رابط مشترک برای ذخیره سازی خود ارائه دهد که به شما امکان می دهد از بسیاری از موتورهای محاسباتی استفاده کنید. این اغلب نامیده می شود جدا کردن فضای ذخیره سازی از محاسباتکه به قدری محبوب شده است که بسیاری از انبارهای داده هم اکنون این را ارائه می دهند. Data Lakes همچنین می تواند به راحتی داده های غیر جدولی (تصاویر، فیلم ها و موسیقی) را ذخیره کند که انبارهای داده بدون پیش پردازش نمی توانند.

با این حال، بدون Delta Lake نمی‌تواند به‌راحتی یا کارآمد به‌روزرسانی‌ها و درج‌های سطح ردیف را انجام دهد، یا به راحتی به برنامه‌های هوش تجاری متصل شود، کاری که انبار داده یا پایگاه داده می‌تواند انجام دهد.

معماری یک پلتفرم داده نمونه با استفاده از دریاچه داده و انبار داده.

دیتا لیک هاوس چیست؟
Data Lakehouse یک معماری مدیریت داده باز است که انعطاف پذیری، کارایی هزینه و مقیاس D را ترکیب می کند.دریاچه های آتا با مدیریت داده‌ها و تراکنش‌های ACID انبارهای داده، هوش تجاری (BI) و یادگیری ماشینی (ML) را روی همه داده‌ها ممکن می‌سازد.

Databricks Lakehouse چیست؟

تا همین چند سال پیش، Databricks عمدتا به عنوان یک راه آسان برای اجرا طراحی شده است جرقه، یک کتابخانه پردازش داده توزیع شده برای مهندسی داده و علم داده در مقیاس بزرگ. این عمدتاً در کنار یک Data Lake با مزایا و معایب مشابه کار می کرد.

در سال 2019 Databricks منتشر شد دریاچه دلتافرمت فایل با ویژگی هایی که قبلاً در پایگاه های داده و انبارهای داده همانطور که در بالا ذکر شد یافت می شد. همراه با Spark برای پردازش و تبدیل طیف گسترده ای از داده ها، این امر باعث ایجاد Data Lakehouse شد.

امروزه Databricks دارای یک ویژگی کاملاً برجسته است انبار داده SQLامنیت سازمانی، حاکمیت داده با کاتالوگ یونیتی، بسیاری از اتصال دهنده های دادهو همچنین توانایی خروجی داده ها به Power BI و Tableau، بنابراین می تواند تمام موارد استفاده از داده های رایج را برآورده کند.

معماری نمونه Databricks “Lakehouse” با استفاده از Spark به عنوان موتور پردازش و Delta Lake به عنوان ذخیره.

برای کسانی که به دنبال ساخت Data Mesh هستند، Databricks دارای پرس و جو فدرال شده است در پیش نمایش، هر چند دریاچه دلتا همچنین دارای اتصال دهنده هایی برای سه گانه، انفجار ستاره و درام بنابراین می توانید به بسیاری از Data Lakes در سراسر سازمان خود بپیوندید:

معماری بسیاری از محصولات داده Lakehouse در یک داده مش – لایه پرس و جو و لایه حاکمیت به همه محصولات داده دسترسی خواهند داشت که با مجوزهای دسترسی محدود می شوند.

آیا همچنان به انبار داده نیاز دارم؟

شاید، اما توجه داشته باشید که تبدیل به Data Lakehouse توسط یک تیم داده که از Databases/Data Warehouses و SQL استفاده می کند ممکن است کمی طول بکشد. اینجا در اوکلند، ما احساس می‌کنیم هنوز راه‌اندازی و بهینه‌سازی انبارهای بومی ابری مانند آن آسان‌تر است دانه برف و Google Big Queryاز Databricks، زیرا قطعات متحرک کمتری وجود دارد.

این هزینه های نگهداری می تواند بسیار بیشتر از مزایای Lakehouse باشد، به طور کلی در مقیاس های کوچکتر و پیچیدگی داده ها.

همچنین، در حالی که ما از نزدیک دیدیم که Lakehouse می‌تواند گزینه ارزان‌تر و کارآمدتر از Data Warehouse باشد، 100% موارد اینطور نبوده است و شما باید آزمایش خود را انجام دهید، زیرا عملکرد و هزینه بالایی دارد. به داده هایی که استفاده می کنید و محیطی که در آن کار می کنید بستگی دارد.

آیا می توانم یک Lakehouse در جایی غیر از Databricks بسازم؟

بله، دریاچه دلتا منبع باز است و می تواند در بسیاری از محصولات محاسباتی داده های مختلف استفاده شود که در زیر لیست شده اند. با این حال، Databricks بهینه سازی های ویژه ای را فقط برای Databricks و یک رابط کاربری قوی برای مدیریت Lakehouse ایجاد کرده است. بنابراین، احتمالاً اجرای دریاچه دلتا کندتر خواهد بود و نگهداری آن در جاهای دیگر دشوارتر است.

مثال رابط کاربری Databricks برای مجموعه داده هایی که طرح و نمونه ای از مجموعه داده را نشان می دهد.

همچنین توجه داشته باشید که Databricks یک موتور محاسباتی عمومی است نه یک پایگاه داده یا رابط برنامه نویسی: می تواند SQL، Pandas، ریSpark، اکثر کتابخانه های معروف علم داده، تجزیه و تحلیل گراف، فضای مکانی، اینترنت اشیا، جریان تقریباً واقعی را انجام می دهد و تقریباً هر کتابخانه پایتون، جاوا، R یا Scala را وارد می کند. مزیت اصلی Databricks برای ما تطبیق پذیری فوق العاده آن است که به طور بالقوه هزینه ها را با عدم نیاز به حفظ هوش تجاری و برنامه های پردازش داده علم داده جداگانه کاهش می دهد.

همچنین Databricks در موقعیت قوی برای سفارشی سازی قرار دارد مدل های یادگیری بزرگ (LLM) مانند ChatGPT، با محاسبات عمومی و قوی آن MLflow یکپارچه سازی، بنابراین می توانید بهترین مدل های AI منبع باز را انتخاب کنید و آن را با داده های سازمانی خود به روشی بسیار کارآمد تنظیم کنید. MLOs.

با این حال، اگر در حال حاضر از یکی از گزینه های Lakehouse لیست شده در زیر استفاده می کنید، ممکن است ارزش افزودن Databricks به پلتفرم داده خود را نداشته باشد.

جایگزین های Databricks Lakehouse عبارتند از:

  • انفجار ستارهمانند Databricks، یک موتور محاسباتی خنثی و بومی ابری با مجموعه کاملی از گزینه های سازمانی و اتصال دهنده های داده است. دارای کانکتورهای Delta Lake و Iceberg است که می توان آن را به طور کامل با SQL API کنترل کرد.
  • سیناپس لاجوردی دارای گزینه ای برای استفاده از Spark Engine خود است، می تواند کتابخانه های جاوا و پایتون را وارد کند، و همچنین دارای Delta Lake Integration است. دارای یکپارچگی عالی با بقیه Azure.
  • چسب AWS به شما امکان می دهد از دریاچه دلتا در S3 استفاده کنید. دارای یکپارچگی عالی با بقیه AWS.

ممکن است برخی بگویند پانداها یا DuckDB می تواند یک Data Lakehouse باشد، اگرچه از تحقیقات ما در می 2023، آنها نمی توانند تراکنش یا ادغام در فایل Data Lake (دریاچه دلتا، کوه یخ، و غیره) انجام دهند، بنابراین از موارد فوق مستثنی شده اند – اگرچه آنها هنوز موارد استفاده خاص خود را دارند.

خلاصه

به طور خلاصه، مانند سایر محصولات و معماری‌های داده، پاسخ این است که به ترکیب تیم داده، امنیت، اندازه و ساختار داده‌ها و نحوه استفاده از داده‌ها در میان بسیاری از عوامل دیگر بستگی دارد.

اگر داده‌های زیادی را در پلتفرم داده‌تان مصرف می‌کنید، در تلاش برای مدیریت هم‌زمان یک Data Lake و هم Data Warehouse هستید، یا سعی می‌کنید نحوه استفاده از تجزیه و تحلیل پیشرفته مانند یادگیری ماشین را با داده‌های خود بیابید، Data Lakehouse در ما است. نظر یک پیشنهاد قانع کننده

ما همچنین متوجه می‌شویم که Databricks را بیشتر از گزینه‌های جایگزین توصیه می‌کنیم، زیرا کامل‌ترین راه‌حل Lakehouse را ارائه می‌دهد، اگرچه رقبا به سرعت به عقب افتاده‌اند و تجربه‌ای تقریباً به اندازه Databricks ارائه می‌دهند، بنابراین انتخاب آن‌قدر که بود آسان نیست. در سال 2021 زمانی که ما برای اولین بار این مقاله را نوشتیم.

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