I was wondering why Microsoft officials decided this week to blog about the company's in-memory database moves. But now I think I know what was behind this.
It's looking like this may have been preemptive strike attempt, given that rival SAP held a media event on April 10 where its HANA in-memory technology introduced last year was prominent on the agenda.
In-memory databases, which originally have been primarily the domain of telephony, financial services, industrial control and other real-time-sensitive customers, rely on main memory, rather than disk storage, achieving faster query results even when processing increasingly larger volumes of data. Most of the big commercial database players -- from SAP, to Oracle, to IBM -- as well as a number of open-source backers have been talking publicly about their in-memory database products and strategies for a number of years.
Microsoft was rumored at one time to be in the market to either build or buy an in-memory database. But Microsoft's in-memory database strategy is more multifaceted -- and not yet fully realized -- according to company officials.
In the April 9 post to the SQL Server Team Blog, Microsoft SQL Server Technical Fellow Dave Campbell emphasized that in-memory database technologies ultimately achieve the highest value "when these capabilities are delivered as a part of a complete data platform."
In the Microsoft world view, the complete platform equals SQL Server -- preferably SQL Server 2012, the just-released version of Microsoft's flagship database, which incorporates new column-store technology that was codenamed Apollo -- as well as various complementary analytics products and technologies like PowerPivot and SQL Server Analysis Services.
From Campbell's post:
"Microsoft has been investing in, and shipping, in-memory database technologies for some time. We have created a column based storage engine which ships as part of the 'PowerPivot' add-in for Microsoft Excel. In SQL Server 2012, this ships as the xVelocity in-memory analytics engine as part of SQL Server Analysis Services. This same engine, integrated into the SQL Server RDBMS server ships as the xVelocity memory optimized columnstore index. This columnstore index will make its way into our parallel data warehousing product as well."
Andrew Brust, one of my ZDNet blogging colleagues and co-author of the soon-to-be-published "Programming SQL Server 2012, " said the xVelocity engine in PowerPivot and Analysis Services’ Tabular Mode can and should be considered an in-memory database in its own right.
Campbell also mentioned in his post that "Microsoft is also investing in other in-memory database technologies which will ship as the technology and opportunities mature." But company officials declined to say more concrete about this or share anything further on timing on this front.
"To date, Microsoft’s in-memory focus has largely been around analytics and data warehousing (column-based in-memory)," said Wes Miller, an analyst with Directions on Microsoft. "I can easily imagine that Microsoft will in time grow its in-memory functionality to encapsulate core OLTP (online-transaction-processing) scenarios as the technology matures, and wouldn’t be surprised to see it in future versions of SQL, though probably not in the near term. I’m inclined to think that this will also come from internal developments, not acquisitions, (as) this is something that’s hard to incorporate after the fact."
Any other SQL-Server-savvy folks out there have any clues (or guesses) as to what Microsoft might have up its in-memory database sleeve?