۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

دریاچه داده چیست؟ ذخیره سازی بسیار مقیاس پذیر برای تجزیه و تحلیل داده های بزرگ

در دریاچه های داده غوطه ور شوید – اینکه چه هستند، چگونه از آنها استفاده می شود و چگونه دریاچه های داده با انبارهای داده متفاوت و مکمل هستند.

در دریاچه های داده غوطه ور شوید – اینکه چه هستند، چگونه از آنها استفاده می شود و چگونه دریاچه های داده با انبارهای داده متفاوت و مکمل هستند.

در سال ۲۰۱۱، جیمز دیکسون، مدیر ارشد فناوری اطلاعات شرکت پنتاهو، اصطلاح دریاچه داده را ابداع کرد. او دریاچه داده را در توصیف کرد. برخلاف سیلوهای اطلاعاتی معمولی دیتا مارت که در آن زمان محبوب بودند: 

دریاچه‌های داده از آن زمان تکامل یافته‌اند و اکنون با انبار داده‌ها برای سهمی از رقابت می‌کنند. ذخیره سازی کلان داده و تجزیه و تحلیل. ابزارها و محصولات مختلف از پرس‌جویی سریع‌تر SQL در دریاچه‌های داده پشتیبانی می‌کنند، و هر سه ارائه‌دهنده اصلی ابر، ذخیره‌سازی و تجزیه و تحلیل دریاچه داده را ارائه می‌دهند. حتی مفهوم جدید data lakehouse وجود دارد که مدیریت، امنیت و تجزیه و تحلیل را با فضای ذخیره سازی مقرون به صرفه ترکیب می کند. این مقاله به بررسی دریاچه‌های داده‌ای می‌پردازد، از جمله اینکه آنها چه هستند، چگونه از آنها استفاده می‌شود و چگونه می‌توان اطمینان حاصل کرد که دریاچه داده شما به یک باتلاق داده تبدیل نمی‌شود.

دریاچه داده توضیح داده شد

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

دریاچه‌های داده می‌توانند میزبان داده‌های باینری، مانند تصاویر و ویدیو، داده‌های بدون ساختار، مانند اسناد PDF، و داده‌های نیمه ساختاریافته، مانند فایل‌های CSV و JSON، و همچنین داده‌های ساختاریافته، معمولاً از پایگاه‌های داده رابطه‌ای باشند. داده های ساختاریافته برای تجزیه و تحلیل مفیدتر هستند، اما داده های نیمه ساختاریافته را می توان به راحتی به یک فرم ساخت یافته وارد کرد. داده های بدون ساختار اغلب می توانند با استفاده از اتوماسیون هوشمند به داده های ساخت یافته تبدیل شوند.

دریاچه داده در مقابل انبار داده

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

  • منابع داده: منابع معمولی داده برای دریاچه‌های داده شامل فایل‌های گزارش، داده‌های جریان‌های کلیک، پست‌های رسانه‌های اجتماعی و داده‌های دستگاه‌های متصل به اینترنت هستند. انبارهای داده معمولاً داده های استخراج شده از پایگاه های داده تراکنش، برنامه های کاربردی خط کسب و کار و پایگاه های داده عملیاتی را برای تجزیه و تحلیل ذخیره می کنند.
  • استراتژی طرحواره: طرح واره پایگاه داده برای دریاچه های داده معمولاً در زمان تجزیه و تحلیل اعمال می شود که schema-on-read نامیده می شود. طرح پایگاه داده برای انبارهای داده سازمانی معمولاً قبل از ایجاد ذخیره‌گاه داده طراحی می‌شود و در هنگام وارد شدن به داده‌ها اعمال می‌شود. این طرحواره روی نوشتن نامیده می شود.
  • زیرساخت ذخیره سازی: انبارهای داده اغلب دارای مقادیر قابل توجهی رم و دیسک های SSD گران قیمت هستند تا نتایج جستجو را سریع ارائه دهند. دریاچه های داده اغلب از دیسک های چرخان ارزان قیمت روی خوشه های کامپیوترهای کالایی استفاده می کنند. هم انبارهای داده و هم دریاچه های داده از پردازش موازی گسترده (MPP) برای سرعت بخشیدن به پرسش های SQL استفاده می کنند.
  • داده‌های خام در مقابل داده‌های سرپرستی شده: قرار است داده‌ها در یک انبار داده تا جایی تنظیم شوند که انبار داده به عنوان «منبع واحد حقیقت» برای یک سازمان در نظر گرفته شود. داده‌های موجود در دریاچه داده ممکن است تنظیم شوند یا نباشند: دریاچه‌های داده معمولاً با داده‌های خام شروع می‌شوند که بعداً می‌توانند فیلتر و برای تجزیه و تحلیل تبدیل شوند.
  • چه کسی از آن استفاده می کند: کاربران انبار داده معمولاً تحلیلگران تجاری هستند. کاربران دریاچه داده، حداقل در ابتدا، اغلب دانشمندان داده یا مهندسان داده هستند. تحلیلگران کسب و کار پس از تنظیم به داده ها دسترسی پیدا می کنند.
  • نوع تجزیه و تحلیل: تجزیه و تحلیل معمولی برای انبارهای داده شامل هوش تجاری، گزارش دسته ای و تجسم است. برای دریاچه‌های داده، تجزیه و تحلیل معمولی شامل یادگیری ماشین، تجزیه و تحلیل پیش‌بینی‌کننده، کشف داده و پروفایل داده می‌شود.
