LCP

Starting a new project can be a big challenge in terms of idea, market, adoption, technology decisions, and many more. Selecting the right set of tools and technologies keeping in mind scalability and maintenance at the start of the project avoids any rework down the line and plays a major role in success.

A database is one of the pillars for starting a new project, and no system exists without a database. Certain parameters should be kept in mind while selecting the right database.

The following article talks about various database services and different cloud providers offering these services along with cloud-agnostic solutions for future flexibility in shifting infrastructure from one provider to another or deploying on-premise.

What database to use with different cloud service providers?

Hereundefineds an infographics showing which database is being offered by the cloud service providers:

So without further ado, letundefineds dig right into what each of these databases are:

Relational database:

A type of database that stores and provides access to a collection of data items having predefined relations between them. This collection of data, organized as a set of tables, contains useful information about the items in the database. In the table, each column represents a certain attribute of the data, and each row contains a unique ID called the key representing the attribute. Corresponding to these attributes and keys, the value is stored in the record.

Following cloud providers provide relational database services on their platform:

AWS - Relational Database Service (RDS)

Azure - Azure SQL Database

GCP - Cloud SQL, Cloud Spanner

Cloud Agnostic - SQL Server, Oracle, DB2, MySQL, PostgreSQL


Key-Value Database

A key-value database is a NoSQL type database where data is being stored in a simple key-value method. A simple unique string (the key) is stored in a hash table which points towards the arbitrary data field (the value). The value can range from scalar data types like integers to complex structures like BLOB, lists, JSON, etc.

Following cloud providers provide key-value database services on their platform:

AWS - DynamoDB

Azure - Cosmos DB

GCP - Datastore

Cloud Agnostic - Redis, ScyllaDB, Ignite


In-memory database

An in-memory database is a purpose-built database that uses the main memory of the computer to store the data instead of the disk drive. This makes accessing the data faster and efficient, allowing rapid response time as well as real-time database management. However, the drawback is that it is volatile, as it uses the RAM of the computer, a power failure or crash will lead to loss of data. Telecommunications, travel, banking, and gaming industries are some of the examples where it is used.

Following cloud providers provide in-memory database services on their platform:

AWS - ElastiCache

Azure - Azure Cache for Redis

GCP - Memorystore

Cloud Agnostic - Redis, Memcached, Ignite, Hazelcast


Graph database

A graph database is a specialized purpose-built platform for storing and navigating relationships. Relationships are the key in a graph database as it provides the most value. A graph database uses nodes and edges where nodes store all the data entities or profiles and there is no restriction to the number of relationships they might have between them. The edges store the relationship between these entities and it always has a start and end node, its type, and a direction.

Following cloud providers provide graph database services on their platform:

AWS - Neptune

Azure - Cosmos DB

GCP - JanusGraph + BigTable

Cloud Agnostic - OrientDB, Neo4J, Giraph


Full-text search database

Full-text search accelerates the content search in your database for unstructured, semi-structured, or unstructured data. Based on the userundefineds search text criteria, it provides rich text search capabilities for one or more keywords. It provides NLP and a strong recommendation system for misspelled search queries, leading to a more personalized experience. Full-text search is quick undefined efficient, ultimate in the categorization of specific data values, and gives the relevant ranking capability for providing the best query match.

Following cloud providers provide Full-text search database services on their platform:

AWS - ElasticSearch, CloudSearch

Azure - Cognitive Search

GCP - Search APIs on Datastores

Cloud Agnostic - ElasticSearch, Solr, Elassandra


BLOB database

A BLOB database is used to store a large amount of unstructured data as a single entity in the database system. They support the storage of multimedia objects like images, videos, sounds, programs, texts, and binary data. Using Append BLOBS, the database can also be optimized for append operations. BLOBs are quite a good alternative and cost-effective way for adding large binary files. However, they are not universal as not all the DBs support them.

Following cloud providers provide BLOB database services on their platform:

AWS - S3

Azure - BLOB storage

GCP - Cloud storage

Cloud Agnostic - HDFS, MinIO


Knowing these databases will be helpful for your next full-stack development project, aiding you to decide which databases would provide the most value to the development. Now that you know what all the database does, keep the above infographic handy for future reference in case you need to know which cloud provider offers the service as per the requirement:

We, at Seaflux, believe in agility and use various technologies like Cloud Computing, Enterprise Mobility, and Data Science for helping enterprises worldwide with their needs. Are you still confused about choosing the right database or want to know more about the pros and cons of any database? Schedule a meeting with us here, weundefinedll be happy to talk to you!

Jay Mehta - Director of Engineering
Jay Mehta

Director of Engineering

This may interest you...!
    Cloud ComputingCloud ComputingCloud Computing