Databases

Databases

ยท

9 min read

If you are from a non-technical background, And still want to know what is databases, Please don't worry guys, I will make you understand what are databases with Images and will see what all database services are provided by AWS.

Let's begin...

What are DATABASES?

A database is an organized collection of structured information, or data, typically stored electronically in a computer system.

Here we learned about EBS, want to read detailed blog--> visit https://nidhidevops.hashnode.dev/elastic-block-storage-amazon-machine-image

Also learned about S3 ๐Ÿ‘‡๐Ÿ‘‡

https://nidhidevops.hashnode.dev/amazon-simple-storage-service-amazon-s3

Above mentioned articles are for Storage only, So why there is a need for Databases???

The answer is Because S3, EBS and EC2 instance stores can have limits. Apart from this one wants structured data or define relations. You can use Databases๐Ÿ˜๐Ÿ˜ Easy right?

Relational databases

As the name suggests, The work is also in the same way ๐Ÿ‘Œ

A relational database is a type of database that stores and provides access to data points that are related to one another.

More simply, The different tables are connected with a common point.

See the image ๐Ÿ‘‰๐Ÿ‘‰๐Ÿ‘‡๐Ÿ‘‡

Now let's move to the next one

NoSQL Databases

NoSQL--> no SQL--> no relation

NoSQL has flexible Schemas and they are purpose-built for modern applications

For NoSQL, you can use JSON Schemas

Guys, Get ready to learn Amazon RDS. ๐Ÿ‘‡๐Ÿ™Œ

Amazon Relational Database

  • It's a managed DB service and uses SQL as a query language

Above image displays how Amazon RDS works ๐Ÿ‘†๐Ÿ‘†

Hope you understood Amazon RDS

Let's move to the next one

AMAZON Aurora

  • Amazon Aurora is a modern relational database service.

  • Unlike AWS RDS it is only MySQL and PostgreSQL-compatible.

  • It provides built-in security, continuous backups, and serverless computing.

  • And up to 15 read replicas, automated multi-Region replication, and integrations with other AWS services.

Above image makes AA(Amazon Aurora ๐Ÿ˜) easy to understand.

Guys Theory is not at all enough in AWS you have to go through the practical sessions as well.(Knowlege is good but implemention of that knowledge is way more important)

So Now we will look through RDS practically

Let's get started guys, Excited๐Ÿ˜

RDS HANDS-ON

  • Type RDS in the search of the console

  • Click Databases

  • Click Create database

  • Choose Standard create (Because You set all of the configuration options)

  • Choose MySQL

  • Choose MYSQL Community

  • Choose Engine version according to you, I will choose the default one

  • Choose Template as Free Tier

  • Keep DB instance identifier as the default one

  • Write master username as admin

  • Also, write the master password as per the guidelines.

  • Keep the storage type section as default.

  • In the connectivity, section Choose public access as YES

  • Create a new security group as demo-database-rds

  • Choose the database Authentication option as Password Authentication

  • And left everything as it is

  • Click Create Database

