What are the characteristics of data that would encourage you to store it in a nosql vs relational database management system?
Any examples of how or why data is best managed by a nosql database or in JSON object format would be very helpful. I'm very comfortable with relational models and SQL but know that not all data is best managed this way. Just trying to wrap my mind around why it might be best to use Mongo vs MySQL for certain data. Thanks!!
Aayushi Gujarati The article you shared has good information, but it's extremely biased in favor of NoSQL over RDBMS databases.
Don't get me wrong, I'm a huge fan of document databases. I just think that such articles should be more objective. In this case, the article is written by a vendor of a NoSQL database.
Lisa F I'll try to respond tomorrow. It's been so busy. 😉
[Part 1 of 2]
Lisa F I'll start be saying I recommend all developers spend time working with both NoSQL and RDBMS. They're both great for different reasons and they both have their purposes.
Since the article, "Why No SQL" did a good job of highlighting the strengths of NoSQL, I'll try to focus on what I think it left out. That said, I don't think it will matter for small projects outside of the large enterprise environments.
Also, in an attempt to be brief, I won't explain what each section means. Google searches will do a better job. 😉
1. Distributed transaction and ACID support in RDBMSs with little to no support in NoSQL. However, some amount of data integrity is inherent with hierarchical JSON documents.
2. Schema consistency is inherent in RDBMS. NoSQL works well with unstructured data and requires more effort to maintain schema consistency.
3. Schema constraints and validations enforced on entity relationships and column data in RDBMs while NoSQL requires more work.
[Part 2 of 2]
4. Restricted access on views and operations on a granular level is not as strong in NoSQL.
5. RDBMS will perform better than NoSQL running complex queries.
6. SQL is a stable, powerful, and well established query language for RDBMS while NoSQL uses a number of proprietary query alternatives, depending on the vendor.
I'm not sure if this was helpful or even clear. But I don't think these will be major concerns for most small to medium projects.