معرفی 5 پایگاه داده معروف NoSQL

معرفی 5 پایگاه داده معروف NoSQL5 Popular NoSQL Databases

معرفی 5 پایگاه داده معروف NoSQL

توسط : admin
پایگاه های داده NoSQL در صنعت کامپیوتر همه گیر هستند و انتظار می رود متخصصین پایگاه های داده با این دیتا بیس ها آشنا باشند

 

در این مقاله میخواهیم ببینیم که یک پایگاه داده NoSQL چیست و چرا باید در مورد آن اطلاعات کسب کنیم. ما همچنین به بررسی ویژگی های 5 پایگاه داده مختلف NoSQL خواهیم پرداخت.

 

 

معرفی پایگاه های داده nosql

این یک توصیه جدی من به شماست، حتما در باره پایگاه های داده nosql اطلاعات کسب کرده و آنها را یاد بگیرید. در اینجا نگاهی گذرا به ضرورت پایگاه های داده میاندازیم .

  • در مصاحبه علوم داده خود با سوالاتی درباره پایگاه داده روبرو خواهید شد.
  • شما به عنوان متخصص داده ، تحلیلگر داده ، تحلیلگر تجارت و غیره به طور گسترده با پایگاه های داده کار خواهید کرد.
  • شما برای جمع آوری داده ها برای پروژه علوم داده به دانش پایگاه داده متکی خواهید بود.

 

و خیلی بیشتر!

 

حقیقت غیرقابل انکار این است که ما هم اکنون با سرعت و مقیاس بی سابقه ای در حال تولید داده هستیم. این واقعیت محض که فقط در یک ثانیه بیش از 8500 توییت و 900 عکس در اینستاگرام بارگذاری می شود ، توجهم را جلب می کند. ذهن را گیج می کند!. پایگاه داده های امروزی چگونه با چنین حجم داده ای کنار می آیند؟

 

پایگاه داده دیتابیس مونگو دی بی

 

برای مدیریت این مقدار داده ، به یک سیستم پایگاه داده توزیع شده نیاز داریم که بتواند چندین گره را اجرا کند و همچنین تفکیک پذیری بالا را تحمل کند. این بدان معناست که حتی اگر یکی از گره ها به هر دلیلی خراب شود ، سیستم باید یکپارچه کار کند. بنابراین تفکیک پذیری امری ضروری است. اکنون طبق قضیه CAPs ، ما نمی توانیم تفکیک پذیری ، در دسترس بودن و سازگاری را  همزمان داشته باشیم.

 

ما باید بین قابلیت دسترسی و سازگاری معامله کنیم. به عنوان مثال ، در یک برنامه بانکی ، مشتری باید موجودی صحیح را بدون توجه به اینکه از کجا به آن دسترسی دارد ، ببیند. نتایج می تواند چند ثانیه تأخیر داشته باشد اما باید بسیار سازگار باشد.

 

در این مقاله ، انواع مختلف پایگاه داده NoSQL ، ویژگی های آنها و زمان استفاده از هر نوع پایگاه داده را با هم بررسی خواهیم کرد.

 

  1. پایگاه داده NoSQL چیست؟
  2. انواع پایگاه های NoSQL
    پایگاه داده مستند
    پایگاه داده ارزش کلیدی
    پایگاه داده مبتنی بر ستون گسترده
    پایگاه داده مبتنی بر نمودار
  3. پایگاه های مختلف NoSQL
    MongoDB
    کاساندرا
    ElasticSearch
    آمازون DynamoDB
    HBase
     

پایگاه داده NoSQL چیست؟

شاید شنیده باشید که مردم می گویند پایگاه داده NoSQL هر پایگاه داده غیر رابطه ای است که هیچ ارتباطی بین داده ها ندارد. خوب ، این کاملاً درست نیست. آنها هم می توانند رابطه بین داده ها را ذخیره کنند اما به روشی متفاوت.

 

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

 

انواع پایگاه های NoSQL

