Basics of NoSQL Databases - MongoDB स ब एसई प ठ यक रम पर आध ररत कक ष -11 द व र : स ज व भद र य स न तक त त श क षक (स गणक शवज ञ न ) क ० शव० ब ब क (लखनऊ स भ ग)
पररचय ऄभ तक हमन जजतन databases क ब र म ज न व सभ SQL अध ररत databases ह, जजनम एक table, row, fields,records आत य दद ह त ह ल दकन जबन structure य record क भ databases स भव ह - NoSQL ऄथ त Not Only SQL Databases ऐस ह database ह त ह आस ऄध य य म हम ऐस ह NoSQL databases क ब र म ज न ग
NoSQL Databases य एक प रक र क non-relational database ह त ह जजनक क इ प रजतब जधत(Strict) य द ढ़ (rigid) अक र नह ह त य प र पररक table क ऄधर पर record क नह store करत ह य clusters म run करत ह और web क प म न पर data क store कर सकत ह आनक scalability बह त ह त ह य एक प रक र स स म न य भ ष म bigdata कह ज त ह आस प रक र क databases क प रय ग करन व ल ऄपन बह त स app य web apps द ख ह ग ज स Google Mail, Google Earth, Ebay, LinkedIn, facebook, Amozon आत य दद प र जवश व क users क बह त fast response time जमलत ह सभ प रक र क ड ट क handle करन म सक षम ह वह भ जबन दकस र कट क क नए feature और fast update क त र त adopt कर ल त ह आसम down time नह अत ऄथ त हम श performance द त ह
NoSQL Databases क प रक र 1. Key-value Databases 2. Document Databases 3. Column family stores Databases 4. Graph Databases Key-Value databases ठ क व स ह ह त ह ज स python dictionary. य बह त ह स ध रण और flexible ह त ह आनक ईद हरण Cassandra, Amazon DyanmoDB, ATS (Azure Table Storage, Riak, BerkeleyDB ह
Document Databases य key-value databases क अग क र प ह त ह आसम key-value pair एक structured य semistructured र प म document क फ म म store ह त ह आसम keys सद व string क र प म ह त ह और values दकस भ प रक र क ह सकत ह यह MS office document, PDFs, XML, JSON,BSON क र प म ह सकत ह JSON (JavaScript Object Notation) तथ BSON (Binary JSON) JSON एक open, म नव तथ मश न द व र समझ ज न व ल standard ह त ह और modern web पर data interchange क जलए आसक म ख य फ म ट XML ह त ह JSON क प रय ग हमन Python dictionaries ऄध य य म पढ़ थ आसक ईदह रण - MongoDB, Couch DB DocumentDB आत य दद ह
Column Family Store Database आन ह column store य column family database कह ज त ह तथ यह column oriented म डल ह त ह Column family एक storage mechanism ह त ह जजसम कइ rows ह सकत ह प रत य क row म कइ column ह सकत ह आसम एक row key ह त ह जजसक ऄ तग त ईस row म कइ क ल म नन स ह सकत ह ज स क बगल व ल जचत र म ददख य गय ह आसक ईदह रण - Hbase, Cassandra, HyperTable आत य दद ह
Graph Database यह ड ट क store करन क जलए grafical म डल क प रय ग करत ह यह object क प रदर शशत करन क जलए nodes क प रय ग दकय ज त ह जबदक edges क प रय ग ईन nodes क मध य relation दश न क जलए दकय ज त ह आसक ईदह रण - Neo4j, Blazegraph, Titan आत य दद ह
NoSQL Databases क Advantages और Disadvantages Advantages: Flexible Data Model य बह त flexible database ह त ह जजनम दकस भ type क ड ट store दकय ज सकत ह Evolving Data Model जबन system क down दकय schema म बदल व कर सकत ह Elastic Scalability अप कम क मत पर बध त बड़ database store दकय ज सकत ह High Performance आसक throughput और latency द न क समय बह त कम ह त ह Open Source आसक जलए दकस प रक र क भ गत न करन क अवश यकत नह और ऄपन ऄन स र बदल व भ स भव ह Disadvantages: Lack of Standardization NoSQL database क म नक प रद न करन क क इ जनयम नह ह Backup of Database NoSQL databases म सबस बड़ कम backup क ह ह ल दक MongoDB backup क जलए tool प रद न करत ह परन त वह ऄभ ईतन ऄच छ नह ह Consistency NoSQL database, consistency क performance और scalability क अग ग भ रत स नह ल त ह ऄथ त यह ड ट क duplicacy अस न स ह ज त ह
MongoDB क स थ क य करन MongoDB एक document-oriented NoSQL database ह यह dynamic schemas क सप ट करत ह ज दक JSON फ म ट म ड ट क प रदर शशत करत ह यह एक free open source software ह ज high scalability और high performance द त ह MongoDB Terminology MongoDB Term Description SQL Term Field एक name-value pair ज एक प रक र क information रखत ह Column Document Locally related fields क सम ह Row/record Collection Related documents क सम ह Table Database Collections क container. एक MongoDB server म कइ database ह सकत ह Database Primary key Unique field ज document क identify करत ह Primary key
MongoDB क install करन जनम न ललक क ब र ईज़र पर प स ट कर य आसक open कर https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/#install-mdb-edition मह स msi version ड उनर ड कय
MongoDB क install करन MSI file क open करक MongoDB install कररए जब आनस ट ल ह ज य त जनम न path पर ज कर check कर ल दक mongodb.exe file और mongo.exe file ह य नह C:\Program Files\MongoDB\Server\4.0\bin ईसक ब द जनम न c:\ पर data फ ल डर और ईसक ऄन दर db फ ल डर बन य ऄथ त c:\data\db ऄब व पस command window स C:\Program Files\MongoDB\Server\4.0\bin location पर ज कर mongod क run कर और जब mongod run ह ज य त ईस ब द न कर ऄब द सर command window open कर ईस path पर mongo क run कर द जजय
MongoDB क start करन म ह mongodb क installer ज रगबग 190 MB क ह इसक इनस ट र कयन ऩय मह program files भ install ह ज त ह भ य क प म टय भ मह C:\Program Files\MongoDB\Server\4.0\bin path ऩय इनस ट र ह आ ह आऩ अऩन system भ path द ख र जजम इस हभ windows क path भ ब ज ड़ सकत ह Mongo क run ह न क लरए mongod क ऩहर स running state भ ह न आवश मक ह अफ आऩ mongo ऩय commands द न क लरए त म य ह
S.N. Data Type MongoDB Data Types DataType Number S.N. Data Type DataType Number 1. Double 1 10. Null 11 2. String 2 11. Regular Expression 12 3. Object 3 12. JavaScript 13 4. Array 4 13. Symbol 14 5. Binary Data 5 14. JavaScript with scope 15 6. Undefined 6 15. Integer 16 and 18 7. Object Id 7 16. Timestamp 10 8. Boolean 9 17. Min Key 255 9. Date 10 18. Max Key 127
MongoDB क basic commands Database create करन MongoDB म ऄलग स database create करन क अवश यकत नह ह त ह ज स ह अप पहल information database म insert करत ह त database स वत त य र ह ज त ह Current Database क प रदर शशत करन >show dbs >show cllections Database क use करन >use mydb CRUD operations य operations जनम न ह - Create Read Update Delete इन ह CRUD operation कह ज त ह यह database क श कर ग यह current database म collections क श कर ग
MongoDB क basic commands Save operation द व र database त य र करन MongoDB म ऄलग स database create करन क अवश यकत नह ह त ह ज स ह अप पहल information database म insert करत ह त database स वत त य र ह ज त ह अप collection म ड ट save य insert कम ड क द व र प रजवष ट कर सकत ह db.<collection-name>.save({<document details>}) ब द म हम show collections कम ड चल कर द ख सकत ह दक collection बन य नह >USE <DatabaseName> स भ database बन सकत ह जनम न ईदह रण म school database बन कर ईसम 1 collection insert कर य गय ह
MongoDB क basic commands Save operation द व र database त य र करन आसक द व र हम एक स थ कइ documents भ insert कर सकत ह ध म न द जजम क मह 2 document insert ह ए ह जब अप document insert करत ह तब mongodb स वत एक field और ज ड़ द त ह _id जजसक value वह स वय बढ़त क रम म set करत ह और यह प रदक रय हम ददख इ नह द त ह यदद हम च ह त _id क value हम स वय insert करत समय provide कर सकत ह Save य insert क प रय ग करक यदद अप दकस document क insert करत ह और अपक ददए गए database और collection स न म नह जमलत ह त
MongoDB क basic commands Insert operation द व र database त य र करन अप collection म ड ट insert कम ड क द व र भ प रजवष ट कर सकत ह db.<collection-name>.insert({<document details>}) ब द म हम show collections कम ड चल कर द ख सकत ह दक collection बन य नह जनम न ईदह रण म school database बन कर ईसम 1 collection insert कर य गय ह आसक द व र भ save क भ जत multiple documents क insert करन क जलए जनम न कम ड प रय ग करत ह - >db.teachers.insertmany([{name: Ratan },{name: Krishna,age:45}])
MongoDB क basic commands Object Create करक भ documents क insert दकय ज सकत ह मह stud एक valid mongodb ऑब ज क ट ह एक object म क इ field ऐस भ ह सकत ह ज ख द एक object ह मह stud भ एक field ह address जजसक value एक ऑब ज क ट ह addr
MongoDB क basic commands Object म array भ ह सकत ह ईदह रण क जलए Name: Himanshu Class:11 Section: A Subjects: English, Hindi, Maths, Physics, Chemistry मह Subjects एक array ह
MongoDB क basic commands Read Operation: Read operation क प रय ग database क collection स documents क access करन क जलए दकय ज त ह जजसक जलए जनम न syntaxes ल प रय ग करत ह >db.<collection-name>.find() collection क स र documents क show कर ग >db.<collection-name>.findone() यह जसफ एक record show कर ग >db.<collection-name>.findone({<key>:<value>}) क य करत ह यह search criteria क ज स मदद क ई record match नह ह त ह त null return ह त ह
MongoDB क basic commands Read Operation: pretty( ) documents क सह प रक य स सह indentation भ JSON प भ ट भ print कय द त ह
MongoDB क basic commands Read Operation: ऊऩय क उदह यण क अन स य कभ ड द न ऩय लसपफ name field ह प रदलशफत ह ग वह ब _id क स थ मदद _id प रदलशफत नह कयन च हत त ननम न प रक य कभ ड द न ह ग
MongoDB क basic Operators Comparison Operator: ऄन य databases क तरह mongodb भ operators प रद न करत ह त दक हम सह स delete, read य update operation क perform कर प य Operator Name $eq $gt $gte $lt $lte $ne Meaning Equal to Greater than Greater than or equal to Less than Less than or equal to Not equal to
MongoDB क basic Operators Comparision Operator: यदद conditional based य range द न ह त जनम न प रक र द ग {field:{$gte:<lower value>, $lte:<upper value>}}
MongoDB क basic Operators Condition based on List/Array Operator Name { field :{ $in : [ val1,val2,..... ] } } { field :{ $nin : [ val1,val2,..... ] } } $in $nin Meaning In Not In Section match कयन ऩय ड ट show ककम र ककन match न कयन ऩय ड ट नह ददख म
MongoDB क basic Operators Logical Query Operators { field :{ $not :{<op-exp>}} } { field :{ $and :[{<op-exp>}, {<op-exp>},..]} } { field :{ $or :[{<op-exp>}, {<op-exp>},..]} } Operator Name $not $and $or Meaning Logical NOT Logical AND Logical OR
Update Operation: Update operation क प रय ग द तरह स दकय ज त ह >update/updateone ऄथव >updatemany (आनक स थ $set operator प रय ग दकय ज त ह ) >db.<collectionname>.update/updateone({query-exp},{$set:{<field1>:<val1>,... }} सभझ न क लरए मह उदह यण लरम ह अन मथ हभ श फदर व primary key क स थ ककम ज न च दहए मह जजसक age 12 स र थ उसक न भ Hari Prakash ह गम ह मदद स भ न matching व र एक स अधधक records भ changes कयन ह त updatemany( ) क प रम ग कय ग
Delete Operation: Delete operation क प रय ग द तरह स दकय ज त ह >deleteone ऄथव >deletemany >db.<collectionname>.deleteone({<filter Exp>}) एक स ज य द matching ह न पर भ एक record ह delete कर ग >db.<collectionname>.deletemany({<filter Exp>}) एक स ज य द matching ह न पर एक स ज य द delete कर ग Hari Prakash क record delete ह गम
धन यव द और ऄजधक प ठ य-स मग र ह त जनम न ललक पर जललक कर - www.pythontrends.wordpress.com