Databases On the Cloud – An Introduction
Data is becoming an integral part of our everyday lives. The data explosion has led to a need for tools that can store, manage, analyze and visualize this data. We have many databases to choose from which offer different features for various applications. Some are not scalable whereas others are highly optimized for specific use cases.
A cloud database is server-based and stores data on multiple servers. Like a traditional database, the cloud database should have access control mechanisms in place to protect sensitive data from unwanted users. The operating system used for this storage may be different from the one used on the primary servers. However, it should be able to sync with other databases in case of an emergency.
Cloud databases are often seen as a good way to improve business efficiency and productivity. Having a database that can be accessed from anywhere, is easy to scale and implement, and offers mobility reduces the need for IT support and provides businesses with increased access to information. A downside of using cloud databases is the risk of decreased security and privacy if not properly implemented.
Different types of databases are used depending on the intended application. Three primary types are
Relational – Used in CRM, ERP and Traditional Applications – Transactional in nature
Key-Value – Used for High Traffic Web Apps, Gaming, E-Commerce
In-Memory – Used for performance oriented applications – Oracle’s In Memory DB, AWS Redis
SaaS Database Options
While the following list is not exhaustive, it is a list of very popular database systems
AWS Redshift, Aurora and RDS
AWS Redshift, AWS Aurora and AWS RDS are fully managed database services from Amazon AWS, that makes them simple and cost-effective to set up, maintain, load data, and get insights. One can move the data into Redshift or Aurora or RDS with minimal effort.
MySQL and Oracle
MySQL is a popular open-source database management system that is easy to manage and has a low barrier for entry. Oracle offers an enterprise-level database that supports all the enterprises needs with the best security and performance options.
DB2 is a very popular relational database from IBM and still runs a huge number of applications on proprietary IBM hardware and it is the Linux version of this that is mostly used on the cloud.
SQLServer is Microsoft’s hugely popular workhorse database used as a relational database for running a variety of applications.
The need for fast, scalable storage is necessitated by the fact that machine data is growing exponentially every day. Timeseries and DynamoDB are used in such scenarios.
Snowflake is a cloud database which runs on AWS, Azure or GCP. It was one of the first decoupled storage and compute architectures, making it the first to have nearly unlimited compute scale and workload isolation, and horizontal user scalability. Invariably Snowflake has been used heavily for Data Warehousing, Data Science and Analytics where the usage and growth are unpredictable. With its pay as you use model, it becomes very attractive to users.
Mongodb used as a No SQL database with unlimited growth potential, has found tremendous use in ecommerce applications. The native support for JSON formats and easy to learn query language makes it a winner among developers.
PostgreSQL is another robust opensource database that is available for implementation on the cloud. This brings in some of the features of Mongodb including JSON format support alone with its own sql. It would also qualify as an enterprise class database with a fairly easy setup process.
Hadoop is an open-source system which enables storage of data over a network of computers to solve problems involving massive amounts of data and computation. It provides a framework that allows storage and processing of big data in a distributed fashion. It uses the MapReduce model to execute massive computes and sort operations across many nodes. Cloudera and Hortonworks are implementations of Hadoop and have an enormous eco system of tools and utilities.
The advantages of a Cloud Database include: mobility, scalability, and easy accessibility. The disadvantages include decreased security and privacy risks if not properly implemented.
Each database system has its own pros and cons. The choice of the right cloud database service for your company or team, will depend on its intended use. The key to your decision will depend on what you need from your data storage service in order to meet your business goals.
Conclusion & Takeaways
Is the relational database at the end of the road. Not so fast. While the explosion of the internet, data science and IOT has brought in newer innovations in the form of columnar db, nosql db etc, Relational databases continue to dominate the application space even in the cloud and managed hosted environments.
It is inevitable that entities will now expand beyond the relational databases into newer models of database consumption. Over the next 10 years, we can see ever increasing adoption of cloud servings.