اکنون که دانستیم پایگاه داده NoSQL چیست ، بیایید انواع مختلف پایگاه داده NoSQL را در این بخش بررسی کنیم.

 

1. پایگاه داده های NoSQL مبتنی بر سند(Document-Based)

پایگاه داده های مبتنی بر سند ، داده ها را در اشیا  JSON ذخیره می کنند. هر سند دارای جفت مقدار کلیدی مانند ساختار زیر است:

NoSQL Databases

 

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

 

NoSQL Databases

 

برخی از نمونه های پایگاه داده های مستند MongoDB ، Orient DB و BaseX هستند.

 

2. پایگاه داده کلید-مقدار(Key-Value)

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

 

برخی از این مثال ها DynamoDB ، Redis و Aerospike است.

 

3. پایگاه های گسترده ستون محور(Wide Column-Based)

این پایگاه داده، داده ها را در رکوردهایی مشابه هر پایگاه داده رابطه ای ذخیره می کند اما توانایی ذخیره تعداد بسیار زیادی ستون پویا را دارد. ستونها را به طور منطقی در خانواده ستونها گروه بندی می کند.

 

به عنوان مثال ، در یک پایگاه داده رابطه ای ، چندین جدول دارید اما در یک پایگاه داده مبتنی بر ستون گسترده ، به جای داشتن چندین جدول ، چندین خانواده ستون داریم.

NoSQL Databases - Wide Column

نمونه های مشهور این نوع پایگاه های داده Cassandra و HBase هستند.

 

 

4. پایگاه داده های مبتنی بر نمودار(Graph-Based)

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

برخی از نمونه ها Neo4j ، Amazon Neptune و غیره هستند.

حال ، بیایید نگاهی به برخی از پایگاه های داده NoSQL و ویژگی های آنها بیندازیم.

 

لیست پایگاه های مختلف NoSQL

 

1. MongoDB

MongoDB پرکاربردترین پایگاه داده مبتنی بر اسناد است. این پایگاه داده اسناد را در اشیا JSON ذخیره می کند.

NoSQL Databases - MongoDB

 

طبق آمار وب سایت stackshare.io ، بیش از 3400 شرکت از MongoDB در پشته فناوری خود استفاده می کنند. Uber ، Google ، eBay ، Nokia ، Coinbase برخی از آنها هستند.

 

چه موقع از MongoDB استفاده کنیم؟

  1. در صورتی که قصد دارید صدها منبع مختلف داده را با هم ادغام کنید ، مدل مبتنی بر سند MongoDB بسیار مناسب خواهد بود زیرا نمای واحدی از داده ها را ارائه می دهد.
  2. وقتی از برنامه خود انتظار بسیاری از کارهای خواندن و نوشتن را دارید اما برخی از داده های از دست رفته در خرابی سرور برای شما اهمیت زیادی ندارد.
  3. می توانید از آن برای ذخیره داده های جریان کلیک و استفاده از آن برای تحلیل رفتار مشتری استفاده کنید.

اگر می خواهید با MongoDB بیشتر آشنا شوید این مقاله را مطالعه نمائید.

 

2. Cassandra

Cassandra یک سیستم دیتابیس منبع باز و توزیع شده است که در ابتدا توسط فیس بوک ساخته شده است (و انگیزه آن Google Big Table است). به طور گسترده ای در دسترس و کاملا مقیاس پذیر است. این دیتا بیس می تواند پتابایت اطلاعات را ذخیره و هزاران درخواست همزمان در ثانیه را کنترل کند.

 

 

باز هم ، طبق stackshare.io ، بیش از 400 شرکت از کاساندرا در پشته فناوری خود استفاده می کنند. فیس بوک ، اینستاگرام ، نتفلیکس ، اسپاتیفای ، کورسرا برخی از این موارد هستند.

 

