Hosting & Domaining Forum

Hosting & Domaining development => Programming Discussion => Databases => Topic started by: trarnewaink on Jun 05, 2023, 12:19 AM

Title: NoSQL, RDBMS or MongoDB?
Post by: trarnewaink on Jun 05, 2023, 12:19 AM
Hello!

During my interactions, I frequently encounter the inquiry, "What is the superior option for my website/application's database management system: NoSQL or RDBMS?" In response to such queries, I often suggest MySQL or PostgreSQL as a solution. However, individuals seem hesitant when it comes to utilizing MongoDB as their primary database platform. While I acknowledge that MongoDB cannot solve all issues, there are several tasks that it can proficiently handle.

Despite this potential, individuals still choose to opt for other database systems rather than consider MongoDB. My question is, why is there such skepticism surrounding MongoDB?
Title: Re: NoSQL, RDBMS or MongoDB?
Post by: Rushelaf on Jun 05, 2023, 01:32 AM
People who fear change and the unknown are commonly referred to as retrogrades. NoSQL databases, like any other system, have their own set of problems and benefits. It's important to understand when and how to utilize them effectively since some individuals try to use them in the same way as traditional databases, only to be surprised when their solution doesn't function properly. In contrast, NoSQL databases, such as MongoDB, excel at saving relatively small data structures while allowing for quick retrieval and scaling.

This makes them suitable for situations such as a telephone directory with an ever-growing list of numbers that can't fit on a single machine. However, they may not be ideal for those seeking clear transaction records, as data integrity is based on events rather than strict records. Despite the advantages of NoSQL, MySQL and other relational databases may have their own advantages. It's crucial to carefully consider each database's strengths and weaknesses before deciding which one to use for a specific task.
Title: Re: NoSQL, RDBMS or MongoDB?
Post by: bignamn on Jun 05, 2023, 03:38 AM
I fully believe in the future of NoSQL and I don't harbor any skepticism towards it. There is a large market niche that they are starting to occupy and I believe this will continue to grow. A similar situation in the past was seen with PHP, which many people were skeptical of but became a mass language for web development.

On the topic of NoSQL issues, the main problem is the task that it is trying to solve. RDBMS used to execute complex queries and combine data from different tables, which slowed it down. To solve this issue, various caches were put in place. Then NoSQL appeared and offered a simpler solution that allowed for volumes similar to Oracle to be stored on a single server. However, data stored in NoSQL is not in a normal form, which creates problems.
When the database structure is adjusted to a specific request, this leads to duplicate data. As a result, synchronizing data becomes a nightmare, and control of referential integrity falls on application coders. Eventually, it becomes more expensive to complicate the logic controlling work with the database than to throw the project into the trash and rewrite everything back to normal RDBMS. This highlights the importance of why the classical form of data is called "normal" in science.
Title: Re: NoSQL, RDBMS or MongoDB?
Post by: Bismfaisk on Jun 05, 2023, 05:33 AM
If you had an ideal server with unlimited RAM memory, speed, and stability, you could store all your data in memory/variables instead of a database. This would allow you to operate with objects in your application instead of tables, making it more convenient and faster. NoSQL is based on this approach. Laying out plates was an approach from the 80s that aimed to win memory and speed, but became irrelevant once servers became more reliable.

Relational and non-relational data are often thrown around as buzzwords, but Monga solves most problems in a different way. If you need joins or transactions, ArangoDB or OrientDB may be worth trying. According to professional presenters on Radio-T'e, Mongi is sufficient for 99% of tasks. So if you encounter that 1% somewhere in your project, there's no need to translate the entire project into SQL. Instead, just do that task in SQL without touching the rest of the project.

Nowadays, many people try to write everything in one language, even if it's not the most efficient choice. Rather than optimizing a piece of PHP in C++, they convert the entire project to C++. Similarly, instead of building a chat feature on an asynchronous framework, they translate the entire project or blog to an asynchronous framework.
Title: Re: NoSQL, RDBMS or MongoDB?
Post by: bpyuirtxde on Dec 13, 2023, 03:00 AM
From my perspective, the unease might stem from a variety of factors in the tech and web development community.
Firstly, there could be a perceived inertia within the industry. Developers and organizations may be accustomed to using relational database management systems (RDBMS) like MySQL or PostgreSQL, which have been established for a longer period. The familiarity and comfortability with these systems could lead to a reluctance to shift towards newer technologies such as NoSQL databases like MongoDB.

Secondly, there might be concerns about the maturity and robustness of MongoDB. Some developers and decision-makers could harbor doubts regarding the stability and scalability of MongoDB in comparison to the tried-and-tested RDBMS solutions. This hesitation could be exacerbated by instances of past challenges or criticisms associated with MongoDB deployments.

The architectural differences between MongoDB and RDBMS might contribute to the skepticism. The flexible and schema-less nature of MongoDB can be perceived as both a strength and a weakness. While it provides agility for certain use cases, others might view this flexibility as a potential source of complexity and inconsistency, especially in scenarios where data integrity is paramount.

Misperceptions about the suitability of MongoDB for specific types of applications might play a role. Some individuals may not fully grasp the capabilities and optimal use cases for MongoDB, leading to an underestimation of its potential benefits for certain projects.

Dispelling these doubts and misunderstandings surrounding MongoDB is crucial. Educating developers, architects, and decision-makers about the strengths, weaknesses, and suitable applications of MongoDB can go a long way in fostering confidence and appreciation for this powerful NoSQL database.
The skepticism surrounding MongoDB appears to stem from a blend of industry inertia, concerns about maturity and robustness, architectural differences, and misperceptions about its applicability. Addressing these factors through targeted education and awareness-building efforts can help alleviate the skepticism and highlight the compelling value proposition that MongoDB offers in the realm of database management for websites and applications.