ابزارهایی برای بصری‌سازی داده در MongoDB

ترجمه و تالیف : ارسطو عباسی
تاریخ انتشار : 13 خرداد 98
خواندن در 3 دقیقه
دسته بندی ها : نود جی اس

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

امروز در این مطلب قصد دارم به شما در ارتباط با تجربیات خودم برای پیدا کردن چنین ابزارهایی بگویم.

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

دو موردی که در پایین مشاهده می‌کنید، آیتم‌هایی هستند که من آن‌ها را برای انجام چنین کاری انتخاب کردم:

  • Compass یک اپلیکیشن با رابط گرافیکی است که قابلیت بصری‌سازی و آنالیز عمیق داده‌ها و مجموعه‌ها را در MongoDB فراهم می‌کند. با استفاده از این ابزار می‌توانید Viewهای بلادرنگی از داده‌های‌تان داشته باشید. داشتن رابط کاربری گرافیکی و تا حدی ساده به من این امکان را می‌داد تا بتوانم بیشتر روی داده‌های خودم تمرکز بکنم.
  • Flexmonster Pivot Table یک ابزار مناسب برای گزارشگیری و آنالیز حرفه‌ای در وب است. در حالیکه می‌توان Compass را یک اپلیکیشن مستقل دانست، اما Flexmonster ابزاری است که می‌تواند به صورت مستقیم با پروژه شما ادغام شود. من از این ابزار برای ادغام کردن با پروژه آنگولار خودم استفاده کردم.

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

دومین کاری که باید انجام دهید تخصیص دادن یک مجموعه داده به بانک اطلاعاتی‌تان است. البته می‌توانید از یک نمونه آماده استفاده بکنید. در این مثال من از این مجموعه داده‌ای استفاده می‌کنم.

این Dataset حاوی یک ساختار جی‌سان است که از قالب لازم برای مونگودی‌بی متفاوت است. برای اینکه بتوانیم چنین چیزی را import بکنیم من دستور زیر را در CLI وارد کردم:

mongoimport - db <db-name> - collection athletes - type json - file athletes.json

 - jsonArray

کار با داده‌ها در Compass

در ابتدای کار قصد دارم در ارتباط با یکسری از ویژگی‌های مدیریتی بانک اطلاعاتی صحبت بکنم. 

Compass قابلیت ایجاد هیستوگرام‌هایی را برای نمایش فرکانس داده‌ها دارد. این به ما در تحلیل داده‌ها، نرخ توزیع‌ مقدایر‌شان و… بسیار کمک می‌کند.

ابتدای کار من قصد دارم با استفاده از اپلیکیشن Compass به یک نمونه از بانک اطلاعاتی مونگودی‌بی متصل شوم. 

بعد از آن در صفحه اصلی سعی کردم که به مجموعه «athletes» دسترسی پیدا کنم، برخی از داده‌ها را در حالت تعاملی ویرایش کنم و چند کوئری ساده و پیچیده را نیز اجرا نمایم.

ابزار بصری‌سازی یک شما به ما در درک بهتر یکسری از داده‌ها بسیار کمک می‌کند.

ابزارهایی برای بصری‌سازی داده در MongoDB

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

در این تحلیل متوجه شدم که برای برخی از فیلدها، نوع‌های داده‌ای متفاوتی را در اختیار دارم. برای مثال من با یک نوع داده‌ای عددی Height مواجه هستم که مقدار ۸۰ درصد سند را شامل می‌شود اما همزمان یک نوع رشته‌ای نیز برای ۲۰ درصد بقیه استفاده شده است.

ابزارهایی برای بصری‌سازی داده در MongoDB

این موضوع یک فضای خالی بی استفاده را برای dataset من بوجود می‌آورد. مقدار ارتفاع در این بانک اطلاعاتی کاملا متغیر است.

تجمیع با استفاده از Compass

به نظر شما چه چیزی باعث شده که مونگودی‌بی و Compass تا به این حد میان دیتا ساینتیست‌ها محبوب شود؟

مونگودی‌بی برای آنالیزهای بلادرنگ بسیار مناسب است، دلیل این موضوع این است که از  خط لوله‌های تجمیعی یا aggregation pipelines استفاده می‌کند. این قابلیت می‌تواند شامل مرتب‌سازی، فیلترینگ و گروه‌بندی داده‌ها باشد.

این در حالی‌ست که Compass نیز از چنین موضوعی به خوبی پشتیبانی می‌کند.

برای اینکه بتوانیم بهتر این قضیه را متوجه شویم من تصمیم گرفته‌ام که سند خودم را براساس فیلد Age فیلتر کنم.

برای نمایش افرادی که سن‌شان کمتر از ۲۲ سال است، روی هیستوگرام قسمت‌های ضروری که منجر به ساخت یک کوئری مناسب می‌شود را انتخاب می‌کنم. در نهایت من سندی را دریافت می‌کنم که براساس کنترل‌های انجام شده، داده‌های مربوط را برمی‌گرداند.

ابزارهایی برای بصری‌سازی داده در MongoDB

در حالت‌های دیگری نیز من مقدار مورد نظرم را در یک محدوده فیلتر کردم و بعد از آن داده‌ها را به حالت Ascending مرتب‌سازی نمودم.

ابزارهایی برای بصری‌سازی داده در MongoDB

برای انجام این کارها بهتر است که زبان کوئری گیری از بانک اطلاعاتی مونگودی‌بی را به خوبی بلد باشید.

آنالیز داده با استفاده از Flexmonster Pivot Table

من در پروژه خودم از انگولار استفاده کردم. بنابراین نیاز داشتم که با استفاده از آن یک انگولار جداول‌م را نمایش دهم. برای دریافت داده‌ها از یک بانک اطلاعاتی من از این آموزش استفاده کردم.

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

برای شروع آنالیز با استفاده از این ابزار من فیلدهایی را برای ستون‌ها و ردیف‌ها انتخاب کردم. برای کار کردن با فیلد Medal من این فیلد را برای بدست آوردن نتایج زیر انتخاب کردم:

۱- نمایش ۵ تیم برتر براساس تعداد مدال‌های بدست آورده.

۲- نمایش تیم‌هایی که ۱۵۰ مدال بیشتر را در اختیار داشتند.

ابزارهایی برای بصری‌سازی داده در MongoDB

۳- بعد از آن من فیلد Age را انتخاب کردم و حداکثر محدوده سنی را بدست آوردم:

ابزارهایی برای بصری‌سازی داده در MongoDB

۴. بعد از اینکار برای آنکه داده‌هایی بصری‌تر داشته باشم، شیوه نمایش آن‌ها را به صورت زیر تغییر دادم:

ابزارهایی برای بصری‌سازی داده در MongoDB

در پایان

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

منبع

گردآوری و تالیف ارسطو عباسی
آفلاین
user-avatar

من ارسطو‌ام :) کافی نیست؟! :)

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید