دسته بندی
-
NoSQL چیست؟
-
در این مطلب به توضیحی در مورد پایگاههای داده NoSQL میپردازیم و با آنها آشنا میشویم. شاید به زودی شاخ این غول مصاحبههای استخدامی برنامه نویسی را با موفقیت بشکنیم!
-
00
-
بازدید این صفحه : ۹۸تاريخ : 31 خرداد 1402
آشنایی با ساختار پایگاه داده SQL
اگر تجربه استفاده از SQL را داشته باشید میدانید که در استفاده از آن همیشه باید تابع قوانین باشید. یعنی باید مجموعه ای از اطلاعات یکسان با مشخصات یکسان را در جداول (Table) مربوط به خود جاگذاری نمایید. در واقع باید بگوییم که در SQL باید برای این سوال ها، به ازای هر داده پاسخ مشخصی داشته باشید:
- چه موجودیت (Entity) هایی دارید؟ اطلاعات قرار است در قالب چه دسته هایی ذخیره سازی شود؟ مثل دستههای کاربر، خبر، کامنت و… همگی نمونه هایی از موجودیت هستند. معمولا هر موجودیت در قالب یک جدول در نظر گرفته میشود.
- هر جدول شما چه خاصیت هایی دارد؟ چه اطلاعات مشخصی را قصد دارید در آن ذخیره کنید؟ به یاد داشته باشید که این خواص باید ثابت باشند! چرا که هر کدام از این خواص به معنی یک ستون (Column) از جدول شما هستند. مثلا جدول کاربر میتواند شامل ستونهای نام، نام خانوادگی، سن، پست الکترونیک و… باشد و قرار نیست این تعداد ستونها برای هر کاربر متفاوت باشد.
- هر داده شما چه اطلاعاتی دارد؟ هر داده جدید در قالب یک سطر (Row) جدید در جدول مورد نظرتان ذخیره میشود. به طور مثال به ازای هر کاربر جدید یک سطر با ستونهای نام، نام خانوادگی، سن و… در جدول کاربران تشکیل میشود.
- هر جدول شما چه ارتباطی (Relation) با جدول یا جداول دیگر دارد؟ مثلا هر کاربر میتواند عضوی از یک یا چند کلاس درس و هر کلاس درس میتواند شامل مجموعه ای از کاربران باشد.
تمام این مشخصات پایگاه داده شما در SQL با ساختاری به نام Schema (بخوانید اسکیما) ذخیره میشود. Schema یک ساختار ثابت است و مانند اسکلت یک ساختمان عمل میکند. همه چیز روی آن سوار و بر پایه آن تکمیل میشود. شاید تا الان فهمیده باشید که مشکل اصلی این نوع از پایگاه داده در ذخیره سازی دادههای بی ساختار کجاست! در ذخیره سازی این گونه داده ها، خصوصیات هر داده همواره ثابت نیست و این باعث ناکارایی و بعضا غیر قابل استفاده شدن SQL برای آنها میشود.
پایگاههای داده NoSQL
پایگاههای داده (Not Only SQL) NoSQL برعکس نوع SQL از ساختارهای Schema غیر ثابت یا Dynamic Schema استفاده میکنند. این باعث میشود که برنامه نویسان احتیاجی به تشکیل ساختارهای سخت گیرانه مشخص، پیش از ایجاد پایگاههای داده را نداشته باشند. این پایگاههای داده میتوانند انواع مختلفی داشته باشند و برعکس SQL برای ذخیره سازی دادهها از XML یا JSON استفاده میکنند. در ادامه انواع مختلفی از پایگاههای داده NoSQL را به شما معرفی میکنیم:
- پایگاههای داده کلید-مقدار یا Key-Value Database: در این نوع از پایگاه داده اطلاعات در قالب جفتهای کلید-مقدار یا Key-Value ذخیره میشود. کلیدها نقش شناسه هر داده را بازی میکند. یعنی میتوانیم با استفاده از آنها مقادیر مختلف داده را ذخیره یا پیدا کنیم. پایگاههای داده کلید-مقدار به دلیل ساده بودن در کارکرد، پرکاربردترین نوع پایگاههای داده NoSQL هستند.
- پایگاههای داده ستونی یا Wide-Column Database: شاید تصور کنید پایگاههای داده ستونی همان پایگاههای داده رابطه ای هستند. اما این فقط ظاهر این گونه پایگاههای داده است که شبیه به نوع رابطه ای است. گفتیم که در پایگاههای داده رابطه ای لازم است که تعداد و نوع ویژگیهای هر موجودیت و مقادیر داخل آن مشخص و ثابت باشد. این در حالی است که در پایگاههای داده ستونی، هر ستون در رکوردهای مختلف میتواند شامل داده هایی با ساختار و نوع متفاوت باشد.
- پایگاههای داده سندی یا Document Database: در این گونه پایگاههای داده برای ذخیره سازی دادهها از اسناد JSON یا XML استفاده میکنیم. پایگاههای داده سندی معمولا برای ذخیره سازی و استفاده از دادههای پراکنده و بی ساختار استفاده میشوند.
- پایگاههای داده گرافی یا Graph Database: در این نوع از پایگاههای داده برای ذخیره سازی موجودیتها و روابط بین آنها از گراف استفاده میکنیم. پایگاههای داده گرافی برای مواردی که در آنها به ایجاد ارتباطهای متعدد بین جداول احتیاج داریم بسیار مناسب هستند.
- پایگاههای داده چند مدله یا Multimodel Database: پایگاههای داده چند مدله ترکیبی از انواع دیگر پایگاه داده هستند. در این نوع پایگاههای داده میتوانیم دادهها را به روشهای مختلفی ذخیره، و از آنها استفاده کنیم.
مزیتهای استفاده از NoSQL
پایگاههای داده NoSQL مزیتهای بسیار زیادی دارند که آنها را برای سیستمهای بزرگ و توزیع شده تبدیل به بهترین گزینه میکند. به طور کلی میتوان این مزیتها را به این شکل خلاصه کرد:
- مقیاس پذیری بالا (Scalability): پایگاههای داده NoSQL میتوانند به راحتی با روش مقیاس پذیری افقی یا Horizontal Scaling گسترش پیدا کنند. این ویژگی باعث کم شدن پیچیدگی و هزینه مقیاس دادن به نرم افزار یا Scale کردن آن میشود.
- کارایی بالا (Performance): در سیستمهای توزیع شده NoSQL با تکثیر خودکار دادههای NoSQL در سرورهای متعدد در سراسر دنیا، تاخیر در ارسال پاسخ از طرف سرور به پایینترین حد ممکن میرسد.
- دسترسی بالا (Availability): در سیستمهای توزیع شده NoSQL به دلیل کپی شدن خودکار دادهها در سرورهای مختلف، با از دسترس خارج شدن یک یا چند سرور، پایگاه داده همچنان قابل دسترس و پاسخگو است.
نتیجه گیری
دیدیم که پایگاههای داده رابطه ای و مبتنی بر SQL گرچه از مزیت ساختار یافتگی و قانونمندی برخوردارند، اما برای سیستمهای بی ساختار یا تحلیل دادههای بزرگ مناسب نیستند. این به آن معنی است که مزیت آنها در بسیاری از سیستمهای بزرگ مثل موتورهای جستجو، تبدیل به بزرگترین نقطه ضعف میشود. برای حل این مشکل، پایگاههای داده NoSQL مثل MongoDB، پابه عرصه گذاشتند. پایگاههای داده NoSQL به راحتی در سیستمهای توزیع شده مورد استفاده قرار میگیرند، و باعث بهبود عملکرد آنها میشوند.
-
خدمات طراحی سایت
-
ویترین اخبار
- راه اندازی سایت نشریه الکترونیک فرهنگ انقلاب اسلامی
- ملاک شناخت یک شرکت طراحی سایت قوی و توانا برای راه اندازی سایت اینترنتی شما چیست؟
- فرا رسیدن نوروز باستانی، یادآور شکوه ایران و یگانه یادگار جمشید جم بر همه ایرانیان پاک پندار، راست گفتار و نیک کردار خجسته باد
- راه اندازی وب سایت اینترنتی ماشین سازی درستگاههای تولید آرد
- راه اندازی وب سایت اینترنتی ملک آریا
- 7 مورد از قابلیتهای غیرمنتظره در iOS 7
- Apex در برابر Nova: مقایسه دو لانچر اندروید
- پاداش 15,000 دلاری برای شکستن قفل TouchID
- نیکون از AW1، اولین دوربین ضد آب با قابلیت تعویض لنز، پرده برداشت
- لومیا 1520 نوکیا و این بار مشخصات فنی، قیمت و زمان عرضه
- رکورد فروش موبایل در دست 8 مدل
- اپل در حال تست نسخه های 701 و702 و 71 سیستم عامل iOS؟
- علت دقیق سرعت پایین اینترنت را نمیدانیم
- بررسی اکسپریا Z1 سونی
- آموزش ساخت ایمیل یاهو پس از حذف ایران!
- سهام توییتر روانه بازار بورس میشود
- تبلیغات تازه مایکروسافت علیه آیفون شکست خورد
- مدیرعامل اینتل: تبلتهای زیر 100 دلاری در تعطیلات سال نوی میلادی از راه میرسند
- 27 شهریور iOS 7 برای آیفونها و آیپدها منتشر میشود
- کنسول بازی جدید سونی با قابلیت های جذاب و قیمت مناسب معرفی شد: Vita TV
- کمپانی دل برای چینی ها لب تاب لوحی می سازد!!!
- ایسوس فون پد 7 اینچی جدید را معرفی کرد: تبلت/تلفن هیبریدی با اسپیکر دو کاناله
- یاهو لوگوی جدید خود را رونمایی کرد
- ایسوس از لپتاپ لمسی و ارزان قیمت X102BA با پردازنده AMD پرده برداشت
- دوباره Moto X و این بار تصویر رندر شده تبلیغاتی آن [بروز شد]
- ولخرجیهای گوگل در حوزه دیتاسنتر ادامه دارد: 6-1 میلیارد دلار در سه ماهه دوم 2013
- تشکیل گروه جهانی« طراحی فناوریهای پوشیدنی» در موتورولا، با استناد به آگهی استخدام این شرکت
- آشنایی با سیستمفایلها و نحوه فرمتکردن درایوهای خارجی در مک
- سرفیس RT هنوز نمرده است
- دانلود کنید: اپلیکیشن VLC برای کاربران iOS منتشر شد
- بررسی همهجانبۀ شایعات پیرامون ساعتهای هوشمند
- تصاویر واضح از آیفون ارزان قیمت در کنار آیفون 5 فاش شد
- تبدیل تصاویر به فرمت ICO و استخراج آیکونها از فایلهای با فرمت EXE و DLL
- نسخه جدید اندروید در 2 مردادماه معرفی میشود
- ال جی از نام G2 برای پرچمدار بعدی خود استفاده میکند
- مشخصات فنی و بنچمارک گلکسی نوت 3 فاش شد
- تصویر و مشخصات جدید آیفون 5S به بیرون درز کرد: صفحه نمایش IGZO، دوربین 12 مگاپیکسل، پردازنده سریعتر و پردازنده گرافیکی چهار هستهای
- آیا میتوان پس از مرگ اطلاعات با ارزش را در اختیار خانواده، دوستان و آشنایان قرار داد؟
- تصاحب Omek توسط اینتل ممکن است باعث شود هرگز نیاز به لمس کامپیوتر خود نباشید
- نسخه جدید تحت وب نقشه گوگل در دسترس همگان قرار گرفت
- تلفن G2 ال جی مجهز به باتری 2540 میلی آمپر ساعتی است
- جزئیات بیشتر از دوربین 20 مگاپیکسلی هونامی: سنسوری بزرگ ولی نه به اندازهی لومیا 1020
- مرور تاریخچه دوربین در گوشیهای برجسته نوکیا
- دریافت استاندارد و رتبه 6 از 10 گوگل توسط سایت شرکت راوک نگار پارس
- بروزرسانی تعدادی از جدیدترین نمونه آثار طراحی سایت های هوشمند راوک نگار پارس
-
نماد اعتماد الکترونیکی
-
آمار بازدید
- کل (online):۱۱۳۶۵
- اعضاء (online):۴
- میهمان (online):۱۱۳۶۱
- بازدید امروز::۱۱۱۰
- بازدید دیروز::۸۷۵۱
- بازدید کل::۲۵۶۱۹۰۱۶
-
تبلیغات