Amazon RDS(Relational Database Service)
RDS is a fully managed relational (SQL) database service offered by AWS. In this service, AWS is responsible for managing the underlying hardware, operating systems, software and its patching. User is responsible for creating db instances, scaling of storage and compute, access management and encryption.
Supports many DB engines- RDS supports many relation database engines such as Amazon Aurora for PostgreSQL and MySQL, MariaDB, MySQL, Oracle, Microsoft SQL server and PostgreSQL.
Database storage- RDS uses EBS (Elastic Block Storage) for storing the data so all the storage options available with EBS are also available for RDS. Please check out the article “Storage options in AWS” for more information.
High Availability - AWS RDS Multi-Zone deployment makes DB highly available. In this deployment, you deploy one primary and one or two standby DB in different AWS regions(from primary). AWS synchronously replicates the data from DB to secondary DB. When the primary DB fails, all your traffic is automatically routed to the standby DB.
Automated Backups - Point in time recovery feature in RDS allows to automatically backup your data and its transactional logs for a retention period of up to 35 days.
Scaling-You can scale the RDS read performance by creating read replicas. To increase the read and write capacity, you can either increase the capacity (CPU and memory) of existing instances or add additional instances.
AWS Aurora
Amazon Aurora is a relational database engine offered under RDS. It is compatible with open source PostgreSQL and MySQL. Using the AWS fast distributed storage system, it provides better performance compared to RDS PostgreSQL and MySQL.
Following are added features in Aurora compared to RDS for MySQL and PostgreSQL engines.
Faster performance - For certain queries, Aurora PostgreSQL and Aurora MySQL can provide 3 and 5 times faster performance than RDS PosfgreSQL and MySQL respectively.
Global database - This feature assists in business continuity and reduced latency for global application. This service creates a replica in an AWS region of your choice and asynchronously replicates the data on the secondary database.
High availability - By default, data stored in Aurora is replicated across multiple availability zones within an AWS region. Also, compared to RDS, in Aurora you can create up to 15 read replicas to offload the read traffic from the primary instance.
AWS DynamoDB
DynamoDB is a fully managed, serverless non-relational (NoSQL) database service offered by AWS. It provides flexibility in storing the data in document or key value format. DynamoDB is suitable for workloads that require querying large datasets with low latency. As DynamoDB is a serverless service, it saves administrative time and resources required to create and scale DB instances.
Following are some of the important features of DynamoDB
High Availability - DynamoDB automatically replicates the data in different availability zones in an AWS region. This is an inbuilt feature so unlike RDS, you don't have to configure for multi-zone availability.
Scaling - Auto scaling feature in DynamoDB automatically scales the capacity (read and write capacity) of the tables based on the set criteria.
Automated backups- Point in time recovery feature in DynamoDB allows to automatically backup your data and its transactional logs for a retention period of up to 35 days.
Global tables- Global tables in DynamoDB assists users in achieving business continuity and reduced latency for global application. This feature allows you to create a replica in the AWS region of your choice. In the event of a failure of one table, traffic can be served from the replica. Additionally, AWS automatically synchronizes data across replicas.
Comments
Post a Comment