NoSQL عبارت جهانشمول جدیدی که برای دیتابیس های غیررابطه ای استفاده می شود، در میان توسعه دهندگان وب خیلی جا نیفتاده است. البته اطلاق NoSQL برای تعریف آنها کمی بی انصافی است و شامل فناوری های مختلفی می شود. با وجود این، تفاوت های پایه ای میان این دو نوع دیتابیس وجود دارد. همان طور که از نام NoSQL مشخص است، در این دیتابیس ها خبری از زبان SQL نیست و هر یک از آنها از زبان مشابه SQL خود استفاده می کند یا یک API شی ءگرا دارد.
یکی دیگر از این تفاوت ها، نبود جداول دوبعدی است. در حالی که دیتابیس های SQL منحصرا با این نوع جداول کار می کنند، دیتابیس های NoSQL به حالت جفت های نام ـ متغیر یا اشیای Hash داده را در خود ذخیره می کنند. در نهایت، دیتابیس های NoSQL قابلیت هایی که توسعه در دیتابیس های رابطه ای را ممکن می کند، ندارند.
بی شک انعطاف پذیری دیتابیس های NoSQL در سطوح مختلف جذاب است. درست همانند کارکرد با زبان های داینامیک که نیازی به تعریف متغیر پیش از استفاده از آنها وجود ندارد، می توان داده ها را در دیتابیس ذخیره کرد، بی آن که ساختاری برای دیتابیس تعریف کرده باشیم. مثلا اگر بخواهیم فیلد جدیدی برای فرد تعریف کنیم، کافی است دیتای جدید را به سرور بفرستیم، از این به بعد دیتابیس حواسش به فیلد جدید خواهد بود. |