AWS RDS Storage
RDS storage uses Elastic Block Store volumes (EBS), for log and database storage.
RDS automatically stripes across multiple EBS volumes in order to improve IOPS performance depending on the amount storage requiredRDS Storage Types
RDS storage offers three types of storage: Magnetic, General Purpose and Provisioned IOPS. These are input/output operations per sec.
These storage types offer a range of performance characteristics and prices, which allows for customization of storage performance and cost to meet the database needs
MySQL, MariaDB and PostgreSQL can be created with up 6TB storage, and SQL Server RDS DB instance with up 4TB storage, when using the ProvisionedIOPS and General Purpose(SSD)storage types.
Existing MySQL, PostgreSQL and Oracle RDS database instances can easily be scaled to the new database storage limits, without downtime.
Magnetic storage, also known as standard storage, is a cost-effective storage option that is great for applications that have light or burst I/O needs.
They can deliver around 100 IOPS per hour, with burst capabilities of up to hundreds of IOPS. Their size can vary from 5 GB to 3 TB depending on the DB instance engines.
Magnetic storage is not limited to a single DB instance. Therefore, performance can vary depending on the demands made on shared resources by customers.
SSD-backed general purpose storage, also known as gp2, can offer faster access than disk storage.
They can deliver single-digit millisecond latency, with a base performance at 3 IOPS per gigabyte (GB), and the ability to burst up to 3,000 IOPS for extended times up to a maximum 10,000 PIOPS.
Gp2 volumes can be as large as 5 GB to 6 TB in MySQL, MariaDB and PostgreSQL instances and 20 GB up to 4 TB in SQL Server DB instances.
Gp2 is excellent for small to medium-sized databases.Provisioned IOPS
Provisioned IOPS storage was designed to meet the storage needs of I/O-intensive workloads. This includes database workloads that are sensitive to storage performance. It also ensures consistency in random access I/O throughput.
Provisioned IOPS storage delivers consistent throughput performance, predictability, and speed.
Amazon recommends ProvisionedIOPS (input/output operation per second) storage for production applications that require consistent and fast I/O performance.
Provisioned IOPS storage can be optimized for I/O-intensive online transaction processing (OLTP), workloads with consistent performance requirements.
Performance tuning is possible with provisioned IOPS.
Provisioned IOPS volumes may range in size between 100 GB and 6 TB for MySQL or MariaDB, PostgreSQL or Oracle DB engines. SQL Server Express and Web editions are available in sizes ranging from 100 GB up to 4TB, while SQL Server Standard or Enterprise editions are available in sizes ranging from 200 GB up to 4TB.
When a DB instance has been created, it is required that a dedicated IOPS rate is set and that storage space is allocated. RDS provisions specify the IOPS rate for the lifetime of the DB instances or until it is changed.
RDS delivers within 10 per cent of the provisioned 99.9 percent performance 99.9 percent of time over a given calendar year.
Adding storage and changing storage types
A DB instance can be modified for additional storage or converted to another storage type.
However, the storage for a DB instance can’t be reduced
MySQL, MariaDB and PostgreSQL instances can be scaled up to store, which improves I/O capacity.
Due to the extensibility limitations of striped storage attached in a Windows Server environment, neither storage capacity nor type of storage can be changed.
The DB instance will remain available for reads and write during the scaling process but may experience performance degradation
The process of adding storage can take several hours.
