Learning DB Layer: NoSQL DBS OR SQL RDBMS ?

RDBMS (Relational Database Management System) is a more complex database management system that lets you organize, maintain, retrieve, and administer tabular databases , these

Examples

  • MYSQL
  • MariaDB
  • PostgreSQL
  • MSSQL/Azure SQL
  • AmazonRDS
  • Google CloudSQL
Reference: https://www.datastax.com/nosql

Different Types of NoSQL Databases

NoSQL also has several database types, giving you the flexibility to choose what’s the best fit for your data and objectives. The main types are:

  1. Key-value databases

Key-value databases are some of the least complex NoSQL databases, as all their data consists of an indexed key and a value. They use a hashing mechanism such that given a key, the database can quickly retrieve an associated value. Hashing mechanisms provide constant time access, which means they maintain high performance even at large scale. The keys can be any type of object, but are typically a string. The values are generally opaque blobs (i.e., a sequence of bytes that the database does not interpret). They make it easy to store large amounts of data and quickly perform lookup queries.

Examples

  • Redis
  • Amazon DynamoDB
  • Riak
  • Oracle NoSQL

Some tabular NoSQL databases, like Cassandra, can also service key-value needs.

2. Document databases

Document databases expand on the basic idea of key-value stores where “documents” are more complex, in that they contain data and each document is assigned a unique key, which is used to retrieve the document. These are designed for storing, retrieving, and managing document-oriented information, often stored as JSON. Each document can contain different types of data. Groups of documents are called collections. Each document in a collection can have a different structure.

Since the document database can inspect the document contents, the database can perform some additional retrieval processing. Unlike RDBMSs which require a static schema, Document databases have a flexible schema as defined by the document contents.

Examples

  • MongoDB
  • CouchDB

Note that some RDBMS and NoSQL databases outside of pure document stores are able to store and query JSON documents, including Cassandra.

3. Tabular databases

Tabular databases organize data in rows and columns, but with a twist from the traditional RDBMS. Also known as wide-column stores or partitioned row stores, they provide the option to organize related rows in partitions that are stored together on the same replicas to allow fast queries.

Unlike RDBMSs, the tabular format is not necessarily strict. For example, Apache Cassandra™ does not require all rows to contain values for all columns in the table. Like key-value and document databases, tabular databases use hashing to retrieve rows from the table.

Examples

  • Cassandra
  • HBase
  • Google Bigtable

4. Graph databases

Graph databases store their data using a graph metaphor to exploit the relationships between data. Nodes in the graph represent data items, and edges represent the relationships between the data items. Graph databases are designed for highly complex and connected data, which outpaces the relationship and join capabilities of an RDBMS. Graph databases are often exceptionally good at finding commonalities and anomalies among large data sets.

Examples

  • DataStax Graph
  • Neo4J
  • JanusGraph
  • Amazon Neptune

5.Multi-model databases

Multi-model databases are an emerging trend in both the NoSQL and RDBMS markets. They are designed to support multiple data models against a single, integrated backend. Most database management systems are organized around a single data model that determines how data can be organized, stored, and manipulated. By contrast, a multi-model database allows an enterprise to store parts of the system’s data in different data models, simplifying application development.

There are many different multi-model database types available on the market. The one distinguishable feature is the support for multiple models in one backed engine.

Some databases layer multiple models on the engine through components. However, these kinds of databases are not authentic multi-model databases.

Another critical difference between databases is the available modeling techniques. This aspect is essential for maximizing the usefulness of the available data.

Examples

MarkLogic Server is a multi-model NoSQL database that started as an XLM storage and developed further to store multiple data formats, such as:

  • Document
  • Graph
  • Text
  • Spatial
  • Key-value
  • Relational

ArangoDB is a multi-model native database system. The supported data formats are:

  • Document
  • Graph
  • Key-value

OrientDB is an open-source multi-model NoSQL database written in Java. The database supports the following models:

  • Document
  • Graph
  • Key-value
  • Object
  • Spatial

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Multithreading and Multiprocessing

Reduce Cost and Increase Productivity with Value Added IT Services from buzinessware — {link} -

Why do you want to use the cloud for FPGA design (and it is not cost)

Pure Kotlin Unit Testing — Part 1

Centos using WSL and Smart Terminal in Windows

Should I use gRPC?

The 10 Capabilities of Data Vault 2.0 You Should Be Using

Guide to make custom ViewAction: Solving problem of NestedScrollView in Espresso

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Laith

Laith

More from Medium

Relational Database Design

Create Database HR payroll using Ms SQL studio.

Create Database HR Payroll

SQL vs NoSQL, Which is better?

Is NoSQL More Performance Than SQL ? (High level comparison SQL Vs NoSQL)