NoSQL چیست؟

NoSQL چیست؟

علی مرادی

دیتابیس NoSQL رویکردی برای طراحی بانک اطلاعاتی است که می تواند طیف گسترده ای از مدل های داده از جمله قالب های کلیدی ، سند ، ستون و نمودار را در خود جای دهد. NoSQL ، که مخفف “not only SQL” است ، جایگزینی برای بانکهای اطلاعاتی سنتی است که در آن داده ها در جداول قرار می گیرند و شمای داده ها قبل از ساخت پایگاه داده با دقت طراحی می شوند. پایگاه داده های NoSQL به ویژه برای کار با مجموعه های بزرگی از داده های توزیع شده مفید هستند.

در ادامه با ما در شتابان هاست همراه باشید.

NoSQL در مقابل RDBMS:

اصطلاح NoSQL را می توان در برخی از بانکهای اطلاعاتی که پیش از سیستم مدیریت دیتابیس های رابطه ای پیش بینی شده اند ، استفاده کرد ، اما بیشتر به دیتابیس های ساخته شده در اوایل دهه ۲۰۰۰ به منظور کلاستر بندی پدیتابیس های بزرگ در برنامه های ابری و وب اشاره دارد. در این برنامه ها ، الزامات مربوط به عملکرد و مقیاس پذیری از نیاز به ثبات داده های فوری و سفت و سخت که RDBMS در اختیار برنامه های سازمانی معامله قرار می داد ، پیشی گرفتند.

قابل ذکر است که سیستم های NoSQL ملزم به پیروی از یک طرح رابطه مستقر نبودند. سازمان های وب در مقیاس بزرگ مانند گوگل و آمازون از دیتابیس های NoSQL برای تمرکز روی اهداف عملیاتی باریک استفاده کردند و از دیتابیس های رابطه ای به عنوان کمکی استفاده کردند که در آن ضروری است ثبات داده های درجه بالا باشد.

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

بانک اطلاعات اسناد:

بانک اطلاعاتی اسناد ، همچنین به نام اسناد ذخیره سازی ، داده های نیمه ساختار یافته و توضیحات آن داده ها را در قالب سند ذخیره می کند. آنها به برنامه نویسان اجازه می دهند بدون نیاز به مراجعه به طرح جامع مرجع ، برنامه هایی را ایجاد و به روز کنند. استفاده از بانکهای اطلاعاتی اسناد به همراه استفاده از JavaScript و JavaScript Object Notation یا (JSON) ، یک فرمت تبادل داده است که ارز گسترده ای را بین توسعه دهندگان برنامه های وب کسب کرده است ، اگرچه می توان از XML و سایر فرمت های داده نیز استفاده کرد. بانک اطلاعاتی اسناد برای مدیریت محتوا و پردازش داده های برنامه تلفن همراه استفاده می شود. سرور Couchbase ، CouchDB ، DocumentDB ، MarkLogic و MongoDB نمونه هایی از پایگاه داده های سند هستند.

تکامل NoSQL:

Berkeley DB یک سیستم تأثیرگذار در تکامل اولیه استفاده از پایگاه داده NoSQL بود. در دانشگاه کالیفرنیا ، برکلی ، با شروع دهه ۱۹۹۰ توسعه یافت ، Berkeley DB به طور گسترده به عنوان یک پایگاه داده تعبیه شده توصیف شده بود که از نزدیک نیازهای ذخیره سازی برنامه های خاص را پشتیبانی می کرد. این نرم افزار منبع باز یک فروشگاه ساده با ارزش کلیدی را ارائه می داد. شرکت برکلی DB در سال ۱۹۹۹ توسط نرم افزار Sleepycat منتشر شد. این شرکت بعدا توسط اوراکل در سال ۲۰۰۶ بدست آمد. اوراکل به حمایت از منبع باز Berkeley DB ادامه داد.

سایر پایگاه های داده NoSQL که برجسته شده اند عبارتند از: پایگاه داده های NoSQL تحت وب ابری مانند Amazon DynamoDB ، Google BigTable و همچنین Apache Cassandra و MongoDB.

طبقه بندی اصلی پایگاه داده NoSQL فقط راهنما هستند. با گذشت زمان ، فروشندگان عناصر مختلف و متنوعی از درختان خانوادگی پایگاه داده NoSQL را برای دستیابی به سیستمهای مفیدتر به دست آورده اند. این تکامل به عنوان مثال در MarkLogic مشاهده می شود که یک فروشگاه گرافیکی و سایر عناصر را به بانکهای اطلاعاتی اصلی خود اضافه کرده است. سرور Couchbase از هر دو رویکرد کلیدی و سند پشتیبانی می کند. Cassandra عناصر با ارزش کلیدی را با یک فروشگاه ستون گسترده و یک پایگاه داده نمودار ترکیب کرده است. بعضی اوقات عناصر NoSQL با عناصر SQL مخلوط می شوند و انواع مختلفی از بانکهای اطلاعاتی ایجاد می کنند که به آنها به عنوان پایگاه داده چندمدلی گفته می شود.

امیدوارم این مقاله براتون مفید بوده باشه.

ما رو تو شتابان هاست دنبال کنید. 🙂