Random I/O describes reads and writes directed to nonconsecutive storage locations. A database retrieving customer records by primary key might access an index page, read a data page elsewhere, and then update another page. This differs from sequential I/O, such as reading a large backup file from beginning to end. Random does not necessarily mean unpredictable: a repeatable query can still generate nonsequential storage access.
The distinction matters because storage devices handle these patterns differently. Hard disk drives must reposition mechanical components to reach scattered locations, making small random operations comparatively expensive. Solid-state drives eliminate mechanical seek time and generally handle random access much better. They still have performance limits, however, and latency can increase under contention or heavy write activity. Network-attached cloud storage also introduces constraints from the storage service, network path, and compute instance.
For small random operations, input/output operations per second, or IOPS, and latency are usually more informative than maximum throughput. Request size connects these measurements: 10,000 operations per second at 8 KiB per operation transfer approximately 78 MiB per second, assuming each request corresponds to one operation at the measurement layer. A device advertised with high throughput might still fail to meet an application's small-request latency requirements. Conversely, purchasing high IOPS does not remove throughput limits for larger requests.
In cloud architectures, match the storage interface and performance tier to the actual access pattern. Persistent SSD-backed block storage is a common choice for transactional databases that read and update scattered pages. HDD-backed throughput-oriented storage is usually more economical for large sequential transfers, but is a poor default for latency-sensitive random access. Object storage suits durable objects, backups, and analytical datasets, but it does not provide ordinary in-place block updates. Byte-range reads do not make an object store equivalent to a block device.
Cost optimization starts with measurement rather than automatically selecting the highest-performance tier. Record request sizes, read-to-write ratio, sustained and peak IOPS, queue depth, and tail latency. Test with a representative working set because cached benchmarks can hide storage bottlenecks. For Amazon EBS, compare general-purpose SSD options such as gp3 with provisioned-IOPS SSD options when the workload requires higher performance or more consistent latency. Check both volume limits and the EC2 instance's EBS limits before buying additional performance.
Application changes can also reduce storage costs. A cache can serve frequently requested records without another storage read, while batching and locality-aware data layouts can reduce scattered access. Database buffer pools similarly keep frequently used pages in memory. These techniques do not eliminate durability requirements, and write-back caching requires careful failure handling. Finally, random access is not the same as frequent access: an infrequently used dataset can still generate random I/O, while a busy streaming workload can remain sequential. Storage selection must consider access order, frequency, durability, and latency together.