Microsoft Azure Cache vs. NCache for Azure

This document compares Microsoft Azure Cache with NCache for Azure 4.3, and contrasts their significant differences. This comparison focuses on all the major areas that a good distributed cache should provide.

Download PDF

Feature Area

Microsoft Azure Cache

NCache for Azure

Performance & Scalability

Has performance and scalability issues that are due to WCF as the transport layer and lack of advanced performance optimizations features. Optimizations provided as options. All Bulk operations provided. Custom compact serialization provided. Async operations provided. And much more.

Cache Elasticity
(High Availability)

No peer to peer architecture. Something resembling master/slave architecture employed. If some of the “lead nodes” or the configuration file server goes down, the entire cache could potentially go down. Highly elastic with 100% uptime. Peer to peer cache cluster architecture. Connection failover support and dynamic configuration.

Cache Topologies

Local cache and partitioned-replicated cache. No Replicated caching may result in loss of data. Rich options. Mirrored, Replicated, Partitioned, Partition-Replica, and Client Caches. Highly dynamic. And intelligent replication provided.

WAN Replication

No support for it. Supports WAN replication between following sites. Active-passive, active-active, one-active & multiple passive, and 3 or more active sites. No performance drop.

Cache Administration

Very basic cache admin GUI tool. No dedicated cache monitoring tool. Only PerfMon counters provided for monitoring. PowerShell based Cmdlets provided. Very feature-rich GUI tools. NCache Manager, NCache Monitor, PerfMon counters, and command line tools provided.

Security & Encryption

No encryption provided for data in the cache. Authentication/authorization provided only in Shared Cache. Active Directory/LDAP authentication, authorization, and 3DES/256AES encryption. No programming needed.

Object Caching Features

Basic operations and locking provided. Limited support for expirations. And, no streaming API provided. Very rich operations. Get, Add, Update, Remove, Exists, & Clear Cache with many options. Both absolute & sliding expirations. Lock/unlock, item versioning, and streaming API provided.

Managing Data Relationships

No support for it. Key based Cache Dependency allows you to handle one-to-one, one-to-many, and many-to-many relationships in the cache automatically.

Synchronization with
Data Sources

No support for it. SqlDependency, OracleDependency, DbDependency, & CLR Stored Procedures for database synchronization. File based and Custom dependency for non-relational data sources.

Runtime Data Sharing

Very limited support. Publish/subscribe events not supported. Continuous Query not provided. Only item level and cache level update/remove events provided. Events, Continuous Query, .NET/Java portable binary data, and more. Use NCache for Azure for publisher/consumer data sharing between .NET/.NET or .NET/Java apps.

Search Cache (SQL-Like)

No support for it. Object Query Language (OQL) and LINQ. Search cache on object attributes, Tags, and Named Tags with SQL-like query.

Data Grouping

No support for Group/Subgroup or Named Tags. Only Tags are supported. Group/sub-group, Tags, and Named Tags. Group, fetch, update, and manipulate data intelligently.

Read-through & Write-through

No support for it. Multiple Read-thru, Write-thru, Write-behind. Use cache to fetch data from your database and simplify your apps. Also auto-reload cached items when expired or when database synchronization needed.

Cache Size Management

Yes (but at slab level)
LRU evictions
Yes (and at cache level) LRU, LFU, and Priority evictions. You can designate cached items to not be evicted with priority eviction.

ASP.NET Support

Basic ASP.NET Session State support. Session replication has performance and scalability issues. ASP.NET View State support is very basic. ASP.NET Output Cache supported. ASP.NET Session State, ASP.NET View State, ASP.NET Output Cache. Replication for sessions, View State, and page output. Link view state with sessions for auto expiry and much more.

Third Party Integrations

No official support for Memcached, NHibernate, and Entity Framework. NHibernate Second Level Cache Entity Framework Cache Extra features provided for all of these. Use all of these without any programming.

Download PDF