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

گردآوری و تالیف : ارسطو عباسی
تاریخ انتشار : 19 آبان 1397
دسته بندی ها : نود جی اس

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

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

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

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

  • 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» دسترسی پیدا کنم، برخی از داده‌ها را در حالت تعاملی ویرایش کنم و چند کوئری ساده و پیچیده را نیز اجرا نمایم.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

در پایان

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

منبع

مقالات پیشنهادی

با استفاده از Billboardjs.js، نمودارهای داده‌ای بر پایه JavaScript بسازید

گرافیک و ویژگی‌های بصری، نقش حیاتی‌ای در پیشرفت محتویات وب بازی می‌کنند. با فناوری وب مدرن، اضافه کردن ویژگی‌های بصری سفارشی مانند آیکون‌های SVG در صف...

۱۳ ابزار رایگان بصری‌سازی داده

داده‌ها الزاما موارد خسته‌کننده‌ای نیستند. اضافه کردن اندکی بصری‌سازی می‌تواند درک و نمایش آن را بسیار لذت‌بخش کند. به این جهت که بخواهید داده‌های‌تان...

آشنایی با ساختمان داده ها (Data Structure)

داده ها میتوانند بصورتهای متفاوتی سازماندهی شوند. مدل منطقی یا ریاضی سازماندهی داده ها به یک صورت خاص، یک ساختمان داده نامیده میشود. انتخاب یک مدل خاص...

ابزارهایی برای دسته بندی،‌ قالب بندی و مرتب سازی کدهای CSS

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