AWS Storage Options – RDS, DynamoDB & Database On EC2
Whitepaper on AWS Storage Options with RDS, DynamoDB & Database On EC2 Cont.
This brief summary provides information on the Ideal Use Cases, Anti-Patterns, and other factors for Amazon RDS & DynamoDB storage options
Amazon RDS
RDS is a web-based service that offers the capabilities of MySQL and Oracle, MariaDB, Postgres, or Microsoft SQL Server relational databases as a managed cloud-based service
Ideal Usage Patterns
RDS is a great option for cloud-based fully managed relational databases
RDS is ideal for applications that use structured data, which requires more advanced querying and joining capabilities that are offered by Amazon’s NoSQL Database offering, DynamoDB.
RDS provides full compatibility with the databases supported and direct access to native database engines, code and libraries and is ideal for existing applications that rely on these databasesAnti-Patterns
DynamoDB is better suited for indexing and querying data.
Numerous BLOBsIf an application uses a lot of files (audio files and videos, images, etc.), it is a better option to use S3 to store them instead of database engines Blob feature. You can also use DynamoDB or RDS to save the metadata.
Automated ScalabilityRDS is a push-button scaler that scales up but has limited scale out capabilities. DynamoDB is a better option if fully-automated scaling needs are met.
Complete controlRDS is not able to grant admin access or enable all features of the database engines.
If the application requires full OS-level control over the database server, with full root and admin login privileges on the server, a self-managed EC2 database may be a better choice.
Other database platformsRDS currently offers a MySQL, Oracle and MariaDB, PostgreSQL, and SQL Server databases.
Performance
RDS Provisioned IOPS is a storage option that delivers high-performance storage. It allows you to specify the IOPS when the instance is launched. This is guaranteed for the lifetime of the instance.
RDS uses Amazon EBS volumes to power its data store
RDS offers database backups for increased durability. These are replicated across multiple AZsAutomated backupsIf activated, RDS will automatically run a full daily backup of all your data during the specified backup windows. It will also capture DB transaction logs
Backups initiated by the user
RDS Multi AZ’s feature increases both the durability of the database and its availability by synchronizing the replication of data between a primary RDS DB instance (or standby instance) in another Availability Zone. This prevents data loss.
RDS provides a DNS Endpoint. In the event of a failure on the primary instance, it automatically fails to the standby.
RDS also allows Read replicas of supported databases. These are replicated asynchronouslyCost model
RDS offers a tiered pricing structure, based on the size of the database instance, the deployment type (Single-AZ/Multi-AZ), and the AWS region.
Pricing for RDS is based upon several factors: the number of DB instances (per hour), the amount provisioned database storage (per GB/month and per million I/O request), additional backup storage