Microsoft's Latest Data Driver: Velocity
On the data management front, one of the big surprises at last week's TechEd Developers conference in Orlando was Microsoft's release of Velocity, the code-name for a distributed, in-memory data caching platform that has been quietly under development in Redmond.
Velocity is designed to provide high-speed access to data developed in .NET via partitioned, replicated or local caches. "It's an application cache," said Anil Nori, a distinguished engineer in Microsoft's SQL Server group. Naturally, given his roots, I asked him if this is seen as an alternative to using the SQL Server repository. Nori explained the rational for data caching software, which he sees as a separate tier in the application stack.
"Today we have ASP.NET applications, which are going off to SQL Server," Nori said. "One of the bottlenecks we have is how do we scale our session state. The way we solve this is to use a distributed cache and you keep the session state in the cache, and it can provide a really large-scale place to really hold a session cache. Then you can provide better performance and scale."
What is not clear is Microsoft's intentions for commercializing Velocity. The company released it as a community technology preview (CTP) last week .
"We haven't figured out what is a long-term set of facilities, but one thing we feel strongly, is that it is aligned with the .NET stack rather than SQL Server," he said.
Nori did explain that CTP 1 Velocity offers dynamic scaling by adding nodes in memory and provides automatic load balancing and high availability by distributing copies of data across multiple nodes. However, it does not support any availability, Nori said.
In CTP 2, Nori believes Microsoft will offer higher functionality and it will round off with the utilities necessary to loading the caches, including high availability and improved integration for manageability. Microsoft is targeting its Professional Developers Conference in late October for that release, followed by a full release sometime in the second half of next year.
Meanwhile, Velocity caught a number of industry watchers off guard, though others say it makes sense for Microsoft to offer an in-memory data cache to help rev .NET applications.
"That wasn't something I saw coming," said Daniel Chait, managing director of New York-based Lab49, in an interview during this week's Securities Industry and Financial Markets Association (SIFMA). What remains to be seen, Chait said, is whether Microsoft plans to release Velocity as a product and in what form.
There are a number vendors who offer their own distributed cache products, among them GigaSpaces, Gemstone Systems, Oracle's Tangosol and ScaleOut Software. "[These companies] spent a lot of research and development money; they are naturally going to be upset," Chait said.
In fact, ScaleOut, took the unusual step of expressing its dismay in a press release. "We are disappointed that this surprise announcement has created confusion for our customers," the release stated.
Gideon Low, GemStone's principal architect, said during an interview at SIFMA that caching is just one component of its product family, which includes support for among other things complex event processing.
"It's really our roots. We began our product as a distributed caching product, but today it's really just a component of a much larger technology suite that we have," says Low. "Managing data in memory is very core to what we do because of the performance advantages of in-memory data management, but it really is a subset -- we're not a caching vendor so to speak."
Have you looked at the CTP yet? Let me know your thoughts.
Posted by Jeffrey Schwartz on 06/12/2008