…Application /Web Tier
Users
Database Data tier
Application Application Application
Asp.Net app Session cart
hosted in memory
Load balancerSticky routing
Catalog sits in database
Gas Prices Go up!!
Stock Price Goes Down!!
…
Application/ Web Tier
Users
Database Data Tier
Application Application Application
Web
site’s too
slow!!
Servers are
crashing
Database is
hot!!
Where did
my
shopping
cart go?
http://www.iis.net/extensions/ApplicationRequestRouting
http://msdn.microsoft.com/en-us/data/cc655792.aspx
Unified cache view
Velocity callers can be spread
across machines or processes
Callers access the cache as if it
was a large single cache
Cache layer distributes data
across the various cache
nodes
… Application/Web tier
Users
Database Cloud Data tier
Application Application Application
Velocity access layer
Velocity access layer
Velocity access layer
Ve
locity
se
rvic
e
Ve
locity
se
rvic
e
Ve
locity
se
rvic
e
Cache tier
Operation Throughput Latency
Read 2k 30,000 / sec 3 – 4 ms
Write 2k 18,000 / sec 3 ms
Operation Servers Throughput
Read 2k 1 30,000 / sec
Read 2k 2 58, 600 / sec
Read 2k 3 85, 500 / sec
Velocity
Do all this at low cost!
* Requires windows server. Final SKUs/product positioning hasn’t been figured out and some capabilities/number
of nodes may require additional licenses
CTP1
• Teched
CTP2
• PDC 2008
CTP3
• End of Mar ‘09
RTM
• Mid 2009
Sector Description
Media Cache all media files and metadata; big media provider in US
Content Big content provider in Europe
Content MSDN forums is live on CTP2
Healthcare One of the large health care ISV in the world; US
Finance Big brokerage firm/banking; high performance computation
Gaming Notifications for presence;
Enterprise Largest mainframe migration to Windows
Manufacturing Manufacturing process monitoring
Insurance Session data for insurance purchase
Reference
Activity
Resource
…
Session state stored in velocity
Ve
locity s
erv
ice
Ve
locity
se
rvic
e
Load balance requestsNo more sticky routing
Application
Velocity sessionstoreprovid
er
Application
Velocity sessionstoreprovide
r
Application
Velocity sessionstoreprovider
Ve
locity s
erv
ice
Scale your session storedynamically
Highly available
Drop in velocity sessionstoreprovider
<sessionState mode="Custom"
customProvider=“DataCacheSessionStoreProvider">
<providers>
<add name=“DataCacheSessionStoreProvider"
type=“Microsoft.Data.Caching.DataCacheSessionStoreProvider,
ClientLibrary"
cacheName="<YourNamedCache>"/>
</providers>
</sessionState>
Caching Reference Data
Web tier
Clients
Local cache (in Proc)
Velocity
Data tier
User profile
threads…
Scenario: MSDN forums
Caching Activity-Oriented Data
Data tier
Application tier
Distributed cache
Integration
hub
Clients
Web tier
Vendor services
Pricing
Vendor
sources
Order,invoice,
payment
Aggregated
vendor
catalogs
Scenario: Insurance
Caching Resource-Oriented Data
Scenario: Flight Inventory and Pricing
Application tier
American
Distributed cache
Flight
Itinerary
Flight
segment
Flight price
Airlin
es
Seat inventory
Booking service
Catalog
Shopping
cart
Inventory
Ve
locity
Se
rvic
e
Cache Tier
Configuration Store
(Can be database, File share, etc.)
Stores Global Cache Policies
Stores Current Partitioning Information
Ve
locity
Se
rvic
e
Ve
locity
Se
rvic
e
Install Windows Cache Service
Copy Client DLLs and add app.config
…
Users
Application/ Web Tier
Application
Velocity Client
Application
Velocity Client
Application
Velocity Client
<configuration>
<configSections>
<section name="dataCacheClient"
type=“Microsoft.Data.Caching.DCacheClientSection,CacheBaseLibrary"
allowLocation="true" allowDefinition="Everywhere"/>
</configSections>
<dataCacheClient deployment="routing">
<localCache isEnabled="false" sync="TTLBased“ tlValue="300”/>
<hosts>
<host name="BL1CDB8083714" cachePort="22233"
cacheHostName="DistributedCacheService"/></hosts>
</dataCacheClient>
</configuration>
… Application/ Web tier
Cache tier
Ve
locity s
erv
ice
Ve
locity s
erv
ice
Users
Application
Velocity clientlocal cache
Ve
locity s
erv
ice
ApplicationVelocity clientlocal cache
Application
Velocity clientlocal cache
A C EDB G IHF
… Application/ web tier
Users
Application Application Application
Velocity access layer
Velocity access layer
Velocity access layer
Ve
locity
se
rvic
e
Ve
locity
se
rvic
e
Ve
locity
se
rvic
e
Cache tier
Storage/Microsoft SDS
… Applicationroles
Users
Application Application Application
Velocity access layer
Velocity access layer
Velocity access layer
Ve
locity
se
rvic
e
Ve
locity
se
rvic
e
Ve
locity
se
rvic
e
Velocity roles
Storage/Microsoft SDS
Cache2Cache1
Primary regionsPrimary regions
Toy1,
500
Cache3
Primary regions
Toy2, 350Toy3, 400
Cache API
Local cache
Velocity
client
Dispatch manager
Federated query processor
Object manager
In-memory Data Manager
Query processor
Object manager
In-memory Data Manager
Query processor
Object manager
In-memory Data Manager
Query processor
from toy in catalog<Toy>()
where toy.ToyPrice > 300
select toy;
ToyRegion
Toy4,
100
from toy in catalog<Toy>()
where toy.ToyPrice > 300
select toy;
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.