From the 1980s to the internet era in the late 1990s, SQL databases dominated the development landscape. Large commercial applications, niche products, and custom applications of all types were based on SQL. Show
But the rise of the internet has changed application development profoundly. The amount of data, the structure of the data, the scale of applications, the way applications have developed have all changed dramatically. These changes have led organizations of all sizes to adopt NoSQL database technology. This article seeks to explain why NoSQL is growing in popularity and when is NoSQL a good choice for building applications. NoSQL was born from frustration with SQLThere is always a large amount of innovation in database technology from both academia and industry. NoSQL came out of industry, driven by the needs of the successful pioneers of both web-scale applications and infrastructure for search and advertising. The demands of these applications could not be served by SQL technology and each of the early companies developed new databases to meet their needs. Most of these were developed in-house and were later published as open source. Some stayed proprietary. The founders of MongoDB experienced frustration with SQL technology while building out DoubleClick, an early internet advertising firm that is now part of Google. After leaving DoubleClick, Dwight Merriman, Eliot Horowtiz, and Kevin Ryan founded MongoDB in 2007 to create the NoSQL database they always wanted. At the same time NoSQL databases started appearing, the public cloud was invented and has become an important way that database technology is delivered. What has happened in a broad sense is that the frustrations that led the early internet companies to create NoSQL databases are now shared by almost every organization. Digital transformation is the name for the trend toward serving customers using scalable, customizable internet and mobile applications. These applications are often hard to build and evolve rapidly using SQL technology. For this reason, from the mid-2000s to 2020 we have seen a steady rise in the adoption of NoSQL database technology. The rise of NoSQL is an important event in computer science and in application development because SQL has been so dominant for so long. Many other forms of database technology have come and gone, but few have had the wide adoption of NoSQL. By understanding the rise in popularity of NoSQL databases, we should be able to shed light on when it makes sense to use NoSQL. NoSQL covers a lot of different database structures and data models. (See Types of NoSQL Databases for more detail.) This discussion treats them all as a group and identifies the main reasons people are turning to NoSQL databases in general. When would you want to use NoSQL over SQL?NoSQL database technology is usually adopted for one or more of the following reasons:
If you have these requirements, then you should consider adopting a NoSQL database like MongoDB. Companies of all sizes, from small startups to established Fortune 100 companies, build leading-edge applications on MongoDB. The easiest way to get started for free with the most popular NoSQL database, MongoDB, is by trying out MongoDB Atlas, a fully managed version of MongoDB that runs on all the popular cloud platforms. When does a SQL database make sense?It is important to point out that while NoSQL has shown rapid growth, SQL databases are a great choice for many applications. There is widespread knowledge about SQL, a massive selection of products and supporting tools, and a huge community of trained developers and consultants. The discussion in Comparing MongoDB vs. PostgreSQL provides a more detailed comparison of the strengths of SQL vs. MongoDB. The key point of this article is that even in the face of SQL’s many strengths, NoSQL databases are making rapid progress for the reasons stated above. Related resources
Which AWS service would you choose that need a Schemaless database?Amazon QLDB
It is fully managed and designed to enable you to avoid complex setups required for managing ledger data with relational databases or blockchain. QLDB provides a SQL-like API, full transactional support, and a flexible document data model.
Which of the following AWS services allows a database to have flexible schema and supports document data models?DynamoDB supports both key-value and document data models. This enables DynamoDB to have a flexible schema, so each row can have any number of columns at any point in time.
Which of the following AWS service you should use if you want a serverless NoSQL database?Amazon DynamoDB is a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at any scale.
Which of the following is the most suitable AWS service you should select for document database?In general, you will find RDS, DynamoDB, and DocumentDB to be good initial choices with wide support for tooling, languages, and flexible data usage patterns. In this article, we discuss a variety of databases: relational, document, key-value, graph, in-memory, and search.
|