NoSQL Databases

Hasaranga Wijesinghe
3 min readFeb 26, 2022

What are NoSQL databases?

No SQL stands for “Not Only SQL” or “Not SQL” NoSQL databases are non-tabular databases and store data differently than relational tables. NoSQL databases come in several types, depending on the database schema. Instead of the columns and rows required by relational databases, information is stored as JSON documents.

History Of NoSQL

Carlo Strozzi used the term NoSQL in 1998 to describe his open-source relational database Strozzi NoSQL. then in 2000 Graph database Neo4j is launched, in the late 2000s Storage costs have dropped drastically.

Types of NoSQL databases

there are four types of NoSQL databases

  1. Key-Value databases - They are a simpler type of database where each item contains keys and values. tey are highly partitionable and allow horizontal scaling at scales that other types of databases cannot achieve.
  2. Document databases - They are primarily built for storing information as documents like JSON because it is an efficient data model for Developers. and also these can be used for storing XML documents.
  3. Wide-column stores -Tables, rows, and dynamic columns are used to store data.
  4. Graph databases -uses To specify the relationships between stored data points. store data in nodes and edges.

Features of NoSQL

Schema Free

  • There is no requirement for any kind of data schema specification.
  • Offers heterogeneous structures of data in the same domain
  • NoSQL databases are either schema-free or have relaxed schemas

Non-relational

  • The relational structure is never used in NoSQL databases.
  • Never provide tables with flat fixed-column records
  • Data normalization and object-relational mapping are not required.
  • No complex features like query languages, query planners, referential integrity join, ACID

Simple API

  • Provides user-friendly interfaces for storing and accessing data.
  • APIs allow low-level data manipulation & selection methods
  • Text-based protocols are mostly used with HTTP REST with JSON
  • A query language for NoSQL databases that aren’t based on any standard.

Distributed

  • Distributed execution of many NoSQL databases is possible.
  • Offers auto-scaling and fail-over capabilities
  • Only providing eventual consistency

Advantages and Disadvantages of NoSQL

Advantages

  1. Can be used as Primary or Analytic Data Source
  2. The capability of Big Data
  3. No Single Point of Failure
  4. Replication is simple
  5. There is no requirement for a separate caching layer.
  6. It offers quick performance as well as horizontal scalability.
  7. Has the ability to handle organized, semi-structured, and unstructured data equally well.
  8. Object-oriented programming which is easy to use and flexible
  9. A dedicated high-performance server is not required for NoSQL databases.
  10. Key Developer Languages and Platforms are Supported
  11. NoSQL databases don’t need a dedicated high-performance server
  12. Simple to implement than using RDBMS
  13. NoSQL databases are able to serve as the primary data source for online applications
  14. Handles big data which manages data velocity, variety, volume, and complexity

Disadvantages

  1. No standardization rules
  2. query capabilities are limited
  3. RDBMS databases and tools are comparatively mature
  4. it is difficult to maintain unique values as keys when the volume of data increases.
  5. Doesn't work well with relational data
  6. The learning curve is stiff for new developers
  7. Open-source options so not so popular for enterprises
  8. It does not offer any traditional database capabilities, like consistency when multiple transactions are performed simultaneously.

--

--