Wednesday, June 24, 2015

When to choose MongoDB over mysql

choose MongoDB if you have any of the case below

High Write Load

MongoDB by default prefers high insert rate over transaction safety. If you need to load millions of data lines with a low business value for each one, MongoDB should fit. Don't do that with $1M transactions recording or at least in these cases do it with an extra safety.

High Availability

Setting replicaSet (set of servers that act as Master-Slaves) is easy and fast. Moreover, recovery from a node (or a data center) failure is instant, safe and automatic

Big Volume starting from 1GB and more ( Shard Your Data)

Databases scaling is hard (a single MySQL table performance will degrade when crossing the 5-10GB per table). If you need to partition and shard your database, MongoDB has a built in easy solution for that.

Location Based Data


MongoDB has built in spacial functions, so finding relevant data from specific locations is fast and accurate.

Schema is Not Stable

Adding new columns to RDBMS can lock the entire database in some database, or create a major load and performance degradation in other. Usually it happens when table size is larger than 1GB (and can be major pain for a system ). As MongoDB is schema-less, adding a new field, does not effect old rows (or documents) and will be instant

No comments: