SQL, NoSQL
SQL زبان استاندارد دستیابی و کنترل پایگاه داده های رابطه ای است. یک پایگاه داده رابطه ای (Relational Database) روابط بین مفاهیم و اشیا بیزینس را به شکل چندین جدول تعریف می کند و SQL برای جستجو، بروزرسانی، حذف یا وارد کردن رکورد در این جدولها به کار می رود. البته تواناییهای SQL منحصر به موارد بالا نیست و می تواند کارهایی مانند بهینه سازی و Tuning را نیز انجام دهد. مثلا در شرکت آویهنگ برای نگهداری اطلاعات بیمه شده و شرکای کاری بیمه سلامت ( پزشکان، آزمایشگاهها، مراکز تصویربرداری، ...) از دیتابیس رابطه ای استفاده میشود.

NoSQL یک سیستم مدیریت داده غیر-رابطه ای است که نیازی به یک اسکیما ثابت ندارد، join ندارد و مقیاس پذیر است. Join به معنی چسباندن دیتاستها یا جداول به هم با توجه به یک یا چند رابطه مشخص است و مقیاسپذیر بودن یعنی میزان توانایی سیستم برای اینکه تا چه حد در مقیاسهای بزرگتر می تواند بصورت پایدار فعالیت کند. دیتابیس NoSQL برای مراکز داده توزیع شده، داده های بزرگ و نرم افزارهای تحت وبی که به صورت real-time کار میکنند استفاده می شود،به طور مثال شرکتهایی مانند توییتر، فیسبوک و گوگل که هر روز مقدار عظیمی داده از کاربرها جمع آوری و ذخیره می کنند. در آویهنگ و در پروژه معیشت تمام فعالیتهای کاربران در سامانه معیشت به صورت NoSQL و بوسیله کاساندرا ذخیره سازی میشود.
پارامتر |
SQL |
NOSQL |
تعریف |
پایگاه داده های رابطه ای |
پایگاه داده های غیررابطه ای و مراکز داده غیرمتمرکز |
طراحی شده برای |
پایگاه های داده سنتی و سیستمهای OLAP |
اپلیکشنهای مدرن و داده محور |
زبان پرس و جو (Query) |
Structured Query Language |
لزوما داری زبان پرس و جو نیستند |
انواع |
جدول (table-base) |
پایگاه های داده NoSQL میتوانند document-base، Key-value ، graph base باشند |
اسکیما |
اسکیما مشخص و از قبل تعریف شده دارند |
اسکیمای داینامیک و متغیر برای داده های غیرساختاری (Unstructured data) |
مقیاس پذیری |
به صورت عمودی مقیاس پذیر هستند |
به صورت افقی مقیاس پذیر هستند |
نمونه |
Oracle, Postgres, and MS-SQL |
MongoDB, Redis, , Neo4j, Cassandra, Hbase. |
سلسله مراتبی بودن داده |
نامناسب برای داده سلسه مراتبی |
مناسب به علت داشتن مفهوم key-value |
تاریخچه |
اولین سال توسعه 1970 |
اولین سالهای توسعه اولین دهه قرن 21 |
ثبات (Consistency) |
ثبات بسیار قوی |
ثبات بستگی به نوع پایگاه داده ها دارد |
اهمیت |
اهمیت آن در اعتبار نتایج است |
اهمیت آن اول به خاطر علت و سپس درستی است. |
سخت افزار |
مخصوص دیتابیس |
سخت افزار معمولی و متداول بازار (commodity hardware) |
شبکه |
شبکه همیشه در دسترس |
شبکه معمولی و متداول |
نوع ذخیره سازی |
همیشه در دسترس |
دیسکهای معمول و متداول |
مشخصه بارز |
امن و رایگان، Cross-platform support |
آسان با کارکرد بالا و ابزار منعطف |