Redis vs NCache - A detailed feture level comparison
-
Upload
alachisoft -
Category
Software
-
view
1.084 -
download
1
Transcript of Redis vs NCache - A detailed feture level comparison
NCache vs Redis
Detailed Feature ComparisonNCache 4.6 Enterprise EditionRedis v3.2.3
NCache vs Redis Comparison 1www.alachisoft.com
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
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
The Solution
In-Memory Distributed Cache (NCache)
(Makes other databases faster and scalable)
Use it with
Relational DatabasesLegacy Mainframe Data
NoSQL Databases
NCache vs Redis Comparison 4www.alachisoft.com
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
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
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 RedisPlatform & 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
NCache
•On-Premises (Windows)– Perpetual License (own it)– Annual maintenance (optional)– 24x7 support (optional)– Open Source is FREE. Use as is
NCache vs RedisOn-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
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 RedisCloud 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
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 RedisPerformance & 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
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
Dynamic Cache Cluster
Cache Clients (Web/App Servers)
Client Cache
. . .Client CacheClient Cache
SynchronizedSynchronized Synchronized
Client Cache
Memory & CPU pooled
Cache ServrCache Servr Cache Servr
NCache vs Redis Comparison 14www.alachisoft.com
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 RedisHigh 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
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
Dynamic Cache Cluster
NCache Srv
AddServer
AtRuntime
RemoveServer
AtRuntime
NCache Srv NCache Srv
Cache Clients (Web/App Servers)
Cluster Membership
Info
Cache Topology Info
NCache vs Redis Comparison 16www.alachisoft.com
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 RedisCache 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
Server 1
Partition-Replica CacheCache Clients (Web/App Servers)
21
Partition 1
43
Replica 2
DistributionMap
DistributionMap
Server 2
43
Partition 2
21
Replica 1
Server 1 Server 2
Partitioned CacheCache Clients (Web/App Servers)
21
Partition 1
43
Partition 2
DistributionMap
DistributionMap
NCache: Caching TopologiesPartitioned Cache & Partition-Replica Cache
NCache vs Redis Comparison 18www.alachisoft.com
NCache
•2 Data Centers (Active/Passive)– Async replication (queue based)– Auto reconnect sockets
•2 Data Centers (Active/Active)– Handle conflicts on “last update
wins” – Custom conflict resolution handler
NCache vs RedisWAN Replication
Redis
•No Support
NCache vs Redis Comparison 19www.alachisoft.com
NCache: WAN Replication of CacheActive-Passive
Active-Active
NCache vs Redis Comparison 20www.alachisoft.com
NCache
•NCache Manager (GUI)•NCache Monitor (GUI)•PerfMon Counters•Windows Event Log•Dump & Reload Cache
•Command Line Admin Tools•Stress Test Tool•Email Notifications
•Admin & Monitoring (API)
NCache vs RedisCache Administration & Monitoring
Redis
•Command Line Admin Tools
•Admin & Monitoring (API)
NCache vs Redis Comparison 22www.alachisoft.com
NCache vs Redis
App Data Caching Features(Data exists in BOTH cache & database)
NCache vs Redis Comparison 28www.alachisoft.com
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 RedisKeep Data Fresh
Redis
•Expirations
NCache vs Redis Comparison 29www.alachisoft.com
NCache
•SQL Searching– Search on object attributes
•LINQ Searching– From within .NET apps natively
•Search on Tags & Named Tags
NCache vs RedisCache Search (SQL)
Redis
•No Support
NCache vs Redis Comparison 30www.alachisoft.com
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 RedisData Grouping
Redis
•No Support
NCache vs Redis Comparison 31www.alachisoft.com
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 RedisRead-thru, Write-thru, Cache Loader
Redis
•No Support
NCache vs Redis Comparison 32www.alachisoft.com
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 RedisASP.NET Support
Redis
•ASP.NET Sessions (basic)
•ASP.NET Output Cache
NCache vs Redis Comparison 34www.alachisoft.com
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 RedisRuntime 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
NCache
•NHibernate (official)– Extra features thru config file
•Entity Framework Cache– Custom ADO.NET Provider
NCache vs RedisThird Party Integrations
Redis
•NHibernate (not official)
NCache vs Redis Comparison 39www.alachisoft.com
NCache
•Authentication (Active Directory)
– Supports AD & LDAP– Very secure
•Data Encryption– For transport & storage
NCache vs RedisSecurity & Encryption
Redis
•Authentication (Text Based)– Not secured like AD or LDAP
NCache vs Redis Comparison 40www.alachisoft.com
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 RedisBig Data Processing
Redis
•No Support
NCache vs Redis Comparison 41www.alachisoft.com
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 [email protected]
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