چه زمانی از کاساندرا استفاده کنیم؟

  1. وقتی استفاده شما بیشتر از خواندن به عملیات نوشتن نیاز دارد.
  2. در شرایطی که شما به ثبات نسبت به دسترس پذیر بودن بیشتر نیاز دارید. به عنوان مثال ، می توانید از آن برای وب سایت های شبکه های اجتماعی استفاده کنید اما نمی توانید از آن برای اهداف بانکی استفاده کنید.
  3. به تعداد پیوندها و تجمیع های موجود در درخواست های خود به پایگاه داده نیاز دارید.
  4. ردیاب های سلامتی ، داده های آب و هوا ، ردیابی سفارشات و داده های سری زمانی موارد خوبی هستند که می توانید از پایگاه های داده Cassandra استفاده کنید.

 

 

3. ElasticSearch

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

 

اگر جستجوی متن کامل بخشی از موارد استفاده شما باشد ، ElasticSearch بهترین گزینه برای پشته فناوری شما خواهد بود. حتی امکان جستجو با تطبیق فازی را فراهم می کند.

 

 

بیش از 3000 شرکت از Elasticsearch در مجموعه فناوری خود از جمله Slack ، Udemy ، Medium و Stackoverflow استفاده می کنند.

 

چه موقع از ElasticSearch استفاده کنیم؟

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

 

4. Amazon DynamoDB

این یک سیستم دیتابیس توزیع شده مبتنی بر جفت کلید-مقدار است که توسط آمازون ایجاد شده و بسیار مقیاس پذیر است. اما متأسفانه منبع باز نیست. به راحتی می تواند 10 تریلیون درخواست در روز را کنترل کند ، بنابراین می توانید دلیل استفاده از آن را ببینید!

 

 

بیش از 700 شرکت از DynamoDB در مجموعه فناوری خود از جمله Snapchat ، Lyft و Samsung استفاده می کنند.

 

چه زمانی از DynamoDB استفاده کنیم؟

  1. درصورتی که به دنبال پایگاه داده ای هستید که بتواند پرس و جوهای ساده با کلید-مقدار  را مدیریت کند اما تعداد آنها بسیار زیاد است.
  2. در صورت کار با حجم کار OLTP مانند رزرو آنلاین بلیط یا بانکداری که داده ها باید بسیار سازگار باشند.

 

 

5. HBase

اچ بیس همچنین یک سیستم دیتابیس توزیعی بسیار متناسب و منبع باز است. HBase با JAVA نوشته شده و در بالای سیستم پرونده توزیع شده Hadoop (HDFS) اجرا می شود.

 

بیش از 70 شرکت از Hbase در مجموعه فناوری خود مانند Hike ، Pinterest و HubSpot استفاده می کنند.

 

چه زمانی از HBase استفاده کنیم؟

  1. حداقل باید پتابایت داده داشته باشید تا پردازش شود. اگر حجم داده شما کم است ، نتایج مطلوبی نخواهید گرفت.
  2. اگر مورد استفاده شما به دسترسی تصادفی و در زمان واقعی به داده ها نیاز دارد ، HBase گزینه مناسب خواهد بود.
  3. اگر می خواهید پیام های بلادرنگ را برای میلیاردها نفر ذخیره کنید.

 

سخن نهایی

دیتابیس های موجود در این مقاله به هیچ وجه یک لیست جامع نیست. تعداد بیشتری پایگاه داده NoSQL وجود دارد اما این پایگاه ها بیشترین استفاده را در صنعت دارند.

 

اگر با هر یک از این پایگاه های داده یا هر پایگاه داده NoSQL دیگری کار کرده اید ، در بخش نظرات زی با من در میان بگذارید. من خیلی دوست دارم در مورد تجربه شما بشنوم!

 

برچسب ها

نظرات :

در عرض چند دقیقه برای ایجاد حساب

کاربری خود اقدام کنید


اکنون حساب کاربری خود را ایجاد کنید!


ایجاد حساب کاربری

با ثبت نام در نیلوتک از آخرین بروز رسانی های آموزش ها و مقالات سایت مطلع شوید