Global Data Science Forum

Expand all | Collapse all

NoSQL Databases

Jump to Best Answer
  • 1.  NoSQL Databases

    Posted Tue April 10, 2018 03:09 PM
    Hi!
    Why NoSQL databases like MongoDB are so popular now?
    I knew for decades that relational database is the only "true" way to manage the data, all other approaches would not provide the relevant data quality, due to document conflicts and so on.
    Lotus database is one of such examples.
    And now... we see the other way, the other world of non-relational aka NoSQL databases.
    Could anybody explain it in simple terms?

    ------------------------------
    Dmitry Mironov
    ------------------------------


  • 2.  RE: NoSQL Databases
    Best Answer

    Posted Fri April 13, 2018 02:56 PM
    Hi Dmitry, 


    With the growing amount of data that and individuals started to collect in the recent decade, and with the appearance of big data technologies, the demand for new storage types has emerged. The traditional relational databases were no longer able to handle the volume, and variety of big data.  The new generation of storage, NoSQL databases started to gain popularity to counterbalance the shortages of relational databases.

     "The major challenge with the growing data is its nonuniformity"  (Gupta et al., 2017).

    The incoming data can come from various sources in many formats such as social feeds, videos, photos, texts. While relational databases are also able to store all types of data, structured, unstructured and semi-structured, the latter two would need to be converted in order to fit it into the RDBMS. As opposed to this, NoSQL databases can store all types of data in large quantities continuously without any rigid schemes or limitations, therefore, they are able to deal with the volume, variety, and velocity of the big data. 

    Some of the main differences between SQL and NoSQL databases are the following:

    • Language: relational databases use SQL whilst NoSQL databases have no defined language
    • Scalability: SQL databases are while NoSQL are horizontally scalable
    • Community: due to the relational databases' maturity, they have more developed communities
    • Structure: relational databases are table based while NoSQL have different types - as discussed above

    NoSQL databases are not perfect though, they also have their disadvantages.

    One concern is security, as it is challenging to secure a NoSQL database. Although this problem may be solved in the future as the technology matures.

    Another problem is data consistency as NoSQL databases do not perform ACID transactions (Atomicity, Consistency, Isolation, Durability), which would ensure that the data remains consistent while moving it around.

    Lack of is also an issue as there is no specific query language or interface designed to deal with all type of NoSQL databases. Therefore, the learning curve for developers is steep.


    Hope this helps!

    Kind regards,
    Annamaria
    References:
    Gupta, A. et al. (2017) 'NoSQL databases: Critical analysis and comparison', in 2017 International Conference on Computing and Communication Technologies for Smart Nation (IC3TSN). IEEE, pp. 293–299. : 10.1109/IC3TSN.2017.8284494.
    Ribeiro, J. et al. (2017) 'NoSQL vs relational database: A comparative study about the generation of the most frequent N-grams', in 2017 4th International Conference on Systems and Informatics (ICSAI). IEEE, pp. 1568–1572. : 10.1109/ICSAI.2017.8248535.
    Shiff, L. (2018) NoSQL vs SQL: What's The Difference and How To Choose – BMC Blogs. Available at: https://www.bmc.com/blogs/sql-vs-nosql/ (Accessed: 18 March 2018).
    Tozzi, C. (2016) The Limitations of NoSQL Database Storage: Why NoSQL's Not Perfect | Big Data Technology Solutions and Information content from The VAR Guy. Available at: http://www.channelfutures.com/cloud-services/limitations-nosql-database-storage-why-nosqls-not-perfect (Accessed: 18 March 2018).



  • 3.  RE: NoSQL Databases

    Posted Sun April 15, 2018 08:15 AM
    Hi Annamaria,

    Thank you for so detailed reply!

    I agree that the main advatage of NoSQL databases is the ability to store unstructured data.
    But the main disadavntage is the lack of data consistency.
    You've mentioned also security problem, I'll read more about it.

    Best regards,
    Dmitry Mironov.

    ------------------------------
    Dmitry Mironov
    ------------------------------



  • 4.  RE: NoSQL Databases

    Posted Mon July 22, 2019 11:52 AM
    Thanks for the detailed explanation Annamaria!

    ------------------------------
    Ben Noelle
    Founder
    RetroSeasons.com
    ------------------------------



  • 5.  RE: NoSQL Databases

    Posted Thu May 02, 2019 05:17 PM
    > "Why NoSQL databases like MongoDB are so popular now?"

    I heard an interesting conversation about it it last night. It might be partially because no-SQL is a quick way for JavaScript programmers to store their JS objects in a database without a need to learn SQL. So a lot of new programmers are being taught no-SQL (MEAN/MERN stack) in coding bootcamps because it's quick and easy, and much of the online hype grew from there.

    There are some uses for no-SQL, but Postgres now supports JSON fields, so there is an option to use SQL while still having the ability to drop JSON into the database when needed. It depends on what you're building.



  • 6.  RE: NoSQL Databases

    Posted Wed May 15, 2019 03:17 PM
    Hello Dmitry,

    I agree with Annamaria's comments, nowadays companies with robust DBMS are updating and migrating to respond and propose solutions to problems of
    processing and storage of mass information for companies, taking into account the integration and compatibility with non-relational databases.

    The use of MongoDB is recommend as a NoSQL database, appropriate for the use of Big Data due its following characteristics:

    High performance. Support for embedded data models reduces the I / O activity in the database system. Indexes support faster and can include embedded
    document keys and arrays.

    Query language.
    MongoDB supports a rich query language to support read and write operations (CRUD), as well as data aggregation and text search and geospatial queries

    High availability.
    he MongoDB replication facility, called replica set, provides failover (automatic failover) and data redundancy.

    Support for multiple storage engines.
    MongoDB supports multiple storage engines, such as WiredTiger and MMAPv1.In addition, MongoDB provides a storage engine API, which allows third parties to
    develop storage engines for MongoDB.

    Horizontal scalability MngoDB provides horizontal scalability as part of its main functionality.

    Regards!

    Reference:
    García, M. C. (s.f.). MongoDB: Sharded Cluster. available at https://docplayer.es/70337227-Mongodb-sharded-cluster-carlos-garcia-munoz.html

    ------------------------------
    Armando Herrera
    ------------------------------