• subscribe
September 04, 2008 12:00 AM

Will Database Tuning Become Obsolete?

SQL Server Pro
InstantDoc ID #100181

Last week, my business partner sent out a message to all the partners that included the following comments, which I’ve slightly edited to remove specific comments about our company:

“Over the past couple of years, I have been closely watching some technology changes that are occurring in the storage area. The technology I am speaking of is that of SSD—Solid State Drives. Over the past year, I have been teaching about their imminent arrivals within the IT community. Earlier this year, significant advances in the technology have hastened that arrival.

“As you may know, Apple with its 'Air' laptop recently began shipping a SSD as its primary hard drive. Quickly following that was Dell and several others. In addition, there have been several companies that have released server-class storage products based on SSD technology. The performance increases between legacy spindles and SSD are phenomenal. For example, seek times for a top-end SCSI or SAS drive is 3-6 milliseconds. For SSD it is 15 microseconds. IOPS (I/Os Per Second) for legacy drives are measured in hundreds per spindle. For SSD it is measured in hundreds of thousands.

“Recently IBM just released results that have now pushed IOPS for SSD to over 1 million. This is simply unheard of in today’s spindle based storage solutions.
http://www.networkworld.com/news/2008/082808-ibm-flash-memory-million-iops.html?hpg1=bn

“Those types of performance numbers at the storage level can do miraculous things to cover up extremely poor database design and inefficiency. This type of technology widely implemented may render many (or most) current tuning problems a moot point.


“In the past, the costs of these systems have precluded them from widespread use but that is changing, and by next year I believe we may begin encountering server-based SSD installations; if not in 2009, definitely by 2010.”

So what does SSD mean for the glorious profession of database tuning? If developers can write any code, with any (or no) indexes, and still have it perform well, why would tuning matter?  I'm sure there are purists among us who would still want to get the best code and best indexes they could. But others, who aren't so well versed in monitoring their SQL Servers and examining their query execution plans, might not even realize there are improvements that can be made, if no one is complaining about slow-running queries.

There's still the aspect of concurrency and blocking problems that database tuners might have to busy themselves with. As I tell my students, “You can have the fastest running query in the world, but if it can’t get to the data it needs because the data is locked exclusively by another process, it doesn’t matter how fast your query is when run in isolation. It will appear that the query is slow." I also think that database design will start to become a bigger issue. Most of my clients just want the query to run fast, and now. No one wants to even think about completely redesigning their database.  But poor database design can not only lead to slow queries, which we might not be worrying about anymore, but also more overhead to make sure duplicate data is managed appropriately and your queries are written correctly. Database design is a seriously overlooked topic, and maybe if there’s less need to worry about query speed there will be more time to evaluate your design. That’s not a bad thing at all!

So what do you think? How will your tuning needs change if your queries start running a thousand times faster? Will you worry about good indexes and execution plans at all?



ARTICLE TOOLS

Comments
  • Mike
    2 years ago
    Jan 10, 2010

    Is this a serious question? Of course developers need to worry about indexes and execution plans! Bad execution plans, even over fast I/O, use CPU and cause additional locking, which hurt concurrency. Even if I/O is 1000 times faster, scalability and performance are still gated by I/O. A 1000 times increase in performance isn't enough to overcome a table scan when a well-indexed lookup would have gotten the results a million times faster.


    Say you've got a table with a million pages. An indexed lookup into that table probably does six or eight reads to traverse the index and return a single row. A scan does a million reads to find the matching row. On spinning storage or SSD, the indexed query is about 125,000 times faster. The optimized query against cheap spinning storage is 125 times faster than the unoptimized query against the expensive SSDs, using your assumption that they're 1000 faster for I/O operations.

    Aren't you just asking if people want their systems to be 125 time slower?



    The article--which is just a quickly edited rehash of an internal email--neglects the performance issues of SSD and their

  • marius
    3 years ago
    Jan 19, 2009

    SSD disks may already be obselete?
    http://thefutureofthings.com/news/6186/laser-hard-drives-in-the-making.html

    It will be interesting that read/write to disk will be faster than read/write to RAM.
    RAM today has an average of 10Gbit/s transfer speed. Pico/femto-laser harddrive has a transfer speed of 1Tbit - 100Tbit.
    SSD has a transfer speed of aboiut 3 Gb. Conventional harddrives today has a transfer speed of about 1Gbit/s.

  • Neil
    4 years ago
    Sep 16, 2008

    Never under-estimate the fact that the SQL optimizer can and sometimes does choose a horrible execution plan, it will take an otherwise well performing query and make it take exponentially longer to execute. The query plan could be using up unnecessary io reads or spinning cpu. In the face of this, faster disk io will be of little consequence. SQL Server has the ability to take even the fastest hardware available and turn it into a puddle of molten metal with nothing other than an inefficient query plan.

    Yes, with SSD, for 90% of the database world run in small to medium size shops with small to medium size databases, any performance problems will all but disappear. SQL Server is virtually self-tuning in these small environments and most of these little shops have no DBA for this reason and can't understand why they would ever need one. The other 10% know the real value of seasoned DBA who knows how to really "tune" a db and "that" will never be replaced by faster hardware.

  • Larry
    4 years ago
    Sep 11, 2008

    Exactly. If a "new storage technology ... appear[s] that could have I/O's per second (IOPS) rates thousand of times faster than they are now", databases will simply evolve to consume those resources.

    Looking forward to maintaining that 5 YottaByte database...

  • Brennan
    4 years ago
    Sep 08, 2008

    Didn't this sort of phenomenal change happen in the non-database world not so long ago, when memory was really expensive and 16MB was thought to be huge. Now all we do is shove as much memory in the box as we can and not worry about performance tuning our code - our .Net developers don't evan know what performance tuning is...perhaps it will be the same for database developers in a few years.

You must log on before posting a comment.

Are you a new visitor? Register Here