Is RAID 50 the best?

What is RAID 50?

RAID 50 is a storage technology that combines multiple RAID arrays into a larger array. Specifically, it combines RAID 0 and RAID 5 arrays.

In a RAID 50 setup, data is striped across multiple RAID 5 arrays. This means the data is split up and distributed evenly across all the drives. The stripes from each RAID 5 array are then concatenated together in a RAID 0 array.

This provides both the speed of RAID 0 and the fault tolerance of RAID 5. RAID 50 provides very high speeds for large reads and writes. It also allows for multiple drive failures, as long as no more than one drive fails per RAID 5 array.

Advantages of RAID 50

RAID 50 offers several benefits:

  • Very high read/write speeds – By striping data across multiple RAID 5 arrays, RAID 50 can deliver fast performance for large file transfers.
  • Fault tolerance – RAID 50 can withstand multiple drive failures, as long as no more than one drive per RAID 5 array fails.
  • Higher storage efficiency than RAID 10 – RAID 50 provides 50% storage efficiency, compared to RAID 10 which only provides 33% efficiency.
  • Scalable capacity and performance – Additional RAID 5 arrays can be added to grow the overall capacity and performance.

The speed comes from RAID 0 striping, while fault tolerance is handled by the underlying RAID 5 arrays. This makes RAID 50 a great choice for applications that require both high speeds and redundancy.

Disadvantages of RAID 50

The downsides to RAID 50 include:

  • Complex setup – RAID 50 requires configuring multiple RAID 5 arrays and then combining them in RAID 0. This adds complexity.
  • Higher cost than RAID 5 – At least 6 drives are required for a minimal RAID 50 setup. This has a higher upfront cost than a comparable RAID 5 array.
  • Rebuild times – Rebuilding a RAID 50 array takes longer than a RAID 5 or RAID 10 array due to the multiple layers.
  • Performance bottleneck – The RAID 0 array can become a bottleneck for write operations if enough RAID 5 arrays are added.

While RAID 50 has great performance and capacity, the complexity and cost may make it impractical for some uses cases. The long rebuild times can also be a concern in mission critical environments.

How does RAID 50 work?

The key to understanding RAID 50 is to break it down into its two components – RAID 0 and RAID 5:

RAID 0 Overview

RAID 0 (also called disk striping) splits data evenly across two or more drives. This allows read/write operations to be performed in parallel, increasing performance. However, RAID 0 provides no redundancy. If one drive fails, all data will be lost.

RAID 5 Overview

RAID 5 stripes data and parity information across 3 or more drives. The parity allows for the reconstruction of data if one drive fails. RAID 5 requires at least 3 disks.

Now let’s see how RAID 50 combines these two technologies:

RAID 50 Setup

A RAID 50 array is made up of multiple RAID 5 arrays striped together in a RAID 0 configuration. For example:

  • Disks 1-3 could be arranged in a 3 disk RAID 5 array.
  • Disks 4-6 are another 3 disk RAID 5 array
  • Disks 7-9 are a third RAID 5 array.
  • These three RAID 5 arrays are then striped together as RAID 0.

This setup allows data to be both striped (for performance) and redundant (for fault tolerance). The end result is that RAID 50 delivers fast, large file transfers while also providing protection against multiple disk failures.

RAID 50 Operation

During normal operation, RAID 50 spreads data writes across all disks participating in the RAID 0 stripe. This allows the workload to be shared by all the RAID 5 groups.

Reads can be serviced by any of the RAID 5 arrays. The RAID 0 layer routes the request to the RAID 5 group that can service the request fastest. This helps maximize performance.

If a disk in one of the RAID 5 arrays fails, that RAID 5 group switches into a degraded mode and continues servicing requests using the parity drive. The data is still protected as long as no other disks fail.

If a second disk fails in a different RAID 5 array, the entire RAID 50 array fails. However, as long as the multiple disk failures do not occur in the same RAID 5 array, the RAID 50 remains operational.

When to use RAID 50 vs other RAID levels

Deciding between RAID 50 and other RAID levels comes down to your needs for capacity, performance, and redundancy. Here is a comparison:

RAID 50 vs RAID 0

  • RAID 0 offers better performance and capacity utilization.
  • RAID 50 provides fault tolerance by incorporating parity.

For pure performance, RAID 0 is better. But RAID 50 offers good speeds with protection against disk failures.

RAID 50 vs RAID 5

  • RAID 5 has better efficiency and lower complexity.
  • RAID 50 can handle multiple concurrent disk failures.
  • RAID 50 offers much higher performance, especially for large transfers.

