- Now let's review an introduction
to Amazon Relational Database Service or RDS.
Now before we get into the details of RDS itself,
let's first take a look at what it means
to manage a relational database service.
So as you can see, managing a Relational Database
on Premises requires a lot.
There is a lot involved and of course your DBAs
are probably not doing all of these things.
Uh, you're going to have different people
at different levels.
You know different levels of hardware and software.
In fact you probably have different teams of people,
right? But you can see that on Premises
you are responsible. Your organization
is responsible for providing of course the data
center in the Power and Cooling, uh
that goes into that.
You are responsible for building out,
maintaining, and securing the network
that allows, you know,
all of these systems to communicate.
You know, of course you have a rack and a chassis
that need to be put in place.
You have CPU, memory, hard disk
that need to be purchased and maintained
and upgraded over time.
And then of course you have an operating system
that needs to be installed and patched and maintained.
You have database engine that needs to be installed
and maintained. Right?
There is a fair amount of work that goes into that
to ensure that you are always operating
in a secure environment.
And then of course,
not only do you you need to perform backups,
it's also your responsibility to ensure
that those backups are
are being written to a system
that itself is highly durable.
And that you have multiple copies of those backups
(emphasizes) and
that you have a
reliable way of restoring from those backups.
And then of course you can
write your SQL Queries.
So if your DBA
is burdened by backups
and database engine updates
and operating system
(stutters)
details, then they have a lot more on their plate.
Now, if we were to compare this with running
a database on EC2,
then of course
AWS is managing the physical infrastructure.
We offload the physical infrastructure burdens
to AWS so that they are now managing power,
cooling, network, chassis, CPU and so on.
It is still our responsibility, and this is true
for other things that'll we'll talk about later.
As far as the operating system goes,
it is still your responsibility to ensure that
that operating system remains patched
as new security updates come out,
as new versions of an operating system come out
even though its running on EC2
and even though its Amazon's responsibility
to install the operating system,
it is your responsibility to keep it up-to-date.
If you need to go from, you know,
one version to a later version,
then it's up to you to do that
and because
(pauses)
EC2 is based on virtual machines
and we have machine images,
it becomes very easy for us to automate the process
of updating an operating system.
And considering that EC2 instances are ultimately
disposable, we simply throw the instance away
and replace it with a new instance, so
the process of maintaining an operating system
actually becomes much more efficient,
much more fluid than it was on premises.
We're not locked into a particular set of hardware.
We have the ability to replace things
much easier within EC2.
And the same thing could apply
to the database engine as well
If you want to go from one engine to another,
you could create, you could do all of that work
on some other machine create and
(stutters)
once all of that... you're satisfied with that arrangement
then you could create a machine image
and replace the existing machine very easily.
Backups are also still your responsibility
but the benefit of having them on EC2,
especially if you're using something like
the Elastic Block Store, is that we can
we can very easily take sanapshots
of those block store volumes
and know that those snapshots are stored
in S3 that we already have
a very durable place to write those backups
and that place is not managed by us. Right?
And so we have far fewer responsibilities by running
a relational database on EC2.
Now let's compare all of this to running on RDFs.
With RDFs, as you can see we are offloading
all of these operational burdens to Amazon.
Amazon now takes over not only installing
the operating system
but also patching and updating
the operating system of that instance.
Amazon also manages the upgrading
of the database engine itself
and performing backups.
And so as an organization
we get to focus on our data.
We get to focus on optimizing our schemas
and optimizing our query statements
and offloading the operational burdens to AWS.
Okay so the benefits of RDS would be
that we have a reduced operational burden.
As we've seen we can offload a lot of those
underlying physical and software burdens to AWS.
We also get our choice of
a number of popular engines such as MySQL,
SQL Server, Oracle, PostgreSQL, MariaDB
and of course Amazon Aurora is a drop-in replacement
for later versions of MySQL and PostgreSQL.
We also have a very easy ability to create Read replicas.
There are plenty of situations were
perhaps you are doing
(stutters)
a lot of reads and
and those operations are
maybe becoming a burden on the primary.
And so by offloading reads to, you know,
one or more servers and then allowing
the primary to handle only writes,
you can improve the performance of the entire system.
So again we have very easy creation of read replicas
where AWS handle the creation, the maintenance
of those actual servers, as well as
ongoing synchronous replication.
We also have a number of things that are automated
by RDS servers such as backups,
operating system pa... um patches,
database engine updates.
So if you wanted to go from, you know, for example
MySQL five-five to five-six, you know,
minor version updates, then those things
can be done automatically for you
and you get to control the window,
the maintenance window in which those things happen.
Of course you may want that to happen at one AM
or five AM or even noon.
Whenever...whenever you determine that you have
for example, lower levels of traffic.
And then of course one last thing to talk about
with RDS is that we also have
a very easy ability to failover,
if you opt in to the right option
such as a multi AZ deployment, then
AWS can manage failover automatically.
Whereas you can have not only just a primary
but you would also have a secondary
that AWS is also managing with synchronous replication.
And if the primary fails, RDS can automatically
fail over to that secondary,
right? So again,
plenty of benefits
by using the Relational Database Service.