Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is MongoDB reliable? [closed]

Tags:

mongodb

nosql

I am developing a dating website and I am thinking of using a NoSQL database to store the profiles etc. I am currenly looking into the MongoDB and so far I am very pleased. The only worry is that I read on different websites that MongoDB is unreliable and not good.

I looked into the NoSQL alternatives and found no one that fully meets my specific criterias:

  1. Easy to learn and use.

  2. Fully compatible with PHP out of the box.

  3. Fast and well documented.

What do you think, am I doing the right thing to go with MongoDB or is it a waste of time?

Thankful for all input in the matter!

like image 735
Mark Denn Avatar asked Aug 17 '10 17:08

Mark Denn


People also ask

Is MongoDB a reliable database?

All MongoDB Atlas clusters are highly available and backed by an industry-leading uptime SLA of 99.995% across all cloud providers.

Does MongoDB have future?

The future scope of MongoDB is progressing with the changing climate and their steady and disciplined management and work skills will usher in a new era.

What are the disadvantages of MongoDB?

Cons: Data size in MongoDB is typically higher due to e.g. each document has field names stored it. less flexibity with querying (e.g. no JOINs) no support for transactions - certain atomic operations are supported, at a single document level.

Why MongoDB is not good for transaction?

MongoDB would not be well suited for applications that need: Multi-Object Transactions: MongoDB only supports ACID transactions for a single document. SQL: SQL is well-known and a lot of people know how to write very complex queries to do lots of things.


2 Answers

I researched MongoDB for my social service startup and it is definitely worth considering. MongoDB has a powerful feature set that makes it a realistic and strong alternative to RDBMS solutions.

Amongst them:

  1. Document Database: Most of your data is embedded in a document, so in order to get the data about a person, you don't have to join several tables. Thus, better performance for many use cases.
  2. Strong Query Language: Despite not being a RDBMS, MongoDB has a very strong query language that allows you to get something very specific or very general from a document or documents. The DB is queried using javascript so you can do many more things beside querying (e.g. functions, calculations).
  3. Sharding & Replication: Sharding allows you application to scale horizontally rather than vertically. In other words, more small servers instead of one huge server. And replication gives you fail-over safety in several configurations (e.g. master/slave).
  4. Powerful Indexing: I originally got interested in MongoDB because it allows geo-spatial indexing out of the box but it has many other indexing configurations as well.
  5. Cross-Platform: MongoDB has many drivers.

As for the documentation, there is not deluge but that is because this project only started in 2009; soon there will be plenty more. However there is enough to get started with your project. In addition to that you can check out Kyle Banker's MongoDB in Action, great resource.

Lastly, I had experience only with RDMBS prior to MongoDB, didn't know javascript or json and still found it to be very simple and elegant.

like image 148
rjgonzo Avatar answered Sep 21 '22 19:09

rjgonzo


Consider this related question on MongoDB and CouchDB - Fit for Production?

MongoDB has a showcase of Production Deployments as well. Be sure to analyze the uses of MongoDB rather than the size of the company.

like image 31
p.campbell Avatar answered Sep 22 '22 19:09

p.campbell