The critical difference between NoSQL and Relational databases is that RDBMS schemas rigidly define how all data inserted into the database must be typed and composed, whereas NoSQL databases can be schema agnostic, allowing unstructured and semi-structured data to be stored and manipulated.
NoSQL databases emerged as a popular alternative to relational databases as web applications became increasingly complex.
Advantages: Since there are so many types and varied applications of NoSQL databases, it’s hard to nail these down, but generally:
Disadvantages: These are also dependent on the database type. Principally:
NoSQL/Non-relational databases can take a variety of form:
InfluxDB, AWS Timestream, Informix, Prometheus, Riak-TS, RRDTool, M3db, eXtreme
A software implementation that is optimized for handling time series data, arrays of numbers indexed by time, a datetime or a datetime range. In some fields these time series are called profiles, curves, or traces. This kind of databases allows users to create, enumerate, update and destroy various time series and organize them. The server often supports a number of basic calculations that work on a series as a whole, such as multiplying, adding, or otherwise combining various time series into a new time serie. They can also filter on arbitrary patterns such as time ranges, low value filters, high value filters, or even have the values of one series filter another
Redis, AWS DynamoDB, Memcached, Aerospike, Riak-KV, Tarantool
Are extremely simple database management systems that store only key-value pairs and provide basic functionality for retrieving the value associated with a known key. The simplicity of key-value stores makes these database management systems particularly well-suited to embedded databases, where the stored data is not particularly complex and speed is of paramount importance.
Cassandra, Scylla, HBase
Are schema-agnostic systems that enable users to store data in column families or tables, a single row of which can be thought of as a record, a multi-dimensional key-value store. These solutions are designed with the goal of scaling well enough to manage petabytes of data across as many as thousands of commodity servers in a massive, distributed system.
MongoDB, Couchbase, CouchDB, Firebase,
Are schema-free systems that store data in the form of JSON documents. Document stores are similar to key-value or wide column stores, but the document name is the key and the contents of the document, whatever they are, are the value. In a document store, individual records do not require a uniform structure, can contain many different value types, and can be nested. This flexibility makes them particularly well-suited to manage semi-structured data across distributed systems.
Represent data as a network of related nodes or objects in order to facilitate data visualizations and graph analytics. A node or object in a graph database contains free-form data that is connected by relationships and grouped according to labels. Graph-Oriented Database Management Systems (DBMS) software is designed with an emphasis on illustrating connections between data points. As a result, graph databases are typically used when analysis of the relationships between heterogeneous data points is the end goal of the system, such as in fraud prevention, advanced enterprise operations, or Facebook’s original friends graph.
MySQL, MariaDB, PostgreSQL, SQLite, Oracle, MS SQL Server, IBM DB2
Relational databases emerged in the 70’s to store data according to a schema that allows data to be displayed as tables with rows and columns. RDBMS all provide functionality for reading, creating, updating, and deleting data, typically by means of Structured Query Language (SQL) statements. The tables in a relational database have keys associated with them, which are used to identify specific columns or rows of a table and facilitate faster access to a particular table, row, or column of interest.
Data integrity is of particular concern in relational databases, and RDBMS use a number of constraints to ensure that the data contained in the tables is reliable and accurate.