در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

NoSQL چیست ؟ مزیت NoSQL به SQL در چیست؟

در اولین مقاله قصد مون بر این هست که مقدمه ای بر بانک های اطلاعاتی (Databases) رو که ساختار NoSQL دارند رو مطالعه بکنیم.برای همین ابتدا نیاز هست که توضیح مختصری درباره بانک های اطلاعاتی که ساختار relation دارند رو بدیم .در این نوع بانک های اطلاعاتی ، اطلاعات ما در قالب جدول هایی که به صورت سطر و ستون هستند ذخیره می شوند. که این توضیح یک سطری برای تمامی کسانی که با بانک های اطلاعاتی Sql Server یا Mysql , ... کار کردند کاملا واضح و آشکار هست.

خب و اما NoSQL : دقیقا تفاوت اصلی و ساختاری NoSQL از همین نقطه آغاز میشه که در بانک های اطلاعاتی NoSQL اطلاعات ما در جداول ذخیره میشه ولی به صورت سطر و ستون 2 بعدی نیست ! خیلی ساده میشه توی یک جدولی یکی از عناصر در زیر شاخه خودش چندین عنصر دیگه رو جای بده ، برای مثال ما یک جدولی رو داریم که اطلاعات کتاب و ناشران رو ذخیره میکنه . ابتدا حالتی رو بیان می کنیم که بانک اطلاعاتی ما در قالب SQL باشه ، پس باید یک جدولی رو داشته باشیم که اطلاعات کتب در اون ذخیره بشه و یک جدولی رو داشته باشیم که اطلاعات ناشران رو در خودش جای بده

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

آموزش NoSQL

با توجه به تصویر بالا واضح و آشکار هست که ما کتاب learn node js رو به دوتا ناشر farhad mehryari و jhon smit اختصاص دادیم

حالا همین کار رو در بانک اطلاعاتی با ساختار NoSQL انجام میدیم ، اغلب بانک های اطلاعاتی از قالب json پشتیبانی می کنند و ما تمامی اطلاعات کتاب رو در قالب json وارد جدول یا بهتر بخایم بگیم وارد collection کتاب می کنیم :

{
  "id": "5",
  "title": "Learn Node js",
  "authors": 
  {
    "id": [1,2],
    "firstname": ["farhad","jhon"],
    "lastname": ["mehryari","smith"]
  },
  "times": {
    "create": {"2016-06-12 12:32:35"},
    "update1": {},
    "update2": {}
  }
}

با این روش مرتب سازی و سرعت دسترسی به اطلاعات تفاوت چشمگیری با حالت قبلی داره ، حالا یک تعریف برای این نوع ساختار بانک اطلاعاتی بیان می کنیم :

NoSQL برمیگرده به non SQL یا no SQL یا not only SQL که یک مکانیسمی رو ارائه میده برای ذخیره و بازیابی اطلاعات که برای برنامه های تحت وب real time و برنامه هایی که اطلاعات حجیمی دارند مناسب هست ، بعضی از این بانک های اطلاعاتی امکان تحلیل و آنالیز رو هم (مثل clusterpoint ) میدن که تاثیر مثبتی در سرعت و عملکرد برنامه میتونه داشته باشه

مزیت های nosql به sql

در noSQL نیازی به ایجاد ساختار و schema جدول (collection) نیست و با insert کردن اولین سری از اطلاعات ساختار خودکار ایجاد میشه

مقیاس پذیری و عملکرد بهتر نسبت به SQL

نیازی به تعریف نوع متغییر ها نیست این امر به صورت خودکار انجام میشه در حالی که در بانک های اطلاعاتی SQL ستونی که نوع اونت int هست نمیتونه مقدار رشته ای در اون قرار بگیره ، البته منظور از این مزیت ها این نیست که بانک های اطلاعاتی SQL برای همیشه کنار گذاشته بشه در مواردی هم از جمله transaction ها بانک های اطلاعاتی SQL مناسب تر از NoSQL ها هستند

انواع دیتابیس های NoSQL

  • ذخیره سازی key-value اندیس و مقدار
  • ذخیره سازی column ستونی
  • ذخیره سازی document سند
  • ذخیره سازی graph database

redis , mongo , cassandra , clusterpoint این ها هم از جمله بانک های اطلاعاتی NoSQL هستند که هر یک مزیت و کاربرد خاص خودش رو داره که در قسمت های بعدی تفصیلا بحث خواهد شد.

در پناه حق موفق باشید و امیدوار


نویسنده : فرهاد مهریاری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

2 نظر
حامد تقی زاده انور

داداش شما اول مفهوم عبارت NOSQL رو واسه خودت بررسی کن، بعد مقاله بده

Not Only SQL

فرهاد مهریاری

خیلی زیاد علاقه مندم که از من انتقاد بشه

و مشکلی ندارم از این که اگر مطلبم اشتباه بود اون رو حذف کنم یا نه

و این مطالب هم برداشت خودم بود از کار با دیتابیس cluster point که به نظر شما انگار درست نیست که با مطالعه بیشتر من درست میشه

ولی این شیوه صحبت و انتقاد شما اصلا درست و در شان این مجموعه نیست اولین چیزی که من تو این مجموعه دیدم اخلاقی خوبی بود که اکثرا داشتند

امیدوارم شما بتونید راهی واسه اصلاح این طرز بیانتون پیدا کنید

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....