مدلسازی داده چیست؟
مدلسازی داده فرآیندی است که طی آن یک نمایش بصری یا یک نقشه ترسیم میشود که سیستمهای جمعآوری و مدیریت اطلاعات هر سازمانی را تعریف میکند. این نقشه یا مدل داده به ذینفعان مختلف مانند تحلیلگران داده، دانشمندان و مهندسان این امکان را میدهد تا نمای یکپارچهای از دادههای سازمان ایجاد کنند. این مدل، دادههایی که کسبوکار جمعآوری میکند، رابطه بین مجموعه دادههای مختلف و روشهایی را که برای ذخیره و تجزیه و تحلیل دادهها استفاده میشود، مشخص میکند.
چرا مدلسازی داده مهم است؟
سازمانها امروزه حجم زیادی از دادهها را از منابع مختلف جمعآوری میکنند. با این حال، دادههای خام کافی نیستند. شما نیاز به تجزیه و تحلیل دادهها برای بینشهای عملیاتی دارید که میتواند شما را در اتخاذ تصمیمات تجاری سودآور راهنمایی کند. تجزیه و تحلیل دقیق دادهها نیازمند جمعآوری، ذخیرهسازی و پردازش کارآمد دادهها است. چندین فناوری پایگاه داده و ابزار پردازش داده وجود دارد و مجموعه دادههای مختلف برای تجزیه و تحلیل کارآمد نیاز به ابزارهای متفاوتی دارند.مدلسازی داده به شما این امکان را میدهد تا دادههای خود را درک کنید و انتخابهای فناوری مناسبی را برای ذخیره و مدیریت این دادهها انجام دهید. به همان شیوهای که یک معمار قبل از ساختن خانه یک نقشه طراحی میکند، ذینفعان کسبوکار قبل از مهندسی راهحلهای پایگاه داده برای سازمان خود، یک مدل داده طراحی میکنند.
مدلسازی داده مزایای زیر را به همراه دارد:
- کاهش خطا در توسعه نرمافزار پایگاه داده
- تسهیل سرعت و کارایی طراحی و ایجاد پایگاه داده
- ایجاد انسجام در مستندسازی دادهها و طراحی سیستم در سراسر سازمان
- تسهیل ارتباط بین مهندسان داده و تیمهای هوش تجاری
انواع مدلهای داده چیست؟
مدلسازی داده معمولاً با نمایش مفهومی دادهها و سپس نمایش مجدد آن در زمینه فناوریهای انتخابشده آغاز میشود. تحلیلگران و ذینفعان در مرحله طراحی داده انواع مختلفی از مدلهای داده را ایجاد میکنند. در ادامه به سه نوع اصلی مدل داده اشاره شده است:
- مدل داده مفهومی (Conceptual data model):
مدلهای داده مفهومی نمای کلی از دادهها را ارائه میدهند. آنها موارد زیر را توضیح میدهند:
- چه دادههایی در سیستم وجود دارد
- ویژگیهای داده و شرایط یا محدودیتهای داده
- دادهها به چه قوانین تجاری مرتبط هستند
- بهترین سازماندهی دادهها چگونه است
- الزامات امنیت و یکپارچگی داده
ذینفعان کسبوکار و تحلیلگران معمولاً مدل مفهومی را ایجاد میکنند. این یک نمایش ساده نموداری است که قوانین رسم مدلسازی داده را دنبال نمیکند. مهم این است که به ذینفعان فنی و غیرفنی کمک کند تا یک چشمانداز مشترک داشته باشند و در مورد هدف، دامنه و طراحی پروژه داده خود به توافق برسند.
- مدل داده منطقی (Logical data model):
مدلهای داده منطقی کلاسهای داده مفهومی را به ساختارهای داده فنی نگاشت میکنند. آنها جزئیات بیشتری در مورد مفاهیم داده و روابط پیچیده داده شناسایی شده در مدل داده مفهومی ارائه میدهند، مانند:
- انواع دادههای ویژگیهای مختلف (به عنوان مثال، رشته یا عدد)
- روابط بین موجودیتهای داده
- ویژگیهای اصلی یا فیلدهای کلیدی در دادهها
معماران و تحلیلگران داده با هم برای ایجاد مدل منطقی کار میکنند. آنها برای ایجاد این نمایش، یکی از چندین سیستم رسمی مدلسازی داده را دنبال میکنند. گاهی اوقات تیمهای چابک ممکن است این مرحله را رد کرده و مستقیماً از مدلهای مفهومی به مدلهای فیزیکی حرکت کنند. با این حال، این مدلها برای طراحی پایگاههای داده بزرگ به نام انبار داده و برای طراحی سیستمهای گزارشدهی خودکار مفید هستند.
- مدل داده فیزیکی (Physical data model):
مدلهای داده فیزیکی، مدلهای داده منطقی را به یک فناوری مدیریت پایگاه داده خاص نگاشت میکنند و از اصطلاحات نرمافزار استفاده میکنند. به عنوان مثال، آنها جزئیات زیر را ارائه می دهند:
- انواع فیلدهای دادهای که در DBMS نمایش داده میشوند
- روابط دادهای که در DBMS نمایش داده میشوند
- جزئیات اضافی، مانند تنظیم عملکرد
مهندسان داده قبل از اجرای نهایی طراحی، مدل فیزیکی را ایجاد میکنند
. آنها همچنین از تکنیکهای رسمی مدلسازی داده استفاده میکنند تا مطمئن شوند که تمام جنبههای طراحی را پوشش دادهاند.
انواع تکنیکهای مدلسازی داده چیست؟
تکنیکهای مدلسازی داده روشهای مختلفی هستند که میتوانید برای ایجاد مدلهای داده مختلف از آنها استفاده کنید. این رویکردها با گذشت زمان در نتیجه نوآوریها در مفاهیم پایگاه داده و حاکمیت داده تکامل یافتهاند. در زیر انواع اصلی مدلسازی داده آورده شده است:
-
مدلسازی داده سلسله مراتبی (Hierarchical data modeling): در مدلسازی داده سلسله مراتبی، میتوانید روابط بین عناصر مختلف داده را در قالب درختی نشان دهید. مدلهای داده سلسله مراتبی روابط یک به چند را نشان میدهند، به طوری که کلاسهای داده والد یا ریشه به چندین فرزند نگاشت میشوند.
-
مدلسازی داده گراف (Graph data modeling): مدلسازی داده سلسله مراتبی با گذشت زمان به مدلسازی داده گراف تکامل یافته است. مدلهای داده گراف روابط دادهای را نشان میدهند که با موجودیتها به طور مساوی رفتار میکنند. موجودیتها میتوانند در روابط یک به چند یا چند به چند بدون هیچ مفهومی از والد یا فرزند به یکدیگر پیوند داشته باشند.
-
مدلسازی داده رابطهای (Relational data modeling): مدلسازی داده رابطهای یک رویکرد مدلسازی محبوب است که کلاسهای داده را به صورت جداول تجسم میکند. جداول داده مختلف با استفاده از کلیدهایی که رابطه موجودیت در دنیای واقعی را نشان میدهند، به هم میپیوندند یا مرتبط میشوند. میتوانید از فناوری پایگاه داده رابطهای برای ذخیره دادههای ساختاریافته استفاده کنید و یک مدل داده رابطهای روشی مفید برای نمایش ساختار پایگاه داده رابطهای شما است.
-
مدلسازی داده موجودیت-رابطه (Entity-relationship data modeling): مدلسازی داده موجودیت-رابطه (ER) از نمودارهای رسمی برای نمایش روابط بین موجودیتها در یک پایگاه داده استفاده میکند. معماران داده از چندین ابزار مدلسازی ER برای نمایش دادهها استفاده میکنند.
-
مدلسازی داده شیءگرا (Object-oriented data modeling): برنامهنویسی شیءگرا از ساختارهای دادهای به نام شیء برای ذخیره دادهها استفاده میکند. این اشیاء داده انتزاعهای نرمافزاری از موجودیتهای دنیای واقعی هستند. به عنوان مثال، در یک مدل داده شیءگرا، نمایندگی فروش خودرو اشیاء دادهای مانند مشتریان با ویژگیهایی مانند نام، آدرس و شماره تلفن خواهد داشت. شما دادههای مشتری را به گونهای ذخیره میکنید که هر مشتری در دنیای واقعی به عنوان یک شیء داده مشتری نمایش داده شود.
-
مدلسازی داده ابعادی (Dimensional data modeling): محاسبات سازمانی مدرن از فناوری انبار داده برای ذخیره مقادیر زیادی از دادهها برای تجزیه و تحلیل استفاده میکند. میتوانید از پروژههای مدلسازی داده ابعادی برای ذخیره و بازیابی داده با سرعت بالا از یک انبار داده استفاده کنید. مدلهای ابعادی از دادههای تکراری یا اضافی استفاده میکنند و عملکرد را نسبت به استفاده از فضای کمتر برای ذخیرهسازی داده در اولویت قرار میدهند.
فرآیند مدلسازی داده چیست؟
فرآیند مدلسازی داده از یک توالی از مراحلی پیروی میکند که باید به طور مکرر انجام دهید تا یک مدل داده جامع ایجاد کنید. در هر سازمانی، ذینفعان مختلف گرد هم میآیند تا یک نمای کامل از داده ایجاد کنند. اگرچه مراحل بر اساس نوع مدلسازی داده متفاوت است، در زیر یک نمای کلی ارائه شده است.
-
مرحله ۱: شناسایی موجودیتها و ویژگیهای آنها: تمام موجودیتها را در مدل داده خود شناسایی کنید. هر موجودیت باید از نظر منطقی از سایر موجودیتها متمایز باشد و میتواند نشان دهنده افراد، مکانها، چیزها، مفاهیم یا رویدادها باشد. هر موجودیت متمایز است زیرا دارای یک یا چند ویژگی منحصر به فرد است. میتوانید موجودیتها را به عنوان اسم و ویژگیها را به عنوان صفت در مدل داده خود در نظر بگیرید.
-
مرحله ۲: شناسایی روابط بین موجودیتها: روابط بین موجودیتهای مختلف در قلب مدلسازی داده قرار دارد. قوانین تجاری در ابتدا این روابط را در سطح مفهومی تعریف میکنند. میتوانید روابط را به عنوان افعال در مدل داده خود در نظر بگیرید. برای مثال، فروشنده خودروهای زیادی میفروشد یا نمایشگاه فروش خودرو، فروشندگان زیادی را استخدام میکند.
-
مرحله ۳: شناسایی تکنیک مدلسازی داده: پس از درک مفهومی موجودیتها و روابط آنها، میتوانید تکنیک مدلسازی داده را که به بهترین وجه با مورد استفاده شما مطابقت دارد، تعیین کنید. به عنوان مثال، ممکن است از مدلسازی داده رابطهای برای دادههای ساختاریافته و از مدلسازی داده ابعادی برای دادههای بدون ساختار استفاده کنید.
-
مرحله ۴: بهینهسازی و تکرار: میتوانید مدل داده خود را بیشتر برای مطابقت با الزامات فناوری و عملکرد خود بهینه کنید. به عنوان مثال، اگر قصد دارید از Amazon Aurora و یک زبان پرسش ساختاریافته (SQL) استفاده کنید، موجودیتهای خود را مستقیماً در جداول قرار میدهید و روابط را با استفاده از کلیدهای خارجی مشخص میکنید. در مقابل، اگر تصمیم به استفاده از Amazon DynamoDB دارید، باید قبل از مدلسازی جدول خود به الگوهای دسترسی فکر کنید. از آنجایی که DynamoDB سرعت را در اولویت قرار میدهد، ابتدا نحوه دسترسی به دادههای خود را تعیین میکنید و سپس دادههای خود را به شکلی که به آن دسترسی پیدا میکنید، مدل میکنید.