مروری بر پایگاه‌های داده NoSQL

فهرست مطالب:

مروری بر پایگاه‌های داده NoSQL
مروری بر پایگاه‌های داده NoSQL
Anonim

نام اختصاری NoSQL در سال 1998 ابداع شد. بسیاری از مردم فکر می کنند NoSQL یک اصطلاح تحقیرآمیز است که برای ضربه زدن به SQL ایجاد شده است. در واقع، این اصطلاح به معنای نه تنها SQL است. ایده این است که هر دو فناوری می توانند با هم وجود داشته باشند و هر کدام جایگاه خود را دارند. جنبش NoSQL در چند سال گذشته در اخبار بوده است، زیرا بسیاری از رهبران وب 2.0 از فناوری NoSQL استفاده کرده اند. شرکت هایی مانند فیس بوک، توییتر، دیگ، آمازون، لینکدین و گوگل همگی از NoSQL به روشی استفاده می کنند. بیایید NoSQL را تجزیه کنیم تا بتوانید آن را برای CIO یا حتی همکارانتان توضیح دهید.

Image
Image

NoSQL از یک نیاز پدید آمد

ذخیره‌سازی داده: داده‌های دیجیتال ذخیره‌شده جهان بر حسب اگزابایت اندازه‌گیری می‌شوند.یک اگزابایت معادل یک میلیارد گیگابایت (GB) داده است. طبق گزارش Internet.com، میزان داده های ذخیره شده اضافه شده در سال 2006، 161 اگزابایت بود. فقط 4 سال بعد در سال 2010، مقدار داده های ذخیره شده تقریباً 1000 ExaByte خواهد بود که بیش از 500٪ افزایش می یابد. به عبارت دیگر، داده‌های زیادی در جهان ذخیره می‌شود و به رشد خود ادامه خواهد داد.

داده های به هم پیوسته: داده ها همچنان بیشتر متصل می شوند. ایجاد وب در پیوندها تقویت شده است، وبلاگ ها دارای پینگ بک هستند و هر سیستم شبکه اجتماعی بزرگ دارای برچسب هایی است که چیزها را به هم گره می زند. سیستم‌های اصلی برای اتصال به یکدیگر ساخته شده‌اند.

ساختار داده پیچیده: NoSQL می تواند ساختارهای داده تودرتو سلسله مراتبی را به راحتی مدیریت کند. برای انجام یک کار مشابه در SQL، به چندین جدول رابطه ای با انواع کلیدها نیاز دارید. علاوه بر این، بین عملکرد و پیچیدگی داده ها رابطه وجود دارد. عملکرد می تواند در یک RDBMS سنتی کاهش یابد زیرا ما حجم عظیمی از داده های مورد نیاز در برنامه های شبکه های اجتماعی و وب معنایی را ذخیره می کنیم.

NoSQL چیست؟

من حدس می زنم یک راه برای تعریف NoSQL این است که آنچه را که نیست در نظر بگیریم. SQL نیست و رابطه ای نیست. همانطور که از نام آن پیداست، جایگزینی برای RDBMS نیست، بلکه آن را تحسین می کند. NoSQL برای ذخیره سازی داده های توزیع شده برای نیازهای داده در مقیاس بسیار بزرگ طراحی شده است. به فیسبوک با 500،000،000 کاربر یا توییتر فکر کنید که هر روز ترابیت داده جمع آوری می کند.

در یک پایگاه داده NoSQL، هیچ طرح ثابت و هیچ پیوستی وجود ندارد. یک RDBMS با دریافت سخت‌افزار سریع‌تر و سریع‌تر و افزودن حافظه «بالا» می‌شود. از سوی دیگر، NoSQL می‌تواند از مزیت «کاهش مقیاس» استفاده کند. کاهش مقیاس به توزیع بار روی بسیاری از سیستم های کالا اشاره دارد. این جزء NoSQL است که آن را به یک راه حل ارزان برای مجموعه داده های بزرگ تبدیل می کند.

دسته‌های NoSQL

