نواس‌کیوال

نواس‌کیوال مخفف not only sql به معنای نه تنها اس‌کیوال نامی است فراگیر برای ردهٔ گسترده‌ای از سامانه‌های مدیریت پایگاه داده که با نوع سنتی پایگاه‌های داده رابطه ای تفاوت‌های آشکار دارند. روشن‌ترین این تفاوت‌ها عدم استفاده از اس‌کیوال به عنوان زبان پرسش نخستین در noSQL است. نمونه اش پایگاه داده‌های اکس‌ام‌ال و پایگاه داده‌های سند-گرا است. یکی از پیاده‌سازی‌های شناخته شده این نوع پایگاه داده‌ها کاوچ‌دی‌بی ساخت بنیاد نرم‌افزار آپاچی است.
شرکتهای بزرگ اینترنت از جمله گوگل (BigTable)، آمازون (Dynamo)، لینکدین (Project Voldemort)، فیس بوک (Cassandra و HBase) سورس فورژ (MongoDB)، اوبونتو (CouchDB) طراحی و راه اندازی گروه پایگاه‌های داده NoSQL را بر عهده دارند. بخش قابل توجهی از این پروژه‌ها متن باز و آزاد است.

SQL و کاربرد آن

به زبان ساده‌تر باید گفت که SQL مخفف Structured Query Language می‌باشد؛ یعنی زبان پرس جوی ساخت یافته. در این زبان که از نوع Relational Database است داده‌ها در جدول‌هایی با ویژگی‌های مشخص ذخیره می‌شوند. بین این جداول روابطی (Relation) برقرار می‌شود و ما می‌توانیم عملیاتی مانند انتخاب (Select)، درج (Insert)، به روزرسانی (Update) و حذف (Delete) به همراه سایر ابزارهای مورد نیاز برای مدیریت پایگاه داده‌ها را در کنار هم داشته باشیم. پس سیستمی برای ذخیره داده‌ها، ایجاد پیوند بین آن‌ها و عملیات بر روی آن‌ها (از مشخصات SQL) می‌تواند تعریفی ابتدایی برای SQL باشد. به عنوان مثال تمامی مطالب این سایت در پایگاه‌های داده و در جدول‌هایی مشخص به همراه مشخصات دقیق مانند نام نویسنده، تاریخ، متن، عنوان و … ذخیره شده و زمانی که شما صفحه را در مرورگر خودتان باز می‌کنید این اطلاعات از پایگاه‌های داده سرور سایت دریافت شده و برای شما نمایش داده می‌شوند. پس وجود پایگاه داده‌های SQL مهم می‌باشد. لازم به یادآوری است که SQL انواع مختلفی دارد؛ به عنوان مثال می‌توان به نسخه ویندوز (SQL Server)، نسخه مورد استفاده در گوشی‌های همراه هوشمند (SQLite) و نسخه مورد استفاده در اینترنت (MySQL) از این زبان اشاره کرد که همگی پیرو قوانین مرتبط با رابطه‌ای بودن نوع ذخیره‌سازی و بازیابی اطلاعات می‌باشند و هر جدول دارای یک کلید اصلی برای مشخص نمودن تفاوت میان سطرها می‌باشد.

حال NoSQL چیست؟

به دلیل محدودیت‌های کلاسیک SQL و مدرن شدن دنیای اینترنت و اطلاعات، کاربران و مدیران بخش داده‌ها به ارائه ایده‌های جدید با تمرکز بر تفکر «یک قالب مطابق با همه» یا “One size fits all” پرداخته‌اند که در آن قید و بندهای سیستم قبلی تا حد امکان موجود نباشد. برای توضیح بیشتر به این متن از ویکی‌پدیا توجه نمایید:
 نواس‌کیوال مخفف Not Only SQL به معنای نه تنها اس‌کیوال نامی است فراگیر برای ردهٔ گسترده‌ای از سامانه مدیریت پایگاه داده‌هایی که با نوع سنتی پایگاه داده‌های رابطه‌ای تفاوت‌های آشکار دارند. روشن‌ترین این تفاوت‌ها استفاده نکردن از اس‌کیوال به عنوان زبان پرسش نخستین است. نمونه آن پایگاه داده‌های XML و پایگاه داده‌های سند-گرا(Document-oriented) است. یکی از پیاده‌سازی‌های شناخته شده این نوع پایگاه داده‌ها CouchDB ساخت بنیاد نرم‌افزار آپاچی است.
 شرکت‌های بزرگ اینترنت، از جمله گوگل (BigTable)، آمازون (Dynamo)، لینکدین (Project Voldemort)، فیس بوک (Cassandra و HBase) سورس فورژ (MongoDB)، اوبونتو (CouchDB) طراحی و راه اندازی گروه پایگاه داده NoSQL را بر عهده دارند. بخش قابل توجهی از این پروژه‌ها متن باز و آزاد است.
در مدل NoSQL بنا به شیوه‌های مختلف، دیگر نیاز به طراحی و زمان طولانی برای طراحی پایگاه داده‌ها نمی‌باشد. در برخی از سرویس‌های NoSQL الگوریتم‌های هوشمندی هم به کار رفته‌است که دیگر نیازی به طراحی پایگاه داده نمی‌باشد و بر اساس ورودی‌های برنامه‌نویس و کاربر و تعیین نوع نیازمندی‌ها و پلتفرم و شرایط محیطی دیگر، نوع ذخیره‌سازی و مدیریت داده‌ها پیاده‌سازی می‌شود.

مزایای استفاده از NoSQL به جای SQL چیست؟

اولین و مهم‌ترین مزیت، عدم طراحی شمای (الگو) خاص برای داده هاست و در این سیستم داده‌های ورودی می‌تواند هر موقع تغییر نوع پیدا کرده و سیستم باید خودش را با آن مطابق کند. دومین مزیت قابلیت چند بخشی شدن خودکار و تشخیص هوشمند یکپارچگی بوده که در SQL طراح باید چند سرور بودن را در طراحی خود حتماً لحاظ می‌کرد و بر طبق آن شمای پایگاه داده را پیاده‌سازی می‌کرد ولی در سیستم NoSQL چند سرور بودن بخاطر هوشمندی و بالا بودن سطح سیستم هیچ مانعی برای ادامه کار ندارد. سومین مزیت هم که در سیستم قبلی حرفی از آن زده نشده بود وجود Cache برای افزایش سرعت بازیابی اطلاعات می‌باشد که همانند پردازنده در مواجه شدن با منابع مشابه و یکسان که آن‌ها را در Cache نگهداری می‌کرد در سیستم NoSQL هم داده‌های پراستفاده در Cache نگهداری می‌شوند. پس استفاده از NoSQL باعث افزایش سرعت در طراحی و اجرای پایگاه داده شده و همچنین محدودیت‌های قالب قدیمی را از میان برمی‌دارد که بیشتر مورد نیاز دنیای امروز و آینده اطلاعات و داده‌ها می‌باشد.