Reputation: 3629
I am planning to develop social networking app, I want to try a NoSQL solution can any one suggest is NoSQL is a suitable choice for developing these kind of applications.
Upvotes: 11
Views: 14240
Reputation: 9633
Coming at this in 2020, most definitely don't. Its a nightmare
Upvotes: 1
Reputation: 2375
NoSQL use cases: http://highscalability.com/blog/2010/12/6/what-the-heck-are-you-actually-using-nosql-for.html
Upvotes: 0
Reputation: 361
NoSQL is a perfect solution when designing social network apps. Probably developing your social network with MySQL may be easier at start, but later, when the app grows and the number of users grows too you will have to think how to manage a MySQL cluster, dealing with master-slave configs, etc. And that will be a big problem. With a NoSQL solution (I would recommend you MongoDB, this is the best from my point of view) you can just install new servers and create shards of your database. The horizontal scaling process will be very easy.
Upvotes: 0
Reputation: 10927
If you are mainly interested in navigating the network relationships, then I think it's fair to say that graph databases such as Neo4J and InifiteGraph are worth checking out. (Constant time navigation of links in the network.)
Upvotes: 3
Reputation: 9508
Based on the fact that most well known social networks already use non-relational databases of some kind, I'd say that it is suitable (either that or all of them are terribly terribly wrong :D)
In my opinion, a good candidate for NoSQL use is any system that deals with large (and I mean large) amount of user-generated data, such as social networks, tracking systems and such..
But, as others already said, a this or that technology won't make up for crappy design. So, when building anything that will have to scale well, I'd start from design and then look for a decently stable and documented technology that supports it. And if it is a non-relational database, so be it.
Upvotes: 1
Reputation: 6450
Good overall architecture and design is many times more important than simply picking a data technology; the latter won't magically make your site work. But yeah many of the leading NoSQL technologies would work fine, if your app design is good enough.
Upvotes: 7
Reputation: 185980
Firstly, NoSQL isn't a product or even a model. It's just a general catch-all phrase for any non-SQL data store.
NoSQL data stores are probably not suitable for a social networking app. Most of them won't even do a JOIN on your groups and members.
Upvotes: 1