Top Banner
MongoDB OPEN-SOURCE DOCUMENT DATABASE – AN INTRODUCTION DINKAR THAKUR [email protected] DINKAR THAKUR 1
18

MongoDB - An Introduction

May 10, 2015

Download

Software

Dinkar Thakur

This is an introduction about the MongoDB. It includes basic MongoQueries. Not a advance level of presentation but provide nice information for the starters
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MongoDB - An Introduction

DINKAR THAKUR 1

MongoDBOPEN-SOURCE DOCUMENT DATABASE – AN INTRODUCTION

DINKAR THAKUR

[email protected]

Page 2: MongoDB - An Introduction

DINKAR THAKUR 2

Why NoSQL NoSQL databases are more scalable and provide superior performance, and addresses several issues that the relational model is not designed to address:

Large volumes of structured, semi-structured, and unstructured data. Agile sprints, quick iteration, and frequent code pushes. Efficient, scale-out architecture instead of expensive, monolithic architecture. Dynamic Schemas. Sharding. Integrated Caching.

Page 3: MongoDB - An Introduction

DINKAR THAKUR 3

Document Database Each record and is associated data is thought of as a “document”. Every thing related to a database object is encapsulated together. MongoDB has flexible schema, Unlike the SQL Databases, where you must

determine and declare a table’s schema before inserting data.

SQL TERM MONGODB TERM

database database

table collection

index index

row document

column field

joining embedding & linking

MongoDB’s collections do not enforce document structure. This means every row can have it’s own structure.

Page 4: MongoDB - An Introduction

DINKAR THAKUR 4

Document Structure MongoDB stores data in the form of documents, which are JSON-like

objects and value pairs. Documents are analogous to structures in programming languages that

associate keys with values. Formally, MongoDB documents are BSON (Binary representation of JSON)

documents.The field name _id is reserved for use as a primary key. Its value must be unique in the collection, is immutable, and may be of any type other than an array.The field names cannot start with the dollar sign ($) character.The field names cannot contain the dot (.) character.The field names cannot contain the null character

Page 5: MongoDB - An Introduction

DINKAR THAKUR 5

Collections MongoDB stores all documents in collections. A collection is a group of related documents that have a set of shared

common indexes. Collections are analogous to a table in relational databases.

Now we Know the basic of MongoDB. Let’s start with it. You can follow installation instruction from http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/

Page 6: MongoDB - An Introduction

DINKAR THAKUR 6

Components :- mongod mongod is the primary daemon process for the MongoDB system. It handles data requests, manages data format, and performs background

management operations.

--help, -hReturns information on the options and use of mongod.

--versionReturns the mongod release number.

--config <filename>, -fSpecifies a configuration file for runtime configuration options. The

configuration file is the preferred method for runtime configuration of mongod. The options are equivalent to the command-line configuration options.

Page 7: MongoDB - An Introduction

DINKAR THAKUR 7

Components :- mongo and mongos The mongo shell is an interactive JavaScript shell for MongoDB, and is part of all

MongoDB distributions.

To display the database you are using, type dbThe command should return test, which is the default database. To switch

databases, issue the use <db> command, like “use logdatabase”

To list the available databases, use the command show dbs. To access a different database from the current database without switching your

current database context. Like “db.getSiblingDB('sampleDB').getCollectionNames()”

mongos for “MongoDB Shard,” is a routing service for MongoDB shard configurations that processes queries from the application layer, and determines the location of this data in the sharded cluster, in order to complete these operations. From the perspective of the application, a mongos instance behaves identically to any other MongoDB instance.

Page 8: MongoDB - An Introduction

DINKAR THAKUR 8

MongoDB CRUD Introduction(Query) In MongoDB a query targets a specific collection of documents. Queries specify criteria, or conditions, that identify the documents that

MongoDB returns to the clients. A query may include a projection that specifies the fields from the matching

documents to return. You can optionally modify queries to impose limits, skips, and sort orders. No Joins.

Page 9: MongoDB - An Introduction

