Article image NoSQL: concepts and practice

34. NoSQL: concepts and practice

Page 34 | Listen in audio

NoSQL, also known as "not just SQL", is an umbrella term that encompasses a wide range of database technologies that were developed to handle the performance, scalability, and flexibility demands that traditional database technologies face. Relational data can't handle it. In the context of programming, NoSQL is a fundamental tool for dealing with large volumes of distributed data.

NoSQL emerged as a response to the need to scale beyond the limitations of traditional SQL databases. With the growing popularity of the web and the advent of large volumes of data (Big Data), it became apparent that traditional database technologies were not able to handle the performance and scalability demands required. NoSQL was developed to fill this gap, offering a more efficient and flexible way to store and retrieve data.

NoSQL databases are particularly useful for working with large volumes of distributed data, as they are designed to be distributed across multiple machines, which makes them highly scalable. They are also flexible in terms of their data structure, meaning they can handle a variety of data types, including structured, semi-structured, and unstructured data.

Unlike traditional SQL databases, which use a rigid table structure and require all data to be normalized, NoSQL databases allow for a more flexible data structure. This means you can store data in ways that make sense for your application, rather than having to force the data to conform to a predefined structure.

There are four main types of NoSQL databases: key-value databases, document databases, wide column databases, and graph databases. Each of these types has its own characteristics and advantages, and choosing between them depends on the specific needs of your application.

Key-value databases are the simplest of the NoSQL databases. They store data as a set of key-value pairs, where the key is unique. This type of database is extremely fast and is ideal for scenarios where speed is more important than data complexity.

Document databases are a bit more complex. They store data like documents, which can contain many different keys and values. This type of database is ideal for scenarios where the data is semi-structured or unstructured, and where flexibility in data structure is important.

Wide column databases are designed to store data in columns rather than rows. This makes them ideal for scenarios where you need to perform operations on large volumes of data at once, such as Big Data analytics.

Finally, graph databases are designed to store data that is naturally represented as a graph. They are ideal for scenarios where the data has many interconnections, such as social networks or recommendation systems.

In summary, NoSQL is an essential tool for any programmer working with large volumes of distributed data. With its flexibility, performance and scalability, it offers a powerful alternative to traditional database technologies.

Now answer the exercise about the content:

_Which of the following statements is true about NoSQL?

You are right! Congratulations, now go to the next page

You missed! Try again.

Article image Web programming: basic concepts

Next page of the Free Ebook:

35Web programming: basic concepts

3 minutes

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text