MongoDb scalability and high availability with Replica-Set


Published on

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.

Published in: Technology

MongoDb scalability and high availability with Replica-Set

  1. 1. @vparihar Scalability and High Availability with ReplicaSet Vivek Parihar AVP Engineering,Weboinse Lab
  2. 2. Who Am I? ● ● ● ● ● ● A Weboniser and Rubyist Blogger( MongoDb user Geek DevOps Mainly write Ruby, but have great passion for Javascript and Cloud Platforms ● ...
  3. 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. 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 --recv 7F0CEB10 Step-2. sudo apt-get install mongodb-10gen Step-3. sudo /etc/init.d/mongodb start }
  5. 5. {10: Reasons , To: Love } II.It’s fast On average 7 times faster
  6. 6. {10: Reasons , To: Love III. Easy Scalability { Does Anyone know about scaling MySql? } }
  7. 7. {10: Reasons , To: Love IV. High Availability }
  8. 8. {10: Reasons , To: Love V. High Performance }
  9. 9. {10: Reasons , To: Love VI. Flexible Schema {no schema: no problem} }
  10. 10. {10: Reasons , To: Love MongoDb} VII. Built in Sharding and Replication
  11. 11. {10: Reasons , To: Love } VIII. Courses are excellent to start working as a developer/DBA with.
  12. 12. {10: Reasons , To: Love } IX. Deploy New Instances on Demand
  13. 13. {10: Reasons , To: Love } X. BASE Rather Than ACID ACID BASE Atomicity Basically Available Consistency Soft State Isolation Eventual Consistency Durable
  14. 14. Horizontal Scaling Vs Vertical Scaling
  15. 15. Scalability with ● ● ● ● ● ● Horizontal Scaling Auto-Sharding Vertical Scaling Replica Set Performance {For: Read, For: Write} Storage
  16. 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. 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. 18. 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.
  19. 19. What is Sharding? Each shard is an independent database, and collectively, the shards make up a single logical database.
  20. 20. 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
  21. 21. 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)
  22. 22. Purpose of Replication Data Redundancy ● Replica sets provide an automated method for storing multiple copies of your data.
  23. 23. 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
  24. 24. 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
  25. 25. 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.
  26. 26. 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.
  27. 27. Demo -: How to set up replica set on Production! Click on below link to see the demo-:
  28. 28. Thanks Would Love to answer your queries... Vivek Parihar @vparihar