DINKAR THAKUR 9

Data Modification – Insert Data modification refers to operations that create, update, or delete data. In MongoDB, these operations modify the data of a single collection. For the update and delete operations, you can specify the criteria to select

the documents to update or remove.

Page 10: MongoDB - An Introduction

DINKAR THAKUR 10

Update Update operations modify existing documents in a collection. In MongoDB, db.collection.update() and the db.collection.save() methods perform

update operations. The db.collection.update() method can accept query criteria to determine which

documents to update as well as an option to update multiple rows.

The following example finds all documents with type equal to "book" and modifies their qty field by -1.

db.inventory.update({ type : "book" }, { $inc : { qty : -1 } }, { multi: true })

The save() method can replace an existing document. To replace a document with the save() method, pass the method a document with an _id field that matches an existing document.

The following example completely replaces the document with the _id equal to 10 in the inventory collection

db.inventory.save({ _id: 10, type: "misc", item: "placard" })

Page 11: MongoDB - An Introduction

DINKAR THAKUR 11

Read Read operations, or queries, retrieve data stored in the database. In MongoDB, queries select documents from a single collection. For query operations, MongoDB provide a db.collection.find() method. The method accepts both the query criteria and projections and returns a cursor to the

matching documents.

Page 12: MongoDB - An Introduction

DINKAR THAKUR 12

Delete

The db.collection.remove() method removes documents from a collection.

You can remove all documents from a collection.db.inventory.remove({})

Remove all documents that match a condition.db.inventory.remove( { type : "food" } )

Limit the operation to remove just a single document.db.inventory.remove( { type : "food" }, 1 )

Page 13: MongoDB - An Introduction

DINKAR THAKUR 13

Continued…(Related Features) Indexes :-

MongoDB has full support for secondary indexes. These indexes allow applications to store a view of a portion of the collection in an efficient data

structure. Most indexes store an ordered representation of all values of a field or a group of fields. Indexes may also enforce uniqueness, store objects in a geospatial representation, and facilitate text search.

Read Preference :- By default, an application directs its read operations to the primary member in a replica set. Reading from the primary guarantees that read operations reflect the latest version of a

document. By distributing some or all reads to secondary members of the replica set, you can improve read

throughput or reduce latency for an application that does not require fully up-to-date data.Read Preference Mode Description

primary Default mode. All operations read from the current replica set primary.

primaryPreferred In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

secondary All operations read from the secondary members of the replica set.

secondaryPreferredIn most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

nearest Operations read from member of the replica set with the least network latency, irrespective of the member’s type.

Page 14: MongoDB - An Introduction

DINKAR THAKUR 14

Continued… Write Concern :-

A write operation is any operation that creates or modifies data in the MongoDB instance. In MongoDB, write operations target a single collection.

All write operations in MongoDB are atomic on the level of a single document.There are three classes of write operations in MongoDB: insert, update, and remove. Insert operations add new data to a collection. Update operations modify existing data, and remove operations delete data from a

collection. No insert, update, or remove can affect more than one document atomically.

Page 15: MongoDB - An Introduction

DINKAR THAKUR 15

Mongo Comparison

Page 16: MongoDB - An Introduction

DINKAR THAKUR 16

Advanced Features Indexing. Writes and Reads using memory only and data persistence. Write and Read Operations in a clustered environment. Sharding (automatic and manual) and Reading. Replication. GridFS.

Page 17: MongoDB - An Introduction

DINKAR THAKUR 17

Uses of MongoDB MongoDB has a general-purpose design, making it appropriate for a large

number of use cases. Examples include content management systems, mobile applications,

gaming, e-commerce, analytics, archiving, and logging. Easy integration with C,C++, Java, GO, Node.js, Perl, PHP, Python, Ruby, Scala

and C#

We can even use LINQ and lambda syntax on the MongoDB result set. That’s a big advantage over other when .net is used.

Page 18: MongoDB - An Introduction

DINKAR THAKUR 18

Thank you