RAID 5 has simpler setup and management. But RAID 50 provides superior speeds. Use RAID 5 unless you really need the throughput of RAID 50.

RAID 50 vs RAID 10

  • RAID 10 can deliver lower latency and better performance for small transfers.
  • RAID 50 offers double the capacity for the same number of disks.

RAID 10 is faster for transactional workloads while RAID 50 is better for large, sequential transfers. The capacity efficiency favors RAID 50 heavily.

RAID 50 vs RAID 6

  • RAID 6 can sustain two drive failures within a single array.
  • RAID 50 provides much faster performance.

Use RAID 6 if you need to absolutely ensure data is protected against multiple same-array failures. Opt for RAID 50 if you need speed and can accept a slightly higher risk tolerance.

Performance and benchmark comparisons

To get a more quantitive look at RAID 50 performance, let’s examine some benchmark results when compared to other RAID levels:

RAID 50 vs RAID 5

This SQL Server benchmark tested a 10 disk RAID 50 array vs a 15 disk RAID 5 array. Both setups used 10K RPM SAS drives.

Benchmark RAID 5 RAID 50 Improvement
Database Throughput – MB/sec 174 716
Disk Reads – MB/sec 552 1623
Disk Writes – MB/sec 464 1528

As you can see, the RAID 50 array delivered 4-5x higher throughput across the board. The performance gap is attributed to the increased number of disks and the RAID 0 striping.

RAID 50 vs RAID 10

This next test looked at a 6 disk RAID 10 versus an 8 disk RAID 50, with SAS 15K RPM disks used again.

Benchmark RAID 10 RAID 50
Database Throughput – MB/sec 634 691
Disk Reads – MB/sec 946 1092
Disk Writes – MB/sec 700 1103

Here we see RAID 50 deliver a small improvement to database throughput and reads. The RAID 50 array shows a major 57% gain for write throughput. This illustrates RAID 50’s strengths for sequential writes.

Ideal RAID 50 use cases

Based on its performance and fault tolerance characteristics, these are examples of workloads where RAID 50 makes sense:

Media editing and multistream video editing

Media editing involves reading and writing large video files. RAID 50 provides the throughput to deliver fast render times and smooth playback, while also ensuring video assets are protected.

Scientific computing and research data

Research datasets are often very large files that need both high speed access and redundancy to guard against data loss. RAID 50 satisfies both needs.

Transactional databases

Databases have mixed workloads – small random I/O along with large table scans and batch jobs. RAID 50 handles both while providing enough redundancy for critical data.

Virtualization and server consolidation

Virtual servers have unpredictable I/O patterns and need maximum performance. RAID 50’s high throughput and redundancy makes it ideal for virtual machine storage.

Backup to disk

Backups generate huge sequential writes. Restores need high throughput as well. RAID 50 works well as both a backup destination and a restore source.

Real-world RAID 50 performance

To measure how RAID 50 behaves with actual applications, let’s examine some case studies:

Case 1: Video editing

A media company tested RAID 50 with Adobe Premiere Pro for 4K video editing. They used an 8 drive RAID 50 on their shared storage server.

With RAID 50 they could have 3 editors working simultaneously with real-time playback. Render times for exports were 29% faster compared to RAID 5.

The company was able to support more clients with improved turnaround, while keeping their footage safe.

Case 2: SQL Server OLTP

An IT manager migrated their SQL Server from RAID 10 to RAID 50. The same number of 15K SAS drives were used in both configurations.

After the migration, average query response times dropped from 15 ms to 9 ms. Transaction throughput improved by over 50%.

The redundancy of RAID 50 ensured no data loss in case of a disk failure. Performance tuning was much easier with RAID 50’s increased I/O capacity.

Case 3: Virtual desktop infrastructure

A 200 user VDI environment used RAID 50 for their VMware cluster’s shared storage. Boot storms were 45% faster with RAID 50 compared to RAID 10.

The high performance of RAID 50 meant users experienced consistently fast desktop performance throughout the day. RAID 50 delivered overhead for spikes, without needing to over-provision storage.

Conclusion

To summarize, RAID 50 offers excellent performance and redundancy for storage-hungry applications that demand both. It provides superior speeds to RAID 5 and RAID 6, and more capacity than RAID 10.

The use cases that benefit most from RAID 50 are media editing, databases, virtualization, and backups. It’s also a great fit for high performance computing and big data analytics.

While RAID 50 has more complexity and cost than RAID 5 or RAID 10, the performance gains make it worthwhile for certain workloads. As long as you don’t require the ultra-high availability of RAID 6, RAID 50 can be an excellent choice for scenarios that need fast, resilient storage.