دنیای NoSQL فعلی در 4 دسته اصلی قرار می گیرد.

  1. Key-values Stores اساساً بر پایه Dynamo Paper آمازون است که در سال 2007 نوشته شد.ایده اصلی وجود یک جدول هش است که در آن یک کلید منحصر به فرد و یک اشاره گر به یک آیتم خاص از داده وجود دارد. این نگاشت ها معمولاً با مکانیسم های کش برای به حداکثر رساندن عملکرد همراه هستند.
  2. Column Family Stores برای ذخیره و پردازش مقادیر بسیار زیادی از داده های توزیع شده در بسیاری از ماشین ها ایجاد شده اند. هنوز کلیدهایی وجود دارد اما آنها به چندین ستون اشاره می کنند. در مورد BigTable (مدل NoSQL خانواده ستونی گوگل)، سطرها با یک کلید ردیفی شناسایی می شوند که داده ها توسط این کلید مرتب و ذخیره می شوند. ستون ها بر اساس خانواده ستون مرتب شده اند.

  3. پایگاه‌های داده اسناد از Lotus Notes الهام گرفته شده‌اند و شبیه به فروشگاه‌های ارزش کلیدی هستند. این مدل اساساً اسناد نسخه‌سازی شده است که مجموعه‌ای از سایر مجموعه‌های ارزش کلیدی هستند. اسناد نیمه ساختار یافته در قالب هایی مانند JSON ذخیره می شوند.
  4. پایگاه داده گرافها با گره ها، روابط بین یادداشت ها و ویژگی های گره ها ساخته شده اند. به جای جداول ردیف‌ها و ستون‌ها و ساختار سفت و سخت SQL، از یک مدل نمودار انعطاف‌پذیر استفاده می‌شود که می‌تواند در بسیاری از ماشین‌ها مقیاس شود.

پخش کننده های اصلی NoSQL

بازیگران اصلی NoSQL عمدتاً به دلیل سازمان هایی که آنها را پذیرفته اند ظهور کرده اند. برخی از بزرگترین فناوری های NoSQL عبارتند از:

  • Dynamo: Dynamo توسط Amazon.com ایجاد شد و برجسته ترین پایگاه داده Key-Value NoSQL است. آمازون به یک پلتفرم توزیع‌شده بسیار مقیاس‌پذیر برای کسب‌وکارهای تجارت الکترونیک خود نیاز داشت، بنابراین آنها Dynamo را توسعه دادند. Amazon S3 از Dynamo به عنوان مکانیزم ذخیره سازی استفاده می کند.
  • Cassandra: کاساندرا منبع باز توسط Facebook و یک پایگاه داده NoSQL ستون محور است.
  • BigTable: BigTable پایگاه داده ستون گرا اختصاصی Google است. Google اجازه استفاده از BigTable را می دهد اما فقط برای موتور برنامه Google.
  • SimpleDB: SimpleDB یکی دیگر از پایگاه داده های آمازون است. مورد استفاده برای Amazon EC2 و S3، بخشی از خدمات وب آمازون است که بسته به استفاده از آن هزینه دریافت می کند.
  • CouchDB: CouchDB به همراه MongoDB پایگاه داده های NoSQL سند گرا منبع باز هستند.
  • Neo4J: Neo4j یک پایگاه داده گراف منبع باز است.

Querying NoSQL

مسئله نحوه پرس و جو از پایگاه داده NoSQL همان چیزی است که بیشتر توسعه دهندگان به آن علاقه مند هستند. به هر حال، داده های ذخیره شده در یک پایگاه داده عظیم اگر نتوانید آنها را بازیابی کنید و به کاربران نهایی نشان دهید هیچ فایده ای ندارد. یا خدمات وب پایگاه داده های NoSQL یک زبان پرس و جوی اعلامی سطح بالا مانند SQL ارائه نمی دهند. درعوض، پرس‌وجو از این پایگاه‌های داده is> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

آینده NoSQL

سازمان‌هایی که نیازهای ذخیره‌سازی داده زیادی دارند به طور جدی به NoSQL نگاه می‌کنند. ظاهراً این مفهوم در سازمان های کوچکتر چندان مورد توجه قرار نمی گیرد. در نظرسنجی انجام شده توسط هفته اطلاعات، 44 درصد از متخصصان فناوری اطلاعات کسب و کار نام NoSQL را نشنیده اند.علاوه بر این، تنها 1٪ از پاسخ دهندگان گزارش دادند که NoSQL بخشی از جهت گیری استراتژیک آنها است. واضح است که NoSQL جایگاه خود را در دنیای متصل ما دارد، اما برای به دست آوردن جذابیت انبوهی که بسیاری فکر می کنند می تواند داشته باشد، باید به تکامل خود ادامه دهد.

توصیه شده: