Table of contents
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 ๐๐
In the above image, 7 RDS engines are Amazon Aurora with MySQL compatibility, Amazon Aurora with PostgreSQL compatibility, MySQL, MariaDB, PostgreSQL, Oracle, and SQL Server. Other steps are self-understood.
This means that the code, applications, and tools you already use today with your existing databases should work seamlessly with Amazon RDS.
With RDS, you don't need to worry about the underlying infrastructure, such as hardware provisioning, software patching, or database backups. Instead, AWS takes care of all of that for you, so you can focus on building your applications.
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!!