مختصری بر دیتابیس ها
سال های زیادی بکارگیری پایگاه های داده (دیتابیس ها) به استفاده از دیتابیس های Relational یا همان رابطه ای مانند MySQL یا MSSQL خلاصه می شد. بیش از ۵۰ سال است که دیتابیس های Relational وجود داشته اند. پیوسته پیشرفت کرده و بهتر شده اند. اما اکنون چند سالی است که نوع جدید از پایگاه های داده موسوم به NoSQL ها به وجود آمده اند.
برای درک بهتر کاربرد و عملکرد دیتابیس های NoSQL توضیح مختصری برای شیوه عمکرد دیتابیس های Relational لازم است.
ساختار پایگاه های داده Relational:
در دیتابیس های Relational اطلاعات بطور کلی در ستون ، سطر و جدول ذخیره می شود. اطلاعات ستون ها می بایست از نظر نوع داده با هم ساختاری مشابه داشته باشند. به عنوان مثال اگر در ستونی از نوع داده عددی استفاده کنید، نمی توانید در سطر بعدی و در همان ستون از نوع داده متنی استفاده نمایید. با افزایش سطرها افزونگی اطلاعات بیشتر و در نهایت مجموعه ای از این سطر ها و ستون ها در یک جدول ذخیره می گردیدند. در واقع در این جدول تمامی سطرها ساختار و ویژگی های یکسانی دارند. همچنین این جداول با استفاده از کلید ها می توانستند با هم مرتبط شده و سطح بالایی از اطلاعات را در دل خود نگه دارند.
حفظ نظم و ساختار اطلاعات با استفاده از کنترل های وسیعی که توسط این نوع دیتابیس ها روی اطلاعات اعمال می شود این تضمین را به وجود می آورد که صحت اطلاعات همیشه در آنها حفظ شود.
اما اگر اطلاعات ما ساختار یکسانی نداشته باشد و نتوان تمامی اطلاعات را در جداول (که ساختار اطلاعاتی یکسانی دارند) گنجاند، استفاده از این نوع پایگاه های داده سخت و نفس گیر خواهد شد. سختی ورود اطلاعات و کندی بازیابی اطلاعات باعث کارایی پایین آنها خواهد شد. اینجاست که دیتابیس های NoSQL به عنوان راهگشا عمل خواهند کرد.
پایگاه های داده NoSQL:
دلیل اصلی روی کار آمدن و رشد بالای استفاده از آنها، سادگی پیاده سازی و نگهداری آنها است. همچنین این قابلیت را دارند که در سیستم های بزرگی که دارای افزونگی زیاد اطلاعات هستند بدون افت کیفیت مورد استفاده قرار بگیرد. از دیگر خصوصیت بارز آنها نگهداری از اطلاعاتی است که موسوم به non-structured یا همان “بی ساختار” هستند می باشد. یعنی بر خلاف نوع قبل، اجباری بر یکسان بودن حتمی اطلاعات در این نوع پایگاه داده وجود ندارد. همینطور این اطلاعات می توانند دارای حجم بالایی باشند.
شاید بتوان گفت دیتابیس های Relational با افزایش میزان اطلاعات تا حدودی چابکی اولیه خود را از دست بدهند. اما این مورد در دبتابیس های NoSQL وجود ندارد. شما میتوانید بدون در نظر گرفتن ساختار ثابتی اطلاعات را به چندین روش در آنها ذخیره و با سرعت بالایی فراخوانی کنید. این قابلیت ذخیره اطلاعات باعث به وجود آمدن انواع مختلفی از این نوع دیتابیس ها شود که در ادامه به توضیح مختصری خواهم پرداخت.
انواعی از دیتابیس های NoSQL:
انواع مختلفی از دیتابیس های NoSQL در دسترس است. به عنوان مثال میتوان از key-value ، گراف یا داکیومنت نام برد. هر کدام از آنها برای ذخیره نوع خاصی از اطلاعات کاربرد دارند. بهتر است با تحلیل دقیق اطلاعاتی که قصد ذخیره آنها را داریم مناسب ترین نوع آنها متناسب با هدف انتخاب نمود.
پایگاه داده های Key-value یا همان کلید-مقدار:
شاید بتوان آنها را ساده ترین نوع و در عین حال پر کاربرد ترین نوع پایگاه داده NoSQL در نظر گرفت. کاربرد اصلی آنها در اطلاعاتی است که تعدد نوشتن در آنها کم و خواندن از آنها بسیار زیاد باشد. برای ذخیره اطلاعات در اینگونه دیتابیس ها از کلید و مقدار استفاده می شود. شاید بتوان اینگونه گفت که key نام خصوصیت و value مقدار خصوصیت را در دل خود نگه می دارد. در زیر تصویر ساده ای برای درک شیوه نگهداری اطلاعات در این نوع دیتابیس آورده شده است.
پایگاه داده های Document یا همان سندی:
این نوع دیتابیس هم از ساختار مشابهی مانند دیتابیس های Key-Value استفاده میکند، با این توان که قابلیت نگهداری اسنادی مانند Json یا XML را در دل خود دارد. به دلیل داشتن این قابلیت این نوع از پایگاه داده نیز کاربرد زیادی در استفاده در نرم افزارها و وب سایت ها بخود اختصاص داده است. فرض کنید میتوان اطلاعات هر کالا را به صورت سندی از Json یا XML در سیستم نگهداری کرد.بدون آنکه نیاز باید ستون های مختلفی برای نگه داشتن خواص مختلف یک کالا در دیتابیس ایجاد کرد.
پایگاه داده های Wide-Column
در سرویس های بزرگ که نیاز به استخراج و نمایش سریع اطلاعات مورد نیاز باشد بکار گرفته می شوند. شمای کلی آنها تا حدودی مانند دیتابیس های Relational می باشد. منتها تفاوت های فاحشی بین آنها وجود دارد. به عنوان مثال نوع اطلاعات ذخیره شده در هر ستون می تواند با سطر بعدی متفاوت باشد، چیزی که در دیتابیس های Relational در واقع غیر ممکن است.
با توجه به سرعت استفاده از این نوع پایگاه های داده، نمیتوان اینطور فرض کرد که دیگر عمر پایگاه های داده Relational یا رابطه ای به پایان رسیده است. هنوز هم اگر اطلاعاتی که قصد ذخیره آنها را داریم به صورت ساختار یافته و منظم باشد، دیتابیس های NoSQL نمی توانند حریف آنها باشند. زیرا در واقع میتواند از ایرادهای پایگاه های داده NoSQL به این مورد اشاره کرد که قابلیت از دست دادن صحت اطلاعات در آنها وجود دارد.
برخی از دیتابیس های NoSQL پر کاربرد:
منگو دی بی – MongiDB:
پر استفاده ترین دیتابیس Document یا سندی می باشد. برای ذخیره اطلاعات از فرمت Json استفاده می کند. به همین دلیل در صورتی که پراکندگی ساختار اطلاعات بالایی وجود داشته باشد ، جزو بهترین گزینه هاست. در ضمن قابلیت یادگیری بالایی نیز دارد.
کاساندرا – Cassandra:
این پایگاه داده متن باز عرضه شده است و از نوع Wide-Column می باشد. قابلیت بسیار بالایی برای خواندن و نوشتن حجم زیادی از داده ها دارد. به همین دلیل مناسب برای پروژه های بزرگ و enterprise می باشد.
ردیس – Redis:
این پایگاه داده از توع Key-Value بوده از حافظه Ram برای نگهداری اطلاعات استفاده می کند. بیشتر برای Cache یا بعنوان Message Broker مورد استفاده قرار می گیرد.
دیدگاهها
sina
مقاله اموزنده ای بود دم شما گرم
مهدی حسینی
خوشحالم که براتون مفید بوده دوست عزیز
دیدگاه شما