پایگاه­داده های گراف
در حالت کلی در پایگاه‌‌های‌دادهNoSQLداده‌ها در قالبKEY/VALUE (کلید/مقدار) نگه‌داری می‌شوند، به این صورت که مقادیر توسط کلید یکتایی نگاشت شده و ذخیره می‌شوند، هر مقدار صرفا توسط همان کلید نگاشت شده قابل بازگردانی می‌باشد و راهی جهت دریافت مقدار بدون دانستن کلید وجود ندارد. در این ساختار‌داده منظور از مقادیر، داده‌های اصلی برنامه‌ هستند که نیاز به نگه‌داری دارند و کلید‌ها نیز رشته‌هایی هستند که توسط برنامه‌نویس ایجاد می‌شوند.
بدیهی است که اعمال داده‌ای (درج، حذف، جستجو)در این سیستم به دلیل اینکه داده‌ها به صورت کلید/مقدار ذخیره می‌شوند دارای پیچیدگی زمانی o(1) می‌باشد که بهینه‌ترین حالت ممکن به لحاظ طراحی می‌باشد. در الگوریتم‌هایی که دارای پیچیدگی زمانی با مقدار ثابت هستند کم یا زیاد بودن داده‌ها تاثیری در کارایی الگوریتم نداشته و همواره با هر حجم داده‌ای زمان ثابتی جهت پردازش نیاز می‌باشد.

۲-۲-۲-۱-مدل داده­ای کلید/ارزش

این سیستم ساده‌ترین حالت از دسته‌بندی‌هایNoSQL می‌باشد. این پایگاه­داده بسیار شبیه به پایگاه­داده سند گرا است، با این تفاوت که در این مدل­داده ­ها تنها به صورت ارزشی کلید مقدار ذخیره می شوند، یعنی درون یک کلید مقدارهایی ذخیره می­شوند و تمام اعمال روی پایگاه­داده با توجه به همان کلید انجام می شود. یعنی توانایی جستجوی مقادیر درون کلیدها را نداریم.
به این صورت جفت ها به صورت کلید/مقدار ذخیره می­شوند:
Color red
Age 18
Size large
Name smite
Title the brown dog title
مقدار سمت چپ کلید است و مقدار سمت راست ارزش. اما هنگامی که بخواهیم مقادیر زیادی را در یک پایگاه­داده بزرگ ذخیره کنیم باید کلید ها را به شکلی ذخیره کنیم که در هنگام بازیابی بتوانیم مقدار مورد نظر خودمان را برگردانیم. مثلا به صورت زیر:
User1923_color red
User1923_age 18
User3371_color blue
User4344_color brackish
User1923_height 6’.”
User3371_age 34
در داده ­های بالا مشاهده می­کنیم که با بهره گرفتن از کد کاربران کلید­ها را تبدیل می­کنیم به کلید­های خاص که هنگام بازیابی بتوانیم از آن­ها استفاده کنیم.
مزیتی که این مدل­داده نسبت به مدل­های رابطه­ای دارد این است که اگر فضای سرور پر شد و جایی برای ذخیره سازی نداشت می ­تواند داده ها را به سمت سرور دیگری هدایت کند. اما در پایگاه­داده های رابطه­ای باید امکانات یک سرور را افزایش می­دادیم.

(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))

کارایی این نوع مدل­داده برای قسمت casheکامپیوترها است. یعنی داده هایی را که زیاد از آن­ها استفاده می­کنیم به­ صورت ذخیره سازی کلید/ارزش درون یک قسمتcashe کامپیوتر ذخیره می­کنیم تا در مواقع ضروری به آنها مراجعه کنیم.

۲-۲-۲-۲-مدل داده­ای سند­گرا

این نوع ذخیره داده بسیار شبیه به مدل کلید/ارزش می­باشد. در این نوع پایگاه­داده، داده ­ها در قالب یک سند ذخیره می­شوند. داده­هایی که در این نوع پایگاه­داده ­ها ذخیره می­شوند نیمه ساخت یافته­اند. به عنوان مثال دو سند ممکن است مجموعه ­ای متفاوت از محتویات را داشته باشند. این یعنی اسناد طرح از پیش تعیین شده­ای ندارند.در زیر چند مثال مشاهده می­کنیم:
و
و
در سند اول اطلاعات کارمند را بدون جزئیات مشاهده می­کنیم، در سند دوم اطلاعات را با جزئیات بیشتری و در سند سوم اطلاعاتی در مورد مکان مشاهده می­کنیم.در هنگام ذخیره این داده ها باید یک شناسه با عناوین:
“docId”: “SM1”,
و”docId”: “MM2”,
و”docId”: “Bangalore-SDC-BTP-CVRN”
به ابتدای اسناد اضافه کنیم.
یکی از بزرگ­ترین مزیت­های این سیستم ذخیره سازی این است که در این سیستم اصولا نیازی به تعریف ساختار از قبل موجود نمی‌باشدزیرا شمای اطلاعات در طول زمان تکامل پیدا می­ کند و به محض اعلان دستور قرار دادن داده‌ها در پایگاه‌داده ساختار متناسب ایجاد می‌شود.
مدل­داده ­های سندگرا نمی ­توانند روابط را پشتیبانی کنند بلکه تنها می­توانند با ذخیره­ی شناسه­ی یک سند دیگر به آن سند اشاره کنند و نمی ­توانند برای روابط بین سندها چیزی را تعریف کنند.
علاوه بر مزیت­های ذخیره کلید/ارزش داده ها این نوع مدل­داده می ­تواند بر اساس محتویات سند­ها نیز جستجو کند،یعنی برخلاف مدل کلید/ارزش که تنها بر اساس کلید می­توانست جستجو انجام دهد در این مدل­داده نیز مورد پرس و جو قرار می­گیرند.

۲-۲-۲-۳-مدل داده­­ای ستونی

در پایگاه­داده ­های سنتی داده شکل جداولی که شامل ردیف و ستون بود ذخیره می­شدند. اما ذخیره و بازیابی و پردازش به صورت ردیفی انجام می­شد. اما در پایگاه­داده ­های ستونی این اعمال به صورت ستونی انجام می­ شود. به عنوان مثال پایگاه­داده زیر را در نظر بگیرید]۱۲[:
در این پایگاه­داده اگر داده ­ها به شکل سنتی ذخیره شوند به شکل زیر است:
و اگر به شکل ستونی ذخیره شوند به این شکل است:
با توجه به دو شکل ذخیره سازی که در بالا نشان داده شده است متوجه می­شویم به علت اینکه فرمت داده­هایی که در یک ستون­اند شبیه هم هستند از نظر فضای ذخیره­سازی شرایط بهتری داریم همچنین اعمالی مانند جمع، میانگین، تعداد، تعیین بزرگترین و کوچکترین را به­راحتی و در زمان کم­تری انجام داد.در این نوع ذخیره داده به­راحتی می­توان ستون­های داده را افزایش داد.

۲-۲-۲-۴-پایگاه­داده ­های گراف

پایگاه­داده ­های گراف دارای زیر ساخت ساده­ای هستند که از دو نوع شی تشکیل شده است:گره­ها و یال ها.یک گره عموما برای نمایش یک موجودیت مانند یک شخص در یک شبکه اجتماعی یک محل در یک شبکه حمل و نقل،یا یک صفحه وب در اینترنت استفاده می­ شود روابط بین این موجودیت­ها با یال­ها نمایش داده می­ شود که می ­تواند برای ارتباطات بین گره­ها در نظر گرفته شود.به عنوان مثال اگر دو موجودیت بنام­های آلیس و باب با یکدیگر همکار هستند می­توانیم دو گره بسازیم که نمایان­گر ارتباط بین این دو موجودیت باشد و به وسیله یال بین آن­ها نشان دهیم که این دو موجودیت با یکدیگر همکار هستند]۱۴[.
در مورد یک مدل حمل و نقل ما می­توانیم ۲ مکان را با گره ها نشان دهیم و ارتباط بین آن­ها را با بهره گرفتن از یال نمایش دهیم.
خصوصیات کلی مدل­داده گراف به شرح زیر است]۹[:
گراف از گره­ها و روابط و خواص تشکیل شده است.
گره­ها شامل ویژگی­ها هستند. گره­ها به عنوان داکیومنت­هایی هستند که خصوصیات را به صورت جفت کلید/ارزش ذخیره کرده ­اند.
روابط گره­ها را متصل می­ کنند.یک رابطه همیشه یک مسیر،یک برچسبو یک گره آغاز و یک گره پایان دارد (هیچ رابطه­ای آویزان نیست).
مانند گره­ها روابط نیز دارای خصوصیات هستند و توانایی افزودن خصوصیات به روابط به ویژه برای تامین ابر داده ­های اضافی برای گراف مفید است.
در ادامه کاربرد گره­ها و روابط را به طور خلاصه بیان می­نماییم تا متوجه شویم چه زمانی از گره­ها استفاده نماییم و چه زمانی از یال­ها. بطور کلی از گره­ها برای موجودیت­ها و از روابط برای ساختار استفاده می­نماییم. که تشریح آن به شرح ذیل می­باشد:
از گره­ها برای نمایش موجودیت­هایی که در حوزه موارد مورد علاقه ما هستند استفاده می­کنیم.
از روابط برای بیان ارتباطات بین اشخاص و ایجاد زمینه معنایی برای هر نهاد،در نتیجه ساختار دامنه استفاده می­ شود.
از جهت ارتباط برای روشن شدن بیشتر معنای روابط استفاده می­کنیم.بسیاری از روابط غیر­متقارن می باشند.به همین دلیل است که روابط در یک گراف مالکیت همیشه مسیر دارد.

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...