Note:- It will take around 2-3 minutes to create a database.

  • click on the database you created, You will see all the things one needs to see.

  • one can take snapshot of databases as well(In easy language snapshots are backups)

  • Click Actions-->click take snapshots

  • Click Take snapshot after writing the snapshot name

  • Go to the newly created snapshot, and see if the status is available.

  • Under Actions, if you click restore the snapshot, it will help you to create a new database, a bigger database, or a copy of the database(Isn't this amazing๐Ÿ˜)

Let's move to the next Amazing thing, Read this carefully๐Ÿ‘‡๐Ÿ‘‡

Amazon ElastiCache

Yes, Guys Let's see what's amazing in this๐Ÿค”

What is Cache?

A cache is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewhere.

Now Read the below about the ElasticCache, everything will get clear

  • Amazon ElastiCache is a fully managed, Redis- and Memcached-compatible service.

  • That means it's a caching service built to deliver real-time performance for real-time applications.

  • It reduces the load from databases for intensive workloads.

Guys Let's meet with the database which is very heavy when we say its name. It is ๐Ÿ‘‡

(Just Kidding)

DynamoDB

  • DynamoDB is a fast and flexible nonrelational database(NoSQL) service for any scale.

  • Its flexible data model and reliable performance make DynamoDB a great fit for mobile, web, gaming, advertising technology, Internet of Things, and other applications.

  • Single-digit millisecond latency

  • DynamoDB offers built-in security, continuous backups, automated multi-Region replication, in-memory caching, and data import and export tools.

Let's read the Use cases which will make us Understand this better

Applications with large amounts of data and strict latency requirements. As your amount of data scales, JOINs and advanced SQL operations can slow down your queries. With DynamoDB, your queries have predictable latency up to any size, including over 100 TBs!

Serverless applications using AWS Lambda. AWS Lambda provides auto-scaling, stateless, ephemeral compute in response to event triggers. DynamoDB is accessible via an HTTP API and performs authentication & authorization via IAM roles, making it a perfect fit for building Serverless applications.

Data sets with simple, known access patterns. If you're generating recommendations and serving them to users, DynamoDB's simple key-value access patterns make it a fast, reliable choice.

Above we have learned about in-memory cache, right?

In the same way, we have a dedicated in-memory Cache for DyamoDB that is

DynamoDB Accelerator - DAX

Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for Amazon DynamoDB that delivers up to a 10 times performance improvementโ€”from milliseconds to microsecondsโ€”even at millions of requests per second.

DAX does all the heavy lifting required to add in-memory acceleration to your DynamoDB tables, without requiring developers to manage cache invalidation

DAX is only used for DynamoDB

Now Let's move to Redshift ๐Ÿ‘‡๐Ÿ‘‡๐Ÿ‘‡

AWS REDSHIFT

  • An Amazon Redshift data warehouse is an enterprise-class relational database query and management system.

  • Amazon Redshift achieves efficient storage and optimum query performance through a combination of massively parallel processing, columnar data storage, and very efficient, targeted data compression encoding schemes.

Traditional databases VS REDSHIFT

Data Warehousing is the process of storing and analyzing data from multiple sources to provide meaningful business insights. It involves transforming the data from multiple sources into a common format for both storage and analysis. This process is generally known as ETL or Extract, Load, and Transform. Data Warehouses like Amazon Redshift leverage this process to cater to their customers.

Next is AMAZON EMR๐Ÿ˜Š๐Ÿ˜Š

AMAZON EMR

EMR is Elastic MapReduce

--> Amazon EMR is the industry-leading cloud big data solution for petabyte-scale data processing, interactive analytics, and machine learning using open-source frameworks such as Apache Spark, Apache Hive, and Presto.

AMAZON ATHENA

  • It's a serverless service to analyze data that is stored in Amazon S3 using Python or standard SQL.

  • You donโ€™t even need to load your data into Athena; it works directly with data stored in Amazon S3.

Below is the picture which clearly explains Amazon Athena, Have a look ๐Ÿ‘‡๐Ÿ‘‡๐Ÿ™Œ

How to get started with Athena?

To start with Athena, log in to the AWS Management Console for Athena and create your schema by writing Data Definition Language (DDL) statements on the console or using a create table wizard. You can then start querying data using a built-in query editor. Athena queries data directly from S3, so thereโ€™s no loading required.

Amazon QuickSight

Guys with this you can create interactive dashboards, But How?? ๐Ÿ‘‡๐Ÿ‘‡

  • Amazon QuickSight is a fully managed cloud-scale business intelligence service that is powered by machine learning and allows you to create data visualizations and dashboards for the people you work with, wherever they are.

  • AWS QuickSight allows you to connect your data from many different data sources.

  • It also provides user-management tools to scale from just a few users to tens of thousands of users โ€” all of this with no infrastructure to deploy and manage yourself.

DocumentDB

Amazon DocumentDB (with MongoDB compatibility) --> we can remember DocumentDB by this๐Ÿ˜

  • It's a fast, scalable, highly available, and fully managed enterprise document database service that supports native JSON workloads.

  • As a document database, Amazon DocumentDB makes it easy to store, query, and index JSON data.

  • The storage and computing are decoupled, allowing each to scale independently.

AMAZON NEPTUNE

  • Amazon Neptune is a fully managed database service built for the cloud that makes it easier to build and run graph applications.

  • Neptune provides built-in security, continuous backups, serverless computing, and integrations with other AWS services.

Amazon QLDB

Amazon Quantum Ledger Database (QLDB)

  • Amazon Quantum Ledger Database (QLDB) is a fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log.

  • Use cases are:- Storing financial transactions, Reconciling supply chain systems, Maintaining claims history & centralizing digital records

Amazon Managed Blockchain

  • Amazon Managed Blockchain is a fully managed service that allows you to join public networks or set up and manage scalable private networks using popular open-source frameworks.

  • Blockchain makes it possible to build applications where multiple parties can execute transactions without the need for a trusted, central authority.

AWS Glue

  • AWS Glue is a serverless data integration service that makes it easier to discover, prepare, move, and integrate data from multiple sources for analytics, machine learning (ML), and application development.

Last But Not Least, Let's move to our final topic DMS๐Ÿ‘‡๐Ÿ˜Š

DMS โ€“ Database Migration Service

  • AWS Database Migration Service (AWS DMS) is a managed migration and replication service that helps move your database and analytics workloads to AWS quickly, securely, and with minimal downtime and zero data loss.

  • AWS DMS supports migration between the 20-plus database and analytics engines.

HETEROGENEOUS MIGRATIONS

Ex:- Microsoft SQL Service to Aurora

HOMOGENEOUS MIGRATIONS

Ex:- Oracle to Oracle

Guys I literally enjoyed writing this Blog, I put my best to make you all understand DATABASES using images๐Ÿ˜.

Hope you all will like it. I wrote the Longest blog ever. โ›„โ›„

To the Best of my knowledge, I have covered all the databases. But still, if you find anything you don't understand, Please let me know in the comment section๐Ÿ‘‡๐Ÿ‘‡

If You want to read my blogs on AWS and want to understand the basics of the cloud please visit ๐Ÿ‘‡๐Ÿ‘‡

https://nidhidevops.hashnode.dev/

All suggestions are Welcomed!!

ย