Historically, the most widely used types of storage have been DAS, NAS, SANs, and—more recently—iSCSI SANs. Each type has its niche, including associated advantages and disadvantages. But a new trend in the storage market threatens to blow them all out of the water: solid state disk (SSD). For a summary of other SQL Server storage options, see the Web sidebar "Other SQL Server Storage Options."
SSDs are the latest advancement in storage technology. The aerospace and military industries have used SSD technology since the mid-1990s, when M-Systems introduced flash-based SSDs. But recent price drops have brought SSDs into the enterprise IT market. SSDs are also gaining popularity for use in ultraportable notebook computers. SSDs have standard Serial ATA (SATA) connections and use solid-state memory to store data. In addition to flash memory, SSDs can use static RAM (SRAM) or DRAM. Because SSDs mimic hard drives, they can easily replace them.
SSDs provide numerous advantages over previous storage options. Because no rotation is involved (i.e., no moving parts), data access is faster than with DAS, NAS, or SANs—SSD access times range from 10 to 15 microseconds, which is 250 times faster than hard disk drives. A lack of moving parts also means increased reliability. In addition, SSDs use less power than other storage options. BiTMICRO Networks’ Product Officer Ces Martorillas notes that “from a cost-benefit standpoint, SSDs can replace approximately 200 HDDs ... not to mention the savings on power and cooling energy required per device.” SanDisk, a leading SSD storage vendor, asserts that “SSD is rugged, fast, and power efficient. It’s just what you need ... to drive your business more successfully.” One of the most crucial SQL Server database performance factors is I/O; SSDs’ faster data access times give them an important advantage over other storage mechanisms.
Traditionally, SSDs have had a fairly high cost per I/O operation—although recent advances in flash technology are lowering those costs. EMC spokesperson Colin Boroski notes that “over the next few years we expect flash drive prices will decline at a faster rate than traditional Fibre Channel drives due to the rapid advances being made in semiconductor manufacturing technologies and the natural effects of increased volumes in the market.”
In the past, SSD storage capacity was limited. One workaround for this problem is to store only your most frequently accessed data (e.g., tables, database components) on SSD. However, BiTMICRO Networks, who already offers 256GB SSDs, has announced plans to release SSDs with up to 832GB capacity in third quarter 2008. And the company claims to have packed a whopping 1.6TB into their E-Disk Altima E3S320 SSD.
When To Use SSDs
According to Texas Memory Systems, the SQL Server environments that can benefit the most from SSDs are those in which the servers have long I/O wait times. In the white paper "Faster SQL Server Access with Solid State Disks," the company recommends that you investigate the following SQL Server database components to determine the cause of increased I/O:
- The entire database—Look for excessively large databases, concurrent access by many users, or users frequently accessing all the tables in the database.
- Transaction logs—Look for a high number of entries, which occur during write transactions and increase a database’s I/O time.
- The temporary database—This database stores temporary data during many types of operations; complex operations can complete more quickly if the temporary database is on SSD.
- Indexes—SQL Server updates table indexes every time it adds or modifies a record, and it accesses these indexes during each read transaction, which results in frequent, small, and random transactions—and thus increased I/O time.
- Frequently accessed tables—As with indexes, when users access tables frequently, random data requests occur. Random requests translate directly into higher I/O wait times.
Moving to SSD can alleviate all these causes of I/O delay and improve SQL Server performance.
Several additional factors can come into play in the decision to move from traditional storage to SSD in a SQL Server environment. The size of an organization and the extent of its SQL Server use are important, if only indirectly. For example, small companies might not have the budget to implement SSDs—traditionally, SSD prices have been five times that of standard SATA drives. In addition, Mark Hayashida, CTO of Solid Data Systems, notes that “typically, larger companies tend to utilize a greater number of enterprise-class applications that benefit greatly by deploying SSDs within their storage pool.”
The most important thing to consider is the particular SQL Server applications that your organization employs. Eric Schott, the senior director of product management for Dell EqualLogic Storage, says the decision to switch to SSD is “a function of the performance requirements of the SQL application (database), and the importance of the application to the business.” The type of database (i.e., OLAP or OLTP) isn’t a factor—whether SSD will benefit a SQL Server organization depends on the types of transactions within that database.
Virtualization, as you might expect, is a factor you’ll want to consider before implementing SSDs in your SQL Server environment. The performance gains achieved by implementing SSDs are magnified in a virtualized SQL Server environment. In “The High Performance SAN Alliance: SAN, SSD, and Virtualization”, Texas Memory Systems notes that “a superior storage virtualization solution simplifies storage provisioning and reduces administrative overhead. It also enables and simplifies the targeted provisioning of resources, so that the fastest storage (e.g., SSD) can be provisioned to those applications that need it, when they need it, for maximum performance.” Eric Schott, of Dell, echoes, “Storage virtualization helps make it easier for the administrator to place appropriate data on the faster storage devices—storage virtualization lends to easier management.”
And as BiTMICRO Networks’ Martorillas says, “A superior storage virtualization solution simplifies the complexity in handling and managing storage needs for every application. With virtualized storage, applications requiring high levels of performance can be provisioned with the fastest storage, like SSD, in their storage pool. Virtualized SSDs, like any other virtualized storage, can be allocated and de-allocated depending on customer needs. Applications may only require a high level of performance for a certain period of time, so SSDs allocated in these applications may be re-assigned to other applications when needed.” Such flexibility is useful in a SQL Server environment in which applications periodically generate high volumes of transactions.
An Emerging Alternative
SSDs are no longer limited to government or niche markets. They’re widely available from several vendors for use in enterprise applications. SQL Server environments can especially benefit from SSDs, because SQL Server is such an I/O-intensive application. As the price of these devices continues to drop, and their storage capacity continues to increase, they present an affordable, high-performance alternative to traditional storage options.