Being a Database Administrator from past 9 years I have been a fan of Traditional Databases but over last few years I have started working on cloud databases such as AWS Database which change my perspective towards database services.
As you know Database is an organized storage of data for easy retrieval, insertion, deletion & update. So, there is question arise, what’s the difference between Traditional Database & Cloud Database? A traditional database is actually a Relational Database Management System (RDBMS) which is software package with computer programs that controls the DDL tasks. In this relational database used to store data in a structured format with the help of table rows and table columns. And it is ‘relational’ because the values within each table are related to each other. Traditional Database has Relational model or object model to conveniently describe and support applications. Whereas the Cloud Database is made by collecting a number of sites called as nodes which are interlinked by a communication network. Every single node is a database class which has its own database, terminals, the central processor and their individual local database management system.
– Traditional Databases requires LAN access whereas Cloud Database services uses WAN access.
– Application Programming Interface(API) such as ODBC/JDBC are used in Traditional Database but Cloud Database services has Open Web protocols.
– Security in Traditional Database needs to be build & configured. In Cloud Database services we get inbuilt centralized security.
– The enterprise scaled Traditional Database is mostly used for Desktop apps whereas the Cloud database is internet scale used for mobile apps.
– In Traditional Database we have to manually upgrade, backup databases but in Cloud database service the upgrade & backups are automated.
Since I started working on Cloud database I come to know about AWS offering databases. AWS managed database services not only include relational databases for transactional applications but also non-relational databases for internet-scale applications. Along with this it offers AWS Database Migration service.
- AWS Relational Databases: There are two types of AWS Relational Databases i.e. Amazon RDS & Amazon Redshift.
- a) Amazon Relational Database Service (Amazon RDS) is a managed relational database in the cloud o it is easy to set up, operate, and scale in the cloud. It can be launch in minutes with just a few clicks. It is not just cost-efficient, but it releases us to from DB administration tasks. It provides database engines choices i.e. Amazon Aurora, Microsoft SQL Server, Oracle, MySQL, PostgreSQL and MariaDB. Among these Amazon Aurora gives better performance than MySQL and PostgreSQL in terms of security, availability, and cost reliability. It is used in transactional applications like ERP, CRM, and eCommerce
- b) Amazon Redshift is great alternative for data warehouse. It is fast, fully managed, petabyte-scale data warehouse which uses existing business intelligence tools to analyze data. It is cost effective, so plan start from $0.25 per hour and we can extend it up to $1,000 per terabyte per year. It is used in analytic applications for operational reporting.
- AWS Non-Relational Databases: It consist of three types of AWS Non-Relational Databases i.e. Amazon DynamoDB, Amazon ElastiCache & Amazon Neptune.
- a) Amazon DynamoDB being a serverless NoSQL (NotOnlySQL) Database it is fast and flexible, so it helps all applications that need consistent latency at any scale. As it belongs to cloud it supports document and key-value store models. It is similar to spreadsheet but due to its performance flexibility & reliability it is used for mobile, web, gaming, ad tech, IoT, and many other applications. It has global tables to fully automate the replication of tables across AWS regions for a fully managed, multi-master, multi-region database. It offers support for on-demand and continuous backups for native data protection. It is used in applications like hospitality & dating apps.
- b) Amazon ElastiCache is used to cache in the cloud, so it is easy to deploy, operate, and scale an in-memory data store. So basically, it retrieve information quickly from managed in-memory caches which improves the performance of web applications. It is way better than slower disk-based databases. It offers fully managed Redis and fully managed Memcached in the cloud. It is used in gaming leaderboards, chat/messaging, streaming.
- c) Amazon Neptune is a type of Graph Database which is fast, reliable, fully-managed so it easy to build and run applications that work with highly connected datasets. The purpose-built, high-performance graph database engine optimized for storing billions of relationships and querying the graph with milliseconds latency. It supports graph models such as Apache TinkerPop and W3C’s RDF & their associated query languages TinkerPop Gremlin and RDF SPARQL. It helps us to easily build queries that efficiently navigate highly connected datasets. It is used in applications that require navigation like social news feeds, recommendations engines, fraud detection, knowledge graphs, drug discovery, and network security.
3) AWS Database Migration Service: It helps in easily migrating databases to AWS within minimal down.