Visual Studio 2010 and.NET Framework 4 Training Workshop
Presentation Outline (hidden slide): Technical Level: 300 Intended Audience: Developers & Architects Objectives (what do you want the audience to take away): Understand why Velocity is being introduced Understand how to use Velocity Presentation Outline: Data Types “Velocity”: What/Why/Where? Concepts Features Futures
A Lap Around “Velocity” Name Title Organization
Agenda Data Types “Velocity”: What/Why/Where? Concepts Features Futures
What kind of data do we work with in our applications?
Data Types Reference Read* Mostly static High traffic High Availability Application-wide Reference Read* Mostly static High traffic High Availability Application-wide Activity Read/Write Changes heavily User-specific High-Scale Activity Read/Write Changes heavily User-specific High-Scale Resource Read/Write Changes heavily Application-Wide High-Scale Resource Read/Write Changes heavily Application-Wide High-Scale Examples: 1)States 2)Catalog Examples: 1)Session 2)Shopping Cart Examples: 1)Inventory
Alright great, so how does “Velocity” help, if at all?
What? Unified Cache View An explicit, distributed, in-memory application cache for all kinds of data (CLR objects, rows, XML, Binary data etc.)
Why? Because you care about any of the following: 1.Performance 2.Scalability 3.Availability
Did I mention that “Velocity” is…
Where? DatabaseDatabase CloudCloud App Tier Cache Tier Data Tier Potentially expensive read/writes
Is it a hassle to install and manage “Velocity”?
Installation
Regions Logical Hierarchy Region A Key Payload Tags 123 yyyy “Toy” “Chair”.. Velocity Service 123 yyyy “Toy” “Chair”.. Named Cached: Catalog Named Cached: (Default) Regions (Default)
What does “Velocity” data partitioning look like?
Data Partioning + HA AA CC EEDD BB GGIIHHFF AA CC EE DD BB GG II HH FF Cache Tier App Tier
So what happens if one of the servers goes down?
Failover AA CC EE DD BB GG II HH FF AA CC EE DD BB GG II HH FF Cache Tier App Tier CC II EE DD CC II AA HH EE
Great, so what does the programming model look like?
Caching
Does “Velocity” provide any concurrency support?
Optimistic Concurrency ABC 1. Get2. Get 3. Put 4. Put
Pessimistic Concurrency ABC 1. Get/Lock 2. Get/Lock 3. Get 4. Put
Concurrency
Futures Read-through Write-behind Bulk Access Security Notifications LINQ Queries Cloud
Summary Data Types “Velocity”: What/Why/Where? Concepts Features Futures