In last month's column, "2012 Might Really Be the End of the World as We Know It," I described a number of major developments in the IT industry that are likely to disrupt the life of database professionals everywhere. I categorize those four disrupters - virtualization, cloud computing, solid state drives (SSD), and advanced multi-core CPUs - into two broad groups.
I'm going to continue an analysis of these disruptive technologies in inverse order. Today, let's discuss SSDs.
Just to set the context, remember that traditional hard drives are mechanical devices with spinning CMOS-covered disks whose armatures must read and write sectors from all across the surface of the platter. SSDs, on the other hand, are a form of memory - without moving parts, reading and writing at the speed of electrons. Without mechanical components, they suffer less wear and tear, use less power, are quieter, are less susceptible to certain kinds of physical shock, and are a lot faster for random reads and writes than hard disks. They're still faster than hard disks for large sequential reads and writes, but less dramatically so. On the other hand, they certainly do cost a few dollars! (Refer to Wikipedia at http://en.wikipedia.org/wiki/Solid_state_drive for a good overview, if you're unfamiliar with this technology.)
If I had to choose the number-one most common performance problem on high-end SQL Server database applications, it would be IO performance. (Of course, bad programming trumps all other database problems. Bet let's assume that coding is off the table for the moment.) Companies with good developers and DBAs know that IO is a huge issue and, for their most important systems, spend a lot of time designing an optimally configured IO subsystem. Many of these organizations are used to spending up to seven figures for a top notch IO subsystem. They hire storage system professionals solely for the purpose of keeping these systems running at peak performance and problem free. They hire IO tuning database specialists, many of whom are my friends, to help fix major problems and to plan and implement new applications.
In other words, top tier IO subsystems cost big money and support a lot of jobs.
Now that commercial-quality SSDs are becoming commonplace, I wonder if the writing is on the wall. How many new applications are going to use hundreds of spinning disks to meet their IO requirements when a handful of silicon wafers can meet the same IO speeds? You don't have to be a fortune teller to know that SSDs are going to displace hard disks over the next decade. Does that mean that you won't need hard disks anymore? Hardly. After all, we still have tape drives and, in certain situations, they're still practical. Hard disks will similarly be around for years to come; but, I also think we'll see a landscape where IO tuning keeps database professionals up a lot less at night and, for my buddies, brings in a lot less billable hours.
An intriguing white paper by Dell reports that a high-end SQL Server OLTP system with 7,000 users was able to decrease response time from a high of around 400ms on a traditional hard-disk IO subsystem down to 2ms on an SSD IO subsystem from Fusion-IO. (To read "Accelerating Dell SQL Server 2008 R2 Database Solutions Using PCIe Solid-state Storage," go to: http://i.dell.com/sites/content/business/solutions/whitepapers/en/Documents/sql-server-dell-sql-2008-r2-fusion-io.pdf. )
The good news about SSDs is that while they may cost a lot more than hard disks (nearly 10 times more, at the time of writing), they can help solve a lot of high-end performance problems without adding a lot of complexity. SSDs, despite their different architecture, are still a logical hard drive to the operating system. You won't have to reconfigure your brain to figure them out and get them up and running.
Today, I'm seeing lots of customers with demanding applications move fully to SSDs, or at least to tiered data storage where data is automatically moved between super-fast SSDs, fast hard disks, and slower hard disks, according to how the data is needed. These forerunners are implementing a technology that will be commonplace within a few years.
Is that a bad thing? I don't think so - especially since you've got plenty of time to start learning about the technology and, where appropriate, testing it for implementation. Talk to your boss, your teammates, and your co-workers in other parts of the organization to find out what they're hearing. The consensus almost certainly will be "curious and interested." So get ahead of the curve now, and be the hero who learns this technology first. It'll help secure your future in these uncertain times.