Loading...

MongoDB in Hindi – Introduction

  • Introduction to MongoDB in Hindi
  • Features of MongoDB in Hindi
  • Difference between RDBMS and MongoDB in Hindi

Introduction to MongoDB

आज कल सभी बड़ी organizations में big data को store, process और analyse करने की आवश्यकता होती है। Big data की size बहुत अधिक होती है और यह unstructured form में होता है।

इसलिए traditional storage systems (relational databases) द्वारा इसे handle नहीं किया जा सकता है।

Traditional storage systems द्वारा big data को नहीं handle किये जाने के कारण कुछ नए प्रकार के data storage systems का invention हुआ है। इन्हे NoSQL databases कहा जाता है।

NoSQL databases ऐसे databases होते है जो data को store और manage करने के लिए relational model (table and row format) का प्रयोग नहीं करते है। साथ ही इन databases में operations (insert, update, delete आदि) perform करने के लिए SQL (Structured Query Language) का भी प्रयोग नहीं किया जाता है।

सभी NoSQL databases एक जैसे नहीं होते है। NoSQL databases अलग अलग models के आधार पर 4 categories के होते है।

  • Document Oriented
  • Graph Oriented
  • Key Value Oriented
  • Wide Column Oriented

NoSQL databases में सबसे अग्रणी MongoDB है। MongoDB एक open source document oriented NoSQL database है।

MongoDB में कोई भी record एक document होता है। MongoDB document असल में एक data structure होता है जो की field और value के pair से बना होता है। इसे आप C language में struct की तरह ही समझ सकते है।

MongoDB documents JSON objects की तरह होते है। MongoDB document के fields की values के रूप में दूसरे documents और arrays pass किये जा सकते है।

MongoDB के document oriented होने की कई advantages है। इनमें से कुछ निचे दी जा रही है।

  • सभी popular modern programming languages documents को objects के रूप में treat करती है। इससे उन languages द्वारा MongoDB documents को handle करना बहुत आसान होता है। 
  • एक MongoDB document में आप दूसरे documents को embed कर सकते है इससे MongoDB में joins perform करने की आवश्यकता नहीं होती है। 
  • MongoDB में dynamic schemas होते है जिनसे polymorphism बहुत तेजी से perform किया जाता है। 

ऊपर दी गयी advantages के अलावा MongoDB में SQL की तरह दो operations perform करने के लिए अलग अलग queries fire करने की आवश्यकता नहीं होती है। MongoDB में एक साथ कई operations execute किये जा सकते है।

MongoDB को C++ में लिखा गया है। इसके drivers और libraries को उनकी ही languages में लिखा गया है। उदाहरण के लिए Java द्वारा MongoDB को handle करने के लिए driver Java में ही लिखा गया है। लेकिन better performance के लिए कुछ drivers को C में लिखा गया है।

MongoDB cross platform है। इसे Windows, Linux, OS X और Solaris आदि के साथ use किया जा सकता है।

MongoDB collection और document के concept पर कार्य करता है और यह high performance, high availability और easy scalability provide करता है।

MongoDB का प्रयोग मुख्यतः high volume data storage के लिए किया जाता है। इसके अलावा इसे ऐसी applications के लिए data store करने के लिए use किया जाता है जिनमें high performance की आवश्यकता होती है।

MongoDB का development October 2007 में 10gen company के Eliot Horowitz और Dwight Merriman द्वारा शुरू किया गया था। इसकी first public release February 2009 में की गयी थी।

Adobe, Linked In और eBay जैसी बड़ी websites MongoDB को use करती है।

Features of MongoDB

MongoDB database के कुछ features निचे दिए जा रहे है। MongoDB की popularity में इन features का अहम् योगदान है।

High Performance

MongoDB अपनी high performance और data persistence के लिए जाना जाता है। MongoDB अत्यधिक load के दौरान भी data persistent रखता है। 

Data models को embed किये जाने की ability की वजह से MongoDB में I/O activity कम हो जाती है। इसके अलावा MongoDB में indexes faster queries perform करती है। 

Rich Query Language

MongoDB SQL को support नहीं करती है। Read/Write operations के लिए यह स्वयं की rich ad hoc query language use करती है। इस language द्वारा एक साथ कई operations execute किये जा सकते है। यह language SQL से fast होती है।

High Availability 

MongoDB आपको replication की facility provide करता है। इस facility को replica set कहा जाता है। Replica set असल में कई MongoDB servers का set होता है। ये server same data set को maintain करते है।

Replication facility के द्वारा system failure होने पर data automatically recover कर लिया जाता है। साथ ही यह facility data redundancy भी maintain करती है।

Horizontal Scalability

MongoDB horizontal scalability feature provide करती है। यह feature MongoDB में core functionality के रूप में add किया गया है। 

MongoDB में यदि load बढ़ता है तो उसमे और nodes (systems) को आसानी से जोड़ा जा सकता है और performance को maintain किया जा सकता है। इसे shredding कहा जाता है। जिसमे machines के clusters के बीच data को distribute कर दिया जाता है। 

Support for Multiple Storage Engines

MongoDB कई storage engines को support करता है। उनमें से कुछ के बारे में निचे बताया जा रहा है। 

  • WiredTiger Storage Engine
  • In-Memory Storage Engine
  • MMAPv1 Storage Engine

इसके अलावा MongoDB द्वारा pluggable storage engine API भी provide किया जाता है। 

Difference Between RDBMS and MongoDB

RDBMS और MongoDB के बीच पाए जाने वाले कुछ major differences के बारे में निचे बताया जा रहा है।

Table | Collection 

RDBMS में एक table की rows और columns होती है जिनमें data store किया जाता है। MongoDB में same structure को collection कहा जाता है। एक collection documents का group होता है। 

Row | Document 

जिस प्रकार RDBMS में rows में data store किया जाता है उसी प्रकार MongoDB में documents में data store किया जाता है। एक MongoDB document key value pairs का set होता है। 

Column | Field 

RDBMS में column किसी particular set की data values को बताते है। MongoDB में यही कार्य fields द्वारा किया जाता है। 

Joins | Embedded Documents 

RDBMS में दो tables से एक साथ data extract करने के लिए उन्हें join किया जाता है। MongoDB में यह कार्य documents को embedded करके किया जाता है। 

Primary Key | Default Key 

RDBMS में data को uniquely identify करने के लिए user द्वारा primary key create की जाती है। MongoDB यह कार्य स्वयं ही एक default key generate करके करता है। 

Data Integrity 

RDBMS में data integrity force की जाती है लेकिन MongoDB में इसकी आवश्यकता नहीं होती है। 

Normalization 

RDBMS में duplicate data को रोकने के लिए normalization की आवश्यकता होती है लेकिन MongoDB में इसकी भी आवश्यकता नहीं होती है।