Cloud Databases for Busy People

This post will give you a bird’s eye view explanation of what “cloud database” is and what kinds of cloud databases the market offers us today.

Let’s start with a short definition. Cloud database” is a remote and outsourced database (remote” means “accessed by users through the Internet or an intranet”, “outsourced” means rented by many users from an external supplier, so-called “cloud service provider”).

It is a relatively new (and not very popular right now) approach, but it grows fast and seems to be very promising.

Terminology

Database here means a set of: 
(1) database data (users’ data),
(2) database software for managing (1),
(3) database computer(s) for managing (2).

The above definition of cloud database tells about “remote renting” of (2) or (2) & (3) together.

Database software (2) is called as a database management system (DBMS), they consider (2) & (3) together as a database system.

So, in other words, a cloud database can be defined basically as a set of computers connected to a network with a database software that are (both or software only) rented by many users for their data and accessed by the users through the network.

What Is a General Idea behind the “Cloud Database”?

The basic idea is just outsourcing of database software or the whole database system, i.e. this is to help users to focus on how to use their data (1) and NOT to think about how to keep their database systems (2&3) up and running. Remote access (through a network) to a database system is what is needed for convenient outsourcing, which (outsourcing) is the main thing.

To use a cloud database is like using a taxi service instead of buying or renting a car or hiring a chauffeur. For example, using a taxi a user doesn’t need to think about, say, how to fix an engine of a taxicab or even how to drive, a user just chooses a car and tells its driver where to go.

Why “Cloud”?

Because often a cloud database is distributed over a number of computers connected to each other, so nobody knows exactly where the database is located, and so the database is located like “inside a vague cloud inside of computers”.

Do People Really Use “Cloud Database Software”?

“Cloud database” management systems (cloud DBMSs) are not too popular right now, but probably they have a great future. Their popularity (as for the last 4 years) has increased tremendously (more than tenfold)  from ~ 0.1% (in 2013) to ~ 1.6% (in 2017).

[table id=1 /]

(The popularity here is measured as a percentage of the overall popularity of all DBMSs.)

How to Choose “Cloud Database Software”?

User’s data type (the way how the user’s data look like) has to correspond to a database software model (the way of how the database software looks like).

The following table provides an overall look at database software (DBMSs) models.

[table id=4 /]

NOTE: some database software can contain a mixture of all of them.

Let’s have a closer look at database software (DBMS) models.

SQL (Relational)

This is about just tables. It is the most popular one.

Example:

[table id=5 /]

A user basically can separately get (retrieve) any rows inside any table.

NoSQL

NoSQL database stands for “Not Only SQL” and implies that the data is stored in a different form than tables of rows and columns. There are three main types of NoSQL databases: key-value, document-oriented, wide column store, and graph-like database. Let’s consider them separately with examples.

Key-value Store (phone directory)

The simplest one. A user gets a person’s phone number (value) if the user knows a person’s name (key).

Example:

[table id=6 /]

This is a kind of the smallest table possible just with only two rows.

Document Store (catalog of predefined questionnaires)

This kind of NoSQL database contains a set of documents (sets of data) that can be composed of different fields.

A user can get (retrieve) a document (a table) as a whole only, not a part of the document.

Wide Column Store (dictionary)

Based on complicated tables, that are called ‘column families’ for whatever reasons. These tables can have a different set of columns in different rows of the same table.

Example 1: A dictionary.

 

A column family (table) containing many words and their meanings. One word (in one row) can have many meanings and comments (many columns).

Example 2: Users’ personal data.

A column family (table) containing 3 rows. Each row contains its own set of columns.

Graph

Car transportation company map of its customers’ locations together with roads between them. Illustration:

That is it, let’s repeat the above list in short:

  • SQL (tables)
  • Key-value Store (simple 2-row tables like phone directory)
  • Document Store (tables as a whole, set of questionnaires)
  • Columns Store (tables with different rows inside one table, language dictionary)
  • Graph (like a map of a transportation company).

Reminder: a user can have data which looks different in different parts, so different database software can be used for different parts of the data.

Who offers Cloud Database Services?

There are four biggest players on the market of cloud database management systems:  

[table id=7 /]

There are also many other products like Cassandra, MongoDB, ArangoDB and etc, but here we will focus on the biggest ones. These DBMSs differ with respect to a database model.

[table id=9 /]

The following is the table of DBMS models against the products.

[table id=10 /]

Amazon

[table id=11 /]

[table id=12 /]

[table id=13 /]

[table id=14 /]

Microsoft

[table id=15 /]

[table id=16 /]

[table id=17 /]

Google

[table id=18 /]

[table id=19 /]

[table id=20 /]

[table id=21 /]

IBM

[table id=22 /]

Leave a Reply

Your email address will not be published. Required fields are marked *