آنها همچنین میتوانند به عنوان پایگاه دادههای بزرگ یا پایگاه دادههای ابری تعریف شوند. پایگاه دادههای NoSQL در مقایسه با پایگاه دادههای SQL سریعتر هستند بنابراین پایگاه دادههای NoSQL به عنوان بخشی از برنامههایی با Big Data به کار میروند. قبل از استفاده از هر پایگاه داده خاص NoSQL، ابتدا باید اجزای پایهای آن را بررسی کنید که هر کدام مجموعهای از عملکردها را شامل میشوند. در این مقاله، محبوبترین و بهترین پایگاههای NoSQL که در سال 2018 مورد استفاده قرار خواهند گرفت را بررسی میکنیم.
انواع پایگاههای NoSQL
Document Databases: این DB معمولا هر کلید را با یک ساختار داده پیچیده که سند نامیده میشود، جفت میکند. اسناد میتوانند شامل جفت کلید-آرایه (key-array) یا کلید-مقدار (key-value) یا حتی اسناد تو در تو باشند.
Key-value stores: هر آیتم واحد به عنوان یک جفت کلید-مقدار ذخیره میشود. این نوع پایگاه، سادهترین نوع پایگاه داده NoSQL است.
Wide-column stores: این نوع پایگاهها برای کوئری (پرس و جو) روی پایگاههای بزرگ بهینه شده است، و به جای ردیفها، ستونهای داده را کنار هم ذخیره میکند.
Graph stores: این نوع ذخیرهسازی اطلاعات مربوط به گرافها و شبکهها، مانند اتصالات دستهجمعی میباشد.
بهترین پایگاههای NoSQL در سال 2018 و 2019
MongoDB
Cassandra
Redis
HBase
Neo4j
Amazon DynamoDB
Couchbase
Memcached
CouchDB
1. MongoDB
در میان پایگاههای NoSQL، MongoDB شناختهشدهترین پایگاه است. Open-Source بوده و از نوع سندگرا (Document-oriented) میباشد. MongoDB مقیاسپذیر و قابل دسترس است. در C++ است. همچنین میتواند به عنوان سیستم فایل مورد استفاده قرار گیرد. در MongoDB، جاوا اسکریپت میتواند به عنوان زبان پرس و جو استفاده شود. با استفاده از بخشبندی (sharding) قابل مقیاسپذیری به صورت افقی است. همراه با فریمورکهای محبوب جاوااسکریپت بسیار مفید واقع میشود. عملکرد شگفتانگیز و ویژگیهای جدید آن، این پایگاه داده NoSQL را به رتبه اول لیست ما ارتقاء داده است. اشخاص بسیاری واقعا از ویژگیهای map-reduce، sharding، جستجوی پیشرفته متن و gridFS در سال 2018 لذت میبرند.
2. Cassandra
Cassandra یک سیستم ذخیرهسازی داده توزیعشده برای مدیریت حجم زیادی از دادههای ساختیافته میباشد. به طور کلی، این نوع دادهها در میان بسیاری از سرورهای commodity (سرورهای قابل دسترس، همه منظوره، استاندارد و بسیار سازگار) گسترش مییابند. Cassandra در توزیع داده انعطافپذیری بالایی دارد. همچنین میتوانید به سادگی ظرفیت دادههای ذخیرهشده و سرویسهای آنلاین خود را افزایش دهید. همانطور که گرهها در یک گروه (cluster) مشابه هستند، هیچ پیکربندی پیچیدهای برای توزیع آنها وجود ندارد. Cassandra در جاوا نوشته شده است. از MapReduce با Apache Hadoop پشتیبانی میکند. زبان کوئری Cassandra (CQL) زبانی مشابه SQL است.
3. Redis
Redis از نوع Key-value store است که معروفترین Key-value store میباشد. این پایگاه از C++، PHP، Ruby، Python، Perl، Scala و forth پشتیبانی میکند. Redis با زبان C ترکیب شده است.
علاوه براین، مجوز آن تحت BSD است.
4. HBase
HBase پایگاه داده توزیعشده و غیررابطهای است که برای پایگاههایی با جداول بزرگ، توسط گوگل طراحی شده است. یکی از اهداف اصلی HBase میزبانی از میلیونها سطر در میلیونها ستون میباشد. میتوانید هر زمان سرورها را برای افزایش ظرفیت اضافه کنید، و گرههای متعدد مستر، دسترسی بالای دادههایتان را تضمین خواهند کرد. HBase با جاوا 8 ترکیب شده است و مجوز آن تحت آپاچی است. این پایگاه برای استفاده از API جاوا جهت دسترسی مشتری ساده است.
5. CouchDB
CouchDB پایگاه اپن سورس NoSQL میباشد که از JSON برای ذخیرهسازی دادهها و از جاوااسکریپت به عنوان زبان پرس و جو استفاده میکند. CouchDB نوعی از سیستمهای کنترل چند نسخهای برای جلوگیری از انسداد فایل DB در هنگام نوشتن را به کار میبرد. Erlang است. مجوز آن تحت آپاچی میباشد. این پایگاه در سال 2016 به عنوان محبوبترین پایگاه NoSQL در رتبه اول قرار داشت.
ما در حال کار کردن روی 5 پایگاه دیگر برای بهترین پایگاههای NoSQL در سال 2017 و 2018 هستیم. در حال حاضر روی MariaDB تحقیق میکنیم که در میان برنامهنویسان بسیار محبوب است.
اخیرا نظرسنجیی از برنامهنویسان مختلفی که در گوگل پلاس و رسانههای اجتماعی در دسترس بودند گرفتیم. همه پایگاههای SQL و NoSQL را بررسی کردیم.
نظرسنجی بهترین پایگاههای NOSQL از برنامهنویسان حرفهای در +G:
نظرات کاربران در رابطه با این دوره