Upload
vivek-parihar
View
130
Download
3
Tags:
Embed Size (px)
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.
Citation preview
Scalability and High Availability with ReplicaSet
@vparihar
Vivek PariharAVP Engineering,Weboinse Lab
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● ...
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
{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
{10: Reasons , To: Love } II.It’s fast
On average 7 times faster
{10: Reasons , To: Love } III. Easy Scalability
{ Does Anyone know about scaling MySql? }
{10: Reasons , To: Love } IV. High Availability
{10: Reasons , To: Love } V. High Performance
{10: Reasons , To: Love } VI. Flexible Schema{no schema: no problem}
{10: Reasons , To: Love MongoDb} VII. Built in Sharding and Replication
{10: Reasons , To: Love } VIII. Courses are excellent to start working as a
developer/DBA with.
{10: Reasons , To: Love } IX. Deploy New Instances on Demand
{10: Reasons , To: Love } X. BASE Rather Than ACID
ACID BASE
Atomicity Basically Available
Consistency Soft State
Isolation Eventual Consistency
Durable
Horizontal Scaling Vs Vertical Scaling
Scalability with ● Horizontal Scaling● Auto-Sharding● Vertical Scaling● Replica Set● Performance {For: Read, For: Write}● Storage
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.
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.
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.
What is Sharding?Each shard is an independent database, and collectively, the shards make up a single logical database.
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
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)
Purpose of Replication Data Redundancy ● Replica sets provide an automated method
for storing multiple copies of your data.
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
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
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.
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.
Demo -: How to set up replica set on Production!
Click on below link to see the demo-:
http://youtu.be/BFSGcBHcirU
Thanks
Would Love to answer your queries...
Vivek Parihar@vparihar