42
NCache vs Redis Detailed Feature Comparison NCache 4.6 Enterprise Edition Redis v3.2.3 NCache vs Redis Comparison 1 www.alachisoft.com

Redis vs NCache - A detailed feture level comparison

Embed Size (px)

Citation preview

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

Distributed Cache Deployment (NCache)

NCache vs Redis Comparison 5www.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 vs Redis

Platform & Technology

NCache vs Redis Comparison 8www.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 vs Redis

Architecture

NCache vs Redis Comparison 12www.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 vs Redis

GUI Tools(Demo)

NCache vs Redis Comparison 21www.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 Manager (GUI Tool)

@NCache www.alachisoft.com 23

NCache Monitor (GUI Tool)

@NCache www.alachisoft.com 24

NCache: Monitor thru PerfMon

@NCache www.alachisoft.com 25

NCache: Windows Event Log

@NCache www.alachisoft.com 26

NCache: Email Notifications on Events

@NCache www.alachisoft.com 27

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 vs Redis

ASP.NET Specific Features

NCache vs Redis Comparison 33www.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 vs Redis

Runtime Data Sharing with Events

NCache vs Redis Comparison 35www.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: Runtime Data Sharing

NCache vs Redis Comparison 37www.alachisoft.com

NCache vs Redis

Other Areas

NCache vs Redis Comparison 38www.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