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.
2. 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
● ...
3. 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
4. {10: Reasons , To: Love
I.RELATIVELY EASY TO SETUP
In simple 3 steps MongoDb is start running on your machine
Step-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
}
5. {10: Reasons , To: Love
}
II.It’s fast
On average
7 times faster
6. {10: Reasons , To: Love
III. Easy Scalability
{ Does Anyone know about scaling MySql? }
}
9. {10: Reasons , To: Love
VI. Flexible Schema
{no schema: no problem}
}
10. {10: Reasons , To: Love MongoDb}
VII. Built in Sharding and Replication
11. {10: Reasons , To: Love
}
VIII. Courses are excellent to start working as a
developer/DBA with.
12. {10: Reasons , To: Love
}
IX. Deploy New Instances on Demand
13. {10: Reasons , To: Love
}
X. BASE Rather Than ACID
ACID
BASE
Atomicity
Basically Available
Consistency
Soft State
Isolation
Eventual Consistency
Durable
16. 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.
17. 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.
18.
19. 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.
20. What is Sharding?
Each shard is an independent database, and collectively,
the shards make up a single logical database.
21. 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
22. 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)
23. Purpose of Replication
Data Redundancy
●
Replica sets provide an automated method
for storing multiple copies of your data.
24. 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
25. 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 Recovery
Replica 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
26. 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.
27. 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.
28. Demo -: How to set up replica set on Production!
Click on below link to see the demo-:
http://youtu.be/BFSGcBHcirU