What Does it Mean for Software?

SSD has already had a big impact on how we think about software, especially in the database business. Many RDBMS’s internal optimisations are based on the fact that the database is installed on a system with few CPUs, a bit of RAM and a large HDD. HDD’s are very slow and suffer from a lot of latency due to their spinning. Data needs to be cached on several layers – in the operating system that accesses blocks on the disk as well as in the database that accesses rows from the tables or indexes.

Index lookups have a tendency to cause many random IO operations and can thus benefit from the fast response time of SSDs. The fun part is that properly indexed databases get better benefits from SSD than poorly indexed ones

SSD is still relatively new and not yet fully adopted in enterprise data centers and associated software, yet already, we’re seeing this new trend:

From our perspective, the database metrics are even more interesting, as Stack Overflow is essentially running a single SQL Server instance (with a hot standby), accommodating 440M queries per day via 384 GB of RAM and a DB size of 2.4TB.

Now, let’s apply Intel’s new 3D XPoint™ technology to this model – perhaps we don’t need any disk anymore, after all (except for logging and backups)?

Don’t Scale Out. Yet.

A lot of recent hype has been evolving around the need for scaling out as Moore’s Law has come to a halt and we now need to parallelise on many many cores. But this doesn’t mean that we absolutely need to parallelise on many machines. Keeping all data processing in one place that can be scaled up greatly with processors and RAM will help us prevent hard-to-manage network latency and will again allow us to continue using established, slightly adapted RDBMS technology. Prices for hardware will crumble soon enough.

We’re looking forward to an exciting new era of scaling up massively. With SQL, of course!