CTO, Software engineer and Team leader
PDC 2008 – Project "Velocity": A First Look
This presentation was held by Murali Krishnaprasad, who is a prestigious Microsoft professional. He is Principal Architect of Velocity – the distributed caching platform”. His presentation revolved around new methods and services for better caching web application, but also on scaling this methods for a computer farm or a cluster.
Let’s take a look on the system architecture:
First are presented three ways that helps websites by caching:
- Reference Data (Social Network) : local cache in webtier who keeps the link between Usernames and their corresponding database IDs and distributed cache keeping friends list usernames;
- Activity-Oriented Data (Enterprise LOB Application): the caches are now kept in Application Tier instead directly in Web tier, and integrated hubs keep their catalogs cached for easy retrieval;
- Resource-Oriented Data (Flight inventory and pricing booking service): the cache gets now his own compact layer whom keeps track on flight itineraries, segments of travel for interconnection in case of no direct flight, flight prices and seat inventory since most of customers want to choose also a specific seat (I personally love to fly on a seat with window, between cockpit and the wing plane because of visibility of terrain).
So there are lots of types of cache implementations – the question which arise is how this new service can improve the caching already existing ?
First thing that we notice is that it is a repository for cache. It is an explicit environment where almost any type of objects can be stored. Secondly, it can be distributed over several machines and still acts unitary.
More interesting points are underlined by Mr. Murali Krishnaprasad:
- it uses any device who has an Windows operating system, .Net framework installed, memory and network interface – not only expensive servers, but also normal development machines ( by example during the weekend when no one is in office );
- it increases performance by caching objects close to application;
- you can add more machines dynamically (by using one line of command prompt) as the load increases – the prerequisite is to have the Velocity service installed;
- the service has a backup mechanism which ensures that no data is lost when a machine who has a portion of cache exits ungracefully by keeping on all machines backups of cache from the other machines.
- it is an embedded service in ASP .Net application, so it can be used without much hassle, by using some directives in config file and CreateRepository and GET / PUT
One bad point that I noticed (in the final of the presentation – Questions part) is that all caching data is kept in memory, not being saved actively on hard drive.
The caching mechanism implements a expiry mechanism who ensures that the cached data is dropping old and unused data, but also refreshes it from time to time.
NOTE: All images presented here belong to Microsoft Corporation.
The show is presented in several formats for download and offline viewing: iPod (MP4) WMV WMV (High) Zune
| Print article | This entry was posted by Radu Poenaru on 3 December 2008 at 7:42 pm, and is filed under Conferences. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |
about 1 year ago
Although Velocity has made progress from CTP1 to CTP2, it still leaves much to be desired. It will be some time before they provide all the important features in a distributed cache and even longer before it is tested in the market. I wish them good luck.
In the meantime, NCache already provides all CTP2 & V1, and many more features. NCache is the first, the most mature, and the most feature-rich distributed cache in the .NET space. NCache is an enterprise level in-memory distributed cache for .NET and also provides a distributed ASP.NET Session State. Check it out at Distributed Cache. NCache Express is a totally free version of NCache. Check it out at Free Distributed Cache.