AWS DynamoDB, RDS, and Read Replica

AWS provides both SQL and NoSQL database services. RDS is a SQL database and DynamoDB is a NoSQL database. There are benefits to both types of databases; it depends on what purpose you need them for. In this article, we will discuss DynamoDB, RDS, and RDS Read Replica.

First, we need to understand a few terms:

  • SQL Database: It contains highly structured tables, with each column representing a specific information field and each row representing a data entry. To create, store, update, and retrieve data, structured query language or SQL is used.
  • NoSQL Database: It’s a non-relational database, which supports different types of data entries (not just specific columns and rows). It’s more flexible if you don’t know what type of data you might need to enter into the database.

When choosing between RDS and DynamoDB you should consider the architectural necessity of your application.

AWS DynamoDB

ODi2SeF IsseZ89tZlafGHF1XiKJNoJy0IzR5qie0WOVpxm7GvgZ974LHrCc2f - AWS DynamoDB, RDS, and Read Replica

DynamoDB is a NoSQL-hosted database offered by AWS. It provides reliable managed data storage with simple API integration. As with most services provided by AWS, the user doesn’t need to worry about this AWS service’s configuration, hardware management, update, replication, and scaling. AWS also provides encryption facilities which make the usage very secure.

The backup reliability makes AWS’s DynamoDB like nothing else. The point-in-time backup features save the data in a specific time. It helps to ensure safety from accidental write or delete operations. This may come in handy for development phases.

Availability

The database data is spread across multiple sufficient numbers of servers. This helps to boost performance. The replicated data across multiple Availability Zones help to ensure availability.

With all the AWS services, DynamoDB is both reliable and has low latency. And as NoSQL is getting more popular day by day, AWS’s DynamoDB is getting more traction than most other databases.

Benefits of DynamoDB

  • DynamoDB is flexible. As a NoSQL database, you don’t need to worry about structured table format.
  • DynamoDB supports tables of any size. It scales horizontally which is an attractive feature for large databases.
  • DynamoDB automatically replicates data over multiple availability zones.
  • It’s preferred for real-time applications, such as real-time bidding, personalization, content management, and mobile applications.

AWS RDS

y RpCvbOjf2oiLDU1Ay4KoGhjoiTv8AEXTeO - AWS DynamoDB, RDS, and Read Replica

AWS Relational Database Services (RDS), is a fully managed SQL database. It’s relatively more expensive than DynamoDB but offers more features and flexibility. With a few clicks, you can set up, operate, and scale it. The administrative work for RDS is very minimal.  AWS provides popular engines to deploy RDS — Amazon Aurora with MySQL compatibility, Amazon Aurora with PostgreSQL compatibility, MySQL, MariaDB, PostgreSQL, Oracle, and SQL Server. These are all popular RDS engines. Whatever database you prefer, you will find it easy to migrate to RDS. And also AWS makes sure to always keep them updated. 

Benefits of RDS

  • RDS uses both vertical scalings and reads replicas for scaling purposes.
  • Amazon RDS will apply the latest patches to the database. So your database is always updated with the latest features.
  • For large-scale databases, which don’t require real-time fetching, RDS is much preferable.

AWS Read Replica

O QfloyyrklJ 6IsCdR7PPzI QonL2U5s8UcXvT7kUJXWEiHfJ8XsAWMM7KOBZefNZjlucOBgRoCOyI ZSvTKYe3QhnkVFg9zcPPzHKj0IkDV6IhDXR1ZwUahy1v7WhmcJgSmFszrbd8mdOn4kNsShY - AWS DynamoDB, RDS, and Read Replica

For read-heavy databases, AWS provides Read Replica. It copies the original database, and for incoming read requests, instead of going toward the source database instance, the replicated database is used to fetch the read data. This decreases traffic from the source databases, hence increasing the performance of the database. For a write operation, only the original database is used. So you shouldn’t rely on a read replica if your application is write-heavy; instead, try to increase the resources of the database.

Database Consistency with Read Replica

For DynamoDB, MySQL, MariaDB, PostgreSQL, Oracle, and SQL Server database engines, AWS provides the database engine’s native asynchronous replication to update data from the source DB instance whenever there is a new write to the source. This makes the complete RDS structure consistent and fast. And applications can connect to the Read Replica as any normal instance. It is just a copied synchronized instance of the source database.

Advantages

Performance

Read replica helps to scale horizontally. Read Replica reduces the load on the source DB instance. For read-heavy applications, it helps to scale beyond the given capabilities of the original instance.

Availability

The replicas can be assigned to multiple availability zones. So for each area, the user in that area can access data much faster than if there was just one centralized database. Read Replicas reduces transmission latency.

Security

The communication between the replicas is done via a secure channel with public key encryption. This helps to create a secure multi-zone database structure with little to no effort on the user’s part.

The replicas can act as backups. So if there are some zone-related failures on AWS or database corruption, the read replicas can be assigned as the source DB instance. This flexible feature makes AWS’s Read Replica feature a highly desired one.

In this article, you learned about the basics of RDS, DynamoDB, and Read Replica. Depending on your app’s architecture you should consider what to use.

Share The Tutorial With Your Friends
Twiter
Facebook
LinkedIn
Email
WhatsApp
Skype
Reddit

Check Our Ebook for This Online Course

Advanced topics are covered in this ebook with many practical examples.