+ All Categories
Home > Technology > MongoDb scalability and high availability with Replica-Set

MongoDb scalability and high availability with Replica-Set

Date post: 28-Jan-2015
Category:
Upload: vivek-parihar
View: 135 times
Download: 3 times
Share this document with a friend
Description:
One of the much awaited features in MongoDB 1.6 is replica sets, MongoDB replication solution providing automatic failover and recovery. MongoDB High Availabiltity with Replica Sets This talk will cover - • What is Replica Set? • Replication Process • Advantaged of Replica Set vs master/slave • How to set up replica set on production Demo This video is tutorial for setting up the MongoDb replica-set ion production environment. In this i took 3 instances which have already mongo installed and running. This tutorial consists-: 1.Setup the each instance of replica set 2.modify the mongodb.conf to include replica set information 3.configure the servers to include in replica set 4.then cross checking if we kill one primary then secondary becomes primary or not.
Popular Tags:
29
Scalability and High Availability with ReplicaSet @vparihar Vivek Parihar AVP Engineering,Weboinse Lab
Transcript
Page 1: MongoDb scalability and high availability with Replica-Set

Scalability and High Availability with ReplicaSet

@vparihar

Vivek PariharAVP Engineering,Weboinse Lab

Page 2: MongoDb scalability and high availability with Replica-Set

Who Am I?● A Weboniser and Rubyist● Blogger(vparihar01.github.com)● MongoDb user● Geek● DevOps● Mainly write Ruby, but have great passion for Javascript

and Cloud Platforms● ...

Page 3: MongoDb scalability and high availability with Replica-Set

Agenda● {10: Reasons, To: Love }● Scalability with ● What is Sharding?● What is Replica Set?● Replication Process● Advantaged of Replica Set vs Master/Slave ● How to set up replica set on production

Page 4: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } I.RELATIVELY EASY TO SETUP

In simple 3 steps MongoDb is start running on your machineStep-1. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Step-2. sudo apt-get install mongodb-10gen

Step-3. sudo /etc/init.d/mongodb start

Page 5: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } II.It’s fast

On average 7 times faster

Page 6: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } III. Easy Scalability

{ Does Anyone know about scaling MySql? }

Page 7: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } IV. High Availability

Page 8: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } V. High Performance

Page 9: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } VI. Flexible Schema{no schema: no problem}

Page 10: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love MongoDb} VII. Built in Sharding and Replication

Page 11: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } VIII. Courses are excellent to start working as a

developer/DBA with.

Page 12: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } IX. Deploy New Instances on Demand

Page 13: MongoDb scalability and high availability with Replica-Set

{10: Reasons , To: Love } X. BASE Rather Than ACID

ACID BASE

Atomicity Basically Available

Consistency Soft State

Isolation Eventual Consistency

Durable

Page 14: MongoDb scalability and high availability with Replica-Set

Horizontal Scaling Vs Vertical Scaling

Page 15: MongoDb scalability and high availability with Replica-Set

Scalability with ● Horizontal Scaling● Auto-Sharding● Vertical Scaling● Replica Set● Performance {For: Read, For: Write}● Storage

Page 16: MongoDb scalability and high availability with Replica-Set

Horizontal Scaling● By adding more machines into the existing pool.

● In a database world horizontal-scaling is often based on partitioning of the data i.e. each node contains only part of the data.

● MongoDB achieves this through auto-sharding.

Page 17: MongoDb scalability and high availability with Replica-Set

Vertical Scaling● Typically refers to adding more processors ,ram and

storage to a Symmetric Multiple Processing to extend processing capability.

● In a database world vertical-scaling is done through multi-core i.e. spreading the load between the CPU and RAM resources of that machine.

Page 18: MongoDb scalability and high availability with Replica-Set
Page 19: MongoDb scalability and high availability with Replica-Set

What is Sharding?● Sharding is a method for storing data across multiple

machines.

● Also known as Horizontal Scaling

● Divides the data set and distributes the data over multiple servers, or shards.

Page 20: MongoDb scalability and high availability with Replica-Set

What is Sharding?Each shard is an independent database, and collectively, the shards make up a single logical database.

Page 21: MongoDb scalability and high availability with Replica-Set

Sharding offerings:● Automatic balancing for changes in load and data

distribution● Easy addition of new machines● Scaling out to one thousand nodes● No single points of failure● Automatic failover

Page 22: MongoDb scalability and high availability with Replica-Set

What is Replication?● Replication is the process of synchronizing data across

multiple servers.● Mongo achieves Replication through Replica Sets● Replica sets are a form of asynchronous master/slave

replication● A replica set consists of two or more nodes that are

copies of each other. (i.e.: replicas)

Page 23: MongoDb scalability and high availability with Replica-Set

Purpose of Replication Data Redundancy ● Replica sets provide an automated method

for storing multiple copies of your data.

Page 24: MongoDb scalability and high availability with Replica-Set

Purpose of Replication Automated Failover / High Avalability ● If primary fails then replica set will

attempt to select another member to become the new primary.● This means that the failure of a

primary can be handled by the client without any configuration changes● Use heartbeat signal to detect failure

Page 25: MongoDb scalability and high availability with Replica-Set

Purpose of Replication ● Distributed Read Load/Read Scaling

By default, the primary node of a replica set is accessed for all reads and writes.

● Disaster RecoveryReplica sets allows for a “delayed secondary” node. This node can provide a window for recovering from disastrous events such as:

○ bad deployments ○ dropped tables and collections

Page 26: MongoDb scalability and high availability with Replica-Set

Replication Process● Members of a replica set replicate data continuously● MongoDB applies database operations on the primary

and then records the operations on the primary’s oplog. ● All replica set members contain a copy of the oplog,

allowing them to maintain the current state of the database.

Page 27: MongoDb scalability and high availability with Replica-Set

Advantages of Replica Set vs Master/Slave

● Replica sets are basically just master-slave with automatic failover.

● So, you have a pool of servers with one primary (the master) and N secondaries (slaves). If the primary crashes or disappears, the other servers will hold an election to choose a new primary.

Page 28: MongoDb scalability and high availability with Replica-Set

Demo -: How to set up replica set on Production!

Click on below link to see the demo-:

http://youtu.be/BFSGcBHcirU

Page 29: MongoDb scalability and high availability with Replica-Set

Thanks

Would Love to answer your queries...

Vivek Parihar@vparihar


Recommended