2.6. Solid-state disks

Solid-state disk (SSD) technology has been around for many years. When compared to traditional spindle-based hard drive storage, SSD storage, also referred to as flash storage, offers many crucial advantages, including reduced power consumption, smaller size, and reduced seek latency. It's used today in a broad range of consumer electronics devices, from USB memory sticks and MP3 players to recently released laptop hard drives.

In contrast, the implementation of SSDs in the enterprise space has been hampered by a number of key limitations, primarily the relatively poor random write performance and the increased cost. There's no denying that once these limitations are overcome (there's credible evidence to suggest we're almost there), enterprise-based deployments of flash storage are a real possibility, and 2009 may well be the tipping point.

Let's have a closer look at SSD, beginning with an overview of how it works and its key limitations, followed by the important ramifications it will have on SQL Server deployments in the not-too-distant future.

2.6.1. What is SSD?

In contrast to spindle-based hard drives where movable disk heads are positioned over spinning magnetized platters, SSD drives have no moving parts, storing data in an array of cells. SSD-based storage offers the following benefits over traditional spindle-based hard drives:

  • Reduced seek latency

  • Faster boot times

  • Lower power consumption

  • Shock resistance

  • Reduced weight

  • Lower heat generation

From a SQL Server perspective, arguably the greatest advantage of flash-based storage is its very low seek latency. In a traditional hard disk, accessing data requires spinning platters and moving heads in order to read data from the appropriate section of the disk. Therefore, seek time becomes the dominant cost of random I/O operations typical of OLTP applications. In contrast, seek latency in flash storage is constant (and low), regardless of the physical location of the required data on the flash device.

Where traditional hard drive seek latencies are measured in milliseconds and their IOPS in the hundreds, SSD latencies are measured in microseconds with IOPS in the tens of thousands. In summary, random read I/O operations are orders of magnitude faster.

Despite the very good random read performance, SSD-based storage faces a number of obstacles before it will see widespread use in the enterprise space, as you'll see next.

2.6.2. Current limitations of SSD for enterprise deployments

One of the key limitations of flash storage is the process used to overwrite existing data. Unlike spindle-based storage, which can simply overwrite data as required, flash storage must first erase cells before the new data can be stored. As a result, write performance, particularly random write performance, is (currently) lower than traditional spindle-based storage.

In addition to the erase operation slowing write performance, there's a limitation to the number of times a given cell can be erased and reused, therefore limiting the usable life of a given flash drive. Finally, the cost of flash storage makes its implementation in large database applications very expensive. While a single 320GB laptop drive may be affordable, the cost of a RAID-based storage array with terabytes of capacity is prohibitively expensive for most organizations.

Given the massive potential of flash storage for large-scale server use, manufacturers are coming up with various implementations to overcome its current weaknesses, with internal write balancing across cells to reduce wear and increase usage life, and several methods to increase write performance. Further, the increased production rates are seeing a corresponding decrease in cost.

It's the expectation of a lot of experts that flash-based storage will soon become a common server-based storage option, with SQL Server databases a prime beneficiary.

2.6.3. Potential advantages for SQL Server deployments

In almost all cases, the storage system is the slowest component of a server. It follows that a performance-tuning exercise, particularly for SQL Server deployments, will have a core goal of reducing the amount of data that needs to be read from and written to disk, therefore addressing the most likely performance bottleneck. Effective indexing strategies are front and center in this process, and we'll cover this topic in detail in chapter 13.

With the promise of a potentially massive increase in I/O performance, particularly in large-scale SSD-based arrays, one of the real implications of SSD storage is for the bottleneck to begin shifting away from disk I/O to the CPU and other server components. In turn, this has a number of interesting implications from a DBA perspective, not the least of which is for poor database design to be masked by improved I/O performance.

No one is seriously suggesting that database design will no longer be important, but there's no doubt that SSD technology is a potential game changer for the DBA, opening up new opportunities and forcing a reexamination of server-sizing and performance-tuning strategies in the years to come.

SSD disks have already started to appear in top-end SAN storage solutions; it won't be long before this technology filters down and becomes available as commodity server components.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.205.99