MS SQL Server to Receive In-Memory Technology

If you’ve been unhappy with how slowly MS SQL Server handles online transaction processing (OLTP), you can look forward to greater speed – eventually. Microsoft is testing out in-memory capabilities for SQL Server, and plans to add them to the next version of the relational database management system. The new technology, code-named Hekaton, will let users host database tables or even entire databases within a server’s working memory. Computerworld talked to Doug Leland, Microsoft general manager, about this capability. He noted that “Any application that is throttled by the I/O of a hard disk would benefit by [having its data] moved into memory.” Why does holding a database table directly in a server’s memory speed up the handling of database transactions? It’s simple, really. When a database is sitting on a hard disk, the server needs to find the data on the disk, and then read it; depending on the transaction, it might have to write data to the disk as well. Disk memory is slower than memory that sits directly on the server – and on top of that, there’s much less back-and-forth from the server to find data and carry out transactions. How much faster are we talking about here? In a recent blog post on Hekaton, Microsoft discussed the experience of one of its customers trying out the new technology. The customer, bwin, is an online gaming company. “Prior to using ‘Hekaton,’ their online gaming systems were handling about 15,000 request per second, a huge number for most companies,” Microsoft notes. After using Hekaton, though, “They were ‘pretty amazed’ to see that the fastest tests so far have scaled to 250,000 transactions per second.” Indeed, Microsoft was keen to note in its blog that Hekaon “will provide breakthrough performance gains of up to 50 times.” Sadly, it can only run on a single server, but it appears to be able to scale up to however much RAM can be installed on that server. In an effort to make the new technology easy to use, Microsoft will include a tool in the next version of SQL Server to let administrators indicate databases or individual database tables that can be run in memory. Users will not need to change the applications that use those databases. Hekaton will even be able to compile store-procedures, enabling them to run in-memory as well. As Leland explained, “You can compile your stored procedures and run them as native machine code.” Microsoft’s adopting in-memory technology for SQL Server puts it back in the same ballpark with its rivals. Oracle’s Exadata boasts in-memory technology, as does SAP’s HANA. The real problem for Microsoft is that its new Hekaton technology is not available to the general business public yet. The software giant plans to include it in the next version of SQL Server, but it has not revealed when that “next version” will be released. Given the choice between waiting for a much faster technology and checking out other databases that already utilize that technology, it isn’t clear what Microsoft’s target market will do.  One can only hope that Hekaton is worth the wait.