Redis vs NCache - A detailed feture level comparison
1. NCache vs Redis
Detailed Feature Comparison
NCache 4.6 Enterprise Edition
Redis v3.2.3
NCache vs Redis Comparison 1www.alachisoft.com
2. CONTENTS
• The Scalability Problem and Solution
• Uses of a Distributed Cache
• Distributed Cache Deployment Diagram
• Side by Side Comparison of NCache and Redis
– Platform and Technology
– Architecture
– GUI Tools
– App Data Caching Features
– ASP.NET
– Run-time Data Sharing with Events
– Other areas
www.alachisoft.comNCache vs Redis Comparison 2
3. The Scalability Problem
Application Tier Scales Linearly
BUT
Data Storage is the Bottleneck
(Relational Databases, Mainframe Data, etc.)
NoSQL Database Not Always the Answer
(cannot always replace relational DB)
NCache vs Redis Comparison 3www.alachisoft.com
4. The Solution
In-Memory Distributed Cache (NCache)
(Makes other databases faster and scalable)
Use it with
Relational Databases
Legacy Mainframe Data
NoSQL Databases
NCache vs Redis Comparison 4www.alachisoft.com
6. Common Uses of a Distributed Cache
1. App Data Caching
– Cache linearly scalable (database is not)
– Data exists in BOTH cache & database (permanent data)
2. ASP.NET Specific Caching
– ASP.NET Session State storage (single-site & multi-site)
– ASP.NET View State cache
– ASP.NET Output Cache provider
– Data exists ONLY in cache (transient data)
3. Runtime Data Sharing thru Events
– Event driven data sharing in pub/sub model
– Event notifications & Continuous Query
– Data exists ONLY in cache (transient data)
NCache vs Redis Comparison 6www.alachisoft.com
7. NCache is:
• The oldest .NET distributed cache in the market
• 100% native .NET integrated into the .NET stack
• Open Source under Apache 2.0 License
• Latest version, 4.6, is 12th
version
• Alachisoft is MS 2012 certified
• NCache has an AppFabric Wrapper
• Check out the following comparison to Redis
NCache vs Redis Comparison 7www.alachisoft.com
9. NCache
•Open Source
– Apache 2.0 License
•Windows (100% .NET)
– Developed in C#
– Windows Server 2012 R2 Certified
•.NET Client (officially)
•Java Client (officially)
– Same socket protocol as .NET client
– Runs on Windows & Unix
NCache vs Redis
Platform & Technology
Redis
•Open Source
– BSD License
•Linux (Redis Labs)
•Windows (MS Open Tech)
– Open Source and unsupported
– Buggy and unstable
– Even Azure uses Linux version
•.NET & Java Clients (3rd
Party)
– Unsupported
NCache vs Redis Comparison 9www.alachisoft.com
10. NCache
•On-Premises (Windows)
– Perpetual License (own it)
– Annual maintenance (optional)
– 24x7 support (optional)
– Open Source is FREE. Use as is
NCache vs Redis
On-Premises Support
Redis
•On-Premises (Linux)
– By Redis Labs
– Annual subscription
– Open Source. Use as is.
•On-Premises (Windows)
– By MS Open Tech
– Buggy, unstable, & without support
– Even Azure uses Linux version
NCache vs Redis Comparison 10www.alachisoft.com
11. NCache (VM Model)
•Control Cache Server VMs
– Login and control/administer
•Run Server-side Code
– Read-thru, Write-thru, Write-behind
– Cache Loader, Custom Dependency
– MapReduce, Aggregator, Entry
Processor
•Azure, Amazon, and others
– Cloud licensing (hourly charges)
NCache vs Redis
Cloud Support
Redis (Service Model)
•No Access to Cache Server VMs
– Only client-side API access
•Azure (Microsoft)
– Azure uses Linux version of Redis
– Cloud licensing (hourly charges)
– No access to cache servers
– Cannot run server-side code
•Amazon & others (Redis Labs)
– Only Linux version
NCache vs Redis Comparison 11www.alachisoft.com
13. NCache
•Extremely fast & scalable
– Client/Server communication
•Client Cache (even faster)
•Bulk Operations
– Reduce trips to caching tier
– Works on the entire cache
•Fast Compact Serialization
– 10 times faster
•Compression
NCache vs Redis
Performance & Scalability
Redis
•Fast & scalable (Linux version)
– Windows version has issues
•Bulk Operations
– Works on one shard only
•Slow Serialization
– APP must convert all data to STRING
NCache vs Redis Comparison 13www.alachisoft.com
14. NCache: Client Cache (Near Cache)
Local cache (close to your
app)
InProc or OutProc
Sync with cache cluster
Auto sync
Optimistic & pessimistic sync
No code changes needed
Automatically intercepts cache calls
Use in read-intensive cases
NCache vs Redis Comparison 14www.alachisoft.com
15. NCache
•Dynamic Cache Cluster
– Add/remove nodes seamlessly
•Dynamic Configuration
– Apply to the entire cluster
•Cluster Health Events
– To automatically handle things
•Split Brain Detection
– No recovery provided yet
NCache vs Redis
High Availability (100% Uptime)
Redis
•Cluster Not Fully Dynamic
– Cannot auto add/remove Shard
– Cluster stops if Shard is down
•Dynamic Configuration (Partial)
– Manually apply to each server
NCache vs Redis Comparison 15www.alachisoft.com
16. NCache: High Availability (100% Uptime)
Dynamic Cache Cluster
Peer to Peer Architecture
No single point of failure
No master/slave or majority rule
Runtime Add/Remove Servers
Without stopping anything
Connection Failover Support
Between clients & servers
Within cache cluster
Dynamic Configuration
Config propagated at runtime
NCache vs Redis Comparison 16www.alachisoft.com
17. NCache
•Local Cache/Client Cache
•Mirrored Cache
•Replicated Cache
•Partitioned Cache
•Partition-Replica (Async/Sync)
– Sync: for really sensitive data
•Data Balancing (Partitioned)
– To automatically redistribute data
NCache vs Redis
Cache Topologies
Redis
•Local Cache (OutProc Only)
•Partitioned Cache
– Cannot auto-handle shard down
•Partition-Replica (Async only)
– Cannot auto-handle shard down
– Cannot handle sensitive data
– May lose data on replication
NCache vs Redis Comparison 17www.alachisoft.com
28. NCache vs Redis
App Data Caching Features
(Data exists in BOTH cache & database)
NCache vs Redis Comparison 28www.alachisoft.com
29. NCache
•Expirations (Absolute + Sliding)
– Reload data with Read-thru
•Sync Cache with Database
– Sql Dependency, Oracle Dependency,
DB Dependency, CLR Procedures
•Sync Cache with Non-Relational
– File Dependency, Custom Dependency
•Handle Data Relationships
– Cache Dependency (key)
– One-to-one, one-to-many
NCache vs Redis
Keep Data Fresh
Redis
•Expirations
NCache vs Redis Comparison 29www.alachisoft.com
30. NCache
•SQL Searching
– Search on object attributes
•LINQ Searching
– From within .NET apps natively
•Search on Tags & Named Tags
NCache vs Redis
Cache Search (SQL)
Redis
•No Support
NCache vs Redis Comparison 30www.alachisoft.com
31. NCache
•Group/Subgroup
– Group data logically
– Fetch or operate on the group
•Tags
– Assign multiple “tags” to an item
•Named Tags
– Assign multiple “key-value” tags
NCache vs Redis
Data Grouping
Redis
•No Support
NCache vs Redis Comparison 31www.alachisoft.com
32. NCache
•Read-Through
– Auto reload items on expirations &
database synchronization
•Write-Through
– Cache writes to DB
•Write-Behind
– Async DB writes (queue based)
•Cache Loader
– Cache calls your code to load upon
startup
NCache vs Redis
Read-thru, Write-thru, Cache Loader
Redis
•No Support
NCache vs Redis Comparison 32www.alachisoft.com
34. NCache
•ASP.NET Sessions (advanced)
– A lot of extra features
– Relate View State to sessions
•Multi-Site ASP.NET Sessions
– Sync across data centers
•ASP.NET View State
– Cache on server side
•ASP.NET Output Cache
NCache vs Redis
ASP.NET Support
Redis
•ASP.NET Sessions (basic)
•ASP.NET Output Cache
NCache vs Redis Comparison 34www.alachisoft.com
35. NCache vs Redis
Runtime Data Sharing with Events
NCache vs Redis Comparison 35www.alachisoft.com
36. NCache
•Item Level Events
•Cache Level Events
– For transport & storage
•Custom Events (Pub/Sub)
– For transport & storage
•Continuous Query
– Monitor SQL-based dataset in cache
NCache vs Redis
Runtime Data Sharing
Redis
•Item Level Events
•Cache Level Events
– For transport & storage
•Custom Events (Pub/Sub)
– For transport & storage
NCache vs Redis Comparison 36www.alachisoft.com
39. NCache
•NHibernate (official)
– Extra features thru config file
•Entity Framework Cache
– Custom ADO.NET Provider
NCache vs Redis
Third Party Integrations
Redis
•NHibernate (not official)
NCache vs Redis Comparison 39www.alachisoft.com
40. NCache
•Authentication (Active Directory)
– Supports AD & LDAP
– Very secure
•Data Encryption
– For transport & storage
NCache vs Redis
Security & Encryption
Redis
•Authentication (Text Based)
– Not secured like AD or LDAP
NCache vs Redis Comparison 40www.alachisoft.com
41. NCache
•Map Reduce (InProc)
– To process huge data in a distributed
cache cluster
•Aggregators
•Entry Processor
– To run custom code on cache cluster
NCache vs Redis
Big Data Processing
Redis
•No Support
NCache vs Redis Comparison 41www.alachisoft.com
42. Next Steps
• Download NCache 60-Day fully working Trial
– http://www.alachisoft.com/download-ncache.html
• Schedule Personalized Technical Consultation
– Discuss your applications, environment and features that will work for you
– Discuss Redis and NCache options in more depth
– Get details on your NCache configuration
• Contact us
– 1+ 925 236 3830
– Or email support@alachisoft.com
NCache vs Redis Comparison 42www.alachisoft.com
NCache Open Source & Professional are in cloud marketplaces:
Azure https://azure.microsoft.com/en-us/marketplace/partners/alachisoft/ncache-opensource/
Amazon Web Services https://aws.amazon.com/marketplace/pp/B00TKKWIV0 marketplaces