چگونه InfluxDB برای تجزیه و تحلیل بلادرنگ بهبود یافت

در مورد داده‌های مارت چطور؟

Data marts پایگاه‌های داده تحلیلی هستند که به داده‌های یک بخش یا واحد تجاری محدود می‌شوند، برخلاف انبارهای داده، که همه داده‌های رابطه‌ای یک شرکت را به شکلی مناسب برای تجزیه و تحلیل ترکیب می‌کنند. داده‌های مارت تجزیه و تحلیل کارآمد را تنها با در بر داشتن داده‌های مربوط به بخش ارائه می‌کنند. به این ترتیب، آنها ذاتا سیلو هستند. برخی ادعا می کنند که سیلوسازی اهمیتی ندارد زیرا واحد تجاری به داده های حذف شده نیاز ندارد. در زندگی واقعی، اغلب مهم است—همیشه یک مقام بالاتر وجود دارد که به گزارش هایی بر اساس داده های ترکیبی از چندین واحد تجاری نیاز دارد. این یکی از دلایلی است که در حال حاضر شاهد بسیاری از دریاچه ها و انبارهای داده و تعداد کمی از داده ها هستیم.

پرس و جوهای SQL سریعتر در دریاچه داده

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

ارسال ایمیل Outlook و پیام های Teams با R

خوشبختانه، ابزارهای زیادی برای کمک به فیلتر کردن و سازماندهی داده ها در دریاچه داده شما وجود دارد. به عنوان مثال، می‌توانید با ایجاد متاستور Hive در قالب ORC، نیاز به یک طرحواره را برطرف کنید. پس از راه‌اندازی، متاستور از جستجوهای سریع SQL از طریق یک موتور SQL موازی مانند Presto پشتیبانی می‌کند. (فرمت ستونی بهینه ردیف یک فروشگاه ستونی فشرده است که برای Hive بهینه شده است و با Presto به خوبی کار می کند.)

Apache Spark موتور SQL موازی دیگری است. در حالی که می‌تواند با فرمت ORC کار کند، با پارکت، یکی دیگر از فروشگاه‌های ستونی فشرده، حتی بهتر کار می‌کند. Spark می‌تواند هم پارتیشن بندی عمودی و هم افقی را روی فایل‌های Parquet انجام دهد، یک طرح جستجو تولید می‌کند که فقط به خواندن داده‌های ضروری نیاز دارد و می‌تواند داده‌های نامربوط را رد کند.

خانه دریاچه داده

Databricks، شرکتی که پشت Spark و MLflow قرار دارد، چیزی را ارائه می دهد که آنها می نامند. data lakehouse. به گفته Databricks، Lakehouse بهترین ویژگی های انبارهای داده و دریاچه های داده را ترکیب می کند:

دریاچه دلتا، که Databricks آن را به منبع باز منتشر کرد، با ارائه قابلیت اطمینان و عملکرد بالا به طور مستقیم بر روی داده‌های موجود در دریاچه داده، شالوده Lakehouse را تشکیل می‌دهد. پلتفرم Databricks Lakehouse همچنین شامل کاتالوگ Unity است که مدیریت دقیقی را برای داده ها و هوش مصنوعی ارائه می دهد. Databricks ادعا می کند که داده lakehouse آن ۱۲ برابر نسبت قیمت / عملکرد یک انبار داده ارائه می دهد.

دریاچه‌های داده‌ها در پریم و در ابرهای عمومی

از لحاظ تاریخی، دریاچه‌های داده در محل با استفاده از خوشه‌های Apache Hadoop از رایانه‌های کالایی و HDFS (سیستم فایل توزیع شده Hadoop) پیاده‌سازی می‌شدند. خوشه‌های Hadoop زمانی تجارت بزرگ برای Cloudera، Hortonworks و غیره بودند. Cloudera و Hortonworks در سال ۲۰۱۸ با هم ادغام شدند، که چیزی در مورد جهت بازار به شما می گوید.

چیزی که تغییر کرد ابر بود، به‌ویژه فروشندگان ابر مقیاس عمومی خدمات وب آمازون (AWS)، Microsoft Azure و Google Cloud Platform (GCP). هر سه ارائه‌دهنده ابر محصولات ذخیره‌سازی دریاچه داده را ارائه می‌کنند: سرویس ذخیره‌سازی ساده آمازون (Amazon S3) و آمازون EMR (که قبلاً Amazon Elastic MapReduce)، فروشگاه Azure Data Lake (ADLS) و Google Cloud Storage (GCS). هر سه همچنین خدماتی را برای جذب داده، پردازش داده، تجزیه و تحلیل و یادگیری ماشین ارائه می دهند. ایجاد، مدیریت و مقیاس‌بندی دریاچه‌های داده ابری بسیار آسان‌تر و سریع‌تر از مدیریت خوشه‌های Hadoop در مرکز داده‌تان است. نتیجه این است که هزینه های عملیاتی بلندمدت در فضای ابری در نهایت قابل توجه خواهد بود.

نحوه استفاده از پاندا برای تجزیه و تحلیل داده ها در پایتون

تجزیه و تحلیل و یادگیری ماشین برای دریاچه های داده

پیش از این، در مورد استفاده از Presto و Apache Spark برای جستجوهای SQL سریعتر در دریاچه داده بحث کردم. SQL تنها یکی از راه‌های تجزیه و تحلیل داده‌ها است، اگرچه بسیار مهم است و اغلب اولین قدم است. علاوه بر این، ابزارهای هوش تجاری مانند Power BI، Tableau یا Qlik را در نظر بگیرید. نوت بوک های Jupyter، Zeppelin یا Spark. یادگیری ماشینی، مانند scikit-learn، SparkML یا KNIME. و یادگیری عمیق، مانند TensorFlow یا PyTorch.

فروشندگان ابر مقیاس ابر، ابزارهای تحلیلی و یادگیری ماشینی مخصوص به خود دارند که به دریاچه‌های داده آنها متصل می‌شوند.

Amazon Athena از Presto و Hive برای انجام پرس و جوهای SQL روی داده ها در Amazon S3 استفاده می کند. آمازون EMR یک پلت فرم کلان داده ابری برای اجرای کارهای پردازش داده های توزیع شده در مقیاس بزرگ، پرس و جوهای تعاملی SQL و برنامه های یادگیری ماشین با استفاده از چارچوب های تجزیه و تحلیل منبع باز مانند Apache Spark، Apache Hive و Presto است. Amazon SageMaker یک سرویس کاملاً مدیریت شده برای ساخت، آموزش و استقرار مدل‌های یادگیری ماشین است.

Azure Data Lake Analytics (ADLA) یک سرویس شغلی تجزیه و تحلیل درخواستی (بدون سرور) قدیمی است که داده های بزرگ را ساده می کند و از U-SQL استفاده می کند که SQL به علاوه C# است. ADLA با Azure Synapse Analytics جایگزین شده است، که یک سرویس تجزیه و تحلیل بی حد و حصر است که یکپارچه سازی داده ها، انبار داده های سازمانی، و تجزیه و تحلیل داده های بزرگ را گرد هم می آورد. این آزادی را به شما می‌دهد تا با استفاده از گزینه‌های بدون سرور یا اختصاصی – در مقیاس، داده‌ها را بر اساس شرایط خود جستجو کنید. Synapse ترکیبی از داده‌ها، انبار داده سازمانی، و عملکرد جستجوی داده عملیاتی در محل است و می‌تواند به طور خودکار داده‌ها و کدها را از ADLA و همچنین انبارهای داده منتقل کند. Synapse با یادگیری ماشینی Azure، خدمات شناختی Azure و Power BI ادغام عمیقی دارد.

Google Cloud Storage یکپارچه‌سازی بومی با تعدادی از سرویس‌های قدرتمند Google Cloud، مانند BigQuery (یک انبار داده)، Dataproc (اکوسیستم Hadoop)، جریان داده (تجزیه و تحلیل جریان بدون سرور)، API هوش ویدیو، API Cloud Vision و هوش مصنوعی فراهم می‌کند. پلت فرم.

در مجموع، شما انعطاف قابل توجهی برای انتخاب ابزار مناسب برای تجزیه و تحلیل داده های خود دارید.

نتیجه گیری

دریاچه‌های داده از زمان خوشه‌های Hadoop و MapReduce بسیار مفیدتر شده‌اند. Presto و Apache Spark پردازنده‌های SQL بسیار سریع‌تری نسبت به MapReduce ارائه می‌کنند، به لطف پردازش‌های درون حافظه و موازی و طرحواره‌های مبتنی بر Hive. ایجاد، مدیریت و مقیاس‌پذیری دریاچه‌های داده مبتنی بر ابر بسیار آسان‌تر و سریع‌تر از خوشه‌های اولیه رایانه‌های کالایی است. و دریاچه های داده ابری به شدت با طیف گسترده ای از ابزارهای تحلیلی و هوش مصنوعی ادغام می شوند.