ncache 3.8 sp3

23
http://www.alachisoft.com/ncache/index.html 1 NCache NCache Fast & Scalable .NET Apps Fast & Scalable .NET Apps in Server Farms in Server Farms Distributed .NET Data Cache Distributed ASP.NET Sessions Iqbal Khan Iqbal Khan [email protected] Ph: +1 (925) 236-2125 Ph: +1 (925) 236-2125 Alachisoft .NET Performance Solution s

Upload: wesnoor

Post on 13-May-2015

1.107 views

Category:

Technology


0 download

DESCRIPTION

This presentation is about the features of NCache 3.8 SP3, a famous distributed cache provider for .NET and Java applications.

TRANSCRIPT

Page 1: NCache 3.8 SP3

http://www.alachisoft.com/ncache/index.html 1

NCacheNCache

Fast & Scalable .NET AppsFast & Scalable .NET Apps

in Server Farmsin Server Farms

Distributed .NET Data Cache

Distributed ASP.NET Sessions

Iqbal KhanIqbal [email protected] Ph: +1 (925) 236-2125 Ph: +1 (925) 236-2125

Alachisoft.NET Performance Solutions

Page 2: NCache 3.8 SP3

Alachisoft

NCache 3.8 2www.alachisoft.com

Alachisoft Company HistoryAlachisoft Company History

1.1. Founded in California in 1996Founded in California in 1996 Experts in enterprise applications in Java, C++, and .NETExperts in enterprise applications in Java, C++, and .NET

2.2. Became Alachisoft in 2003 (product company)Became Alachisoft in 2003 (product company) Impressive growth from profitable and revenue-funded modelImpressive growth from profitable and revenue-funded model

3.3. Headquarters: San Francisco Bay AreaHeadquarters: San Francisco Bay Area 2410 Camino Ramon, Suite 175, San Ramon, CA 945832410 Camino Ramon, Suite 175, San Ramon, CA 94583

4.4. NCache launched in July 2005NCache launched in July 2005 Current version: 3.8 (8Current version: 3.8 (8thth version) version)

Page 3: NCache 3.8 SP3

Alachisoft

NCache 3.8 3www.alachisoft.com

Supporting Our CustomersSupporting Our Customers

1.1. Annual Maintenance & SupportAnnual Maintenance & Support Free upgrades for 1 yearFree upgrades for 1 year Email & telephone based supportEmail & telephone based support

2.2. 24x7 Support24x7 Support Email & telephone based supportEmail & telephone based support

3.3. Professional ServicesProfessional Services Cache IntegrationCache Integration: into your existing apps: into your existing apps Caching API TrainingCaching API Training: for your developers: for your developers Cache Configuration TrainingCache Configuration Training: for your IT staff: for your IT staff

Page 4: NCache 3.8 SP3

Alachisoft

NCache 3.8 4

Main Benefits of NCacheMain Benefits of NCache

1.1. Higher Application Performance & ScalabilityHigher Application Performance & Scalability Performance:Performance: Extremely fast in-memory cache Scalability:Scalability:

Reduce pressure on databaseReduce pressure on database Linearly scale out cache clusterLinearly scale out cache cluster

2.2. Reliable & Scalable ASP.NET Session StorageReliable & Scalable ASP.NET Session Storage Session replicated for reliabilitySession replicated for reliability Fast & scalable session storage

3.3. Runtime Data Sharing for Server Apps Runtime Data Sharing for Server Apps Asynchronous data sharing in producer/consumer modelAsynchronous data sharing in producer/consumer model Powerful event notification for app coordinationPowerful event notification for app coordination

http://www.alachisoft.com/ncache/index.html

Page 5: NCache 3.8 SP3

Alachisoft

NCache 3.8 5

Main Uses of NCacheMain Uses of NCache

1.1. Enterprise Distributed Data CacheEnterprise Distributed Data Cache Performance & ScalabilityPerformance & Scalability: Reduce expensive db trips: Reduce expensive db trips ReliabilityReliability: Dynamic clustering & replication: Dynamic clustering & replication ASP.NET apps, web services, distributed apps, grid computing appsASP.NET apps, web services, distributed apps, grid computing apps

2.2. Distributed ASP.NET Sessions for Web FarmsDistributed ASP.NET Sessions for Web Farms Faster and more scalableFaster and more scalable session storage session storage ReliabilityReliability: 100% uptime. Sessions replicated.: 100% uptime. Sessions replicated. Easy adoptionEasy adoption:: No code change required to use No code change required to use

http://www.alachisoft.com/ncache/index.html

Page 6: NCache 3.8 SP3

Alachisoft

NCache 3.8 6

Enterprise Distributed Data CacheEnterprise Distributed Data Cache

NCache Distributed Cache

Windows 2003/2008 (32-bit & 64-bit) .NET 1.1/2.0/3.5

ASP.NET Apps .NET Web Services Java Apps Grid Computing Apps

Filesystem Database Servers Mainframe

http://www.alachisoft.com/ncache/index.html

Page 7: NCache 3.8 SP3

Alachisoft

NCache 3.8 7

High Availability (100% High Availability (100% Uptime)Uptime)Dynamic Cache ClusterDynamic Cache Cluster

Cache Cluster

NCache Srv

AddServer

AtRuntime

RemoveServer

AtRuntime

NCache Srv NCache Srv

Remote Clients (Web/App Servers) TCP based Cache ClusterTCP based Cache Cluster Does not use Windows Does not use Windows

ClusteringClustering

Peer to peer architecturePeer to peer architecture No single point of failureNo single point of failure

Add/remove servers at Add/remove servers at runtimeruntime

Without stopping cache or your Without stopping cache or your appapp

Data adjusted automatically Data adjusted automatically based on caching topologybased on caching topology

Hot Apply config changesHot Apply config changes Change config properties while Change config properties while

cache is runningcache is running

http://www.alachisoft.com/ncache/index.html

Page 8: NCache 3.8 SP3

Alachisoft

NCache 3.8 8

High Availability (100% High Availability (100% Uptime)Uptime)Dynamic ConfigurationDynamic Configuration

Connection failoverConnection failover Auto-connect to other serversAuto-connect to other servers

Cluster membership infoCluster membership info Propagate to clients at runtimePropagate to clients at runtime

Cache topology infoCache topology info Propagate to clients at runtimePropagate to clients at runtime Connection strategy at runtimeConnection strategy at runtime

Dynamic Cache Cluster

NCache Srv

Remote Clients (Web/App Servers)

NCache SrvNCache Srv

Cluster Membership Info

Cache Topology Info

http://www.alachisoft.com/ncache/index.html

Page 9: NCache 3.8 SP3

Alachisoft

NCache 3.8 9

Caching TopologiesCaching TopologiesMirrored Cache (2-node active/passive)Mirrored Cache (2-node active/passive)

Server 1 Server 2

Mirrored Cache

1 2

3 4

5 6

Active

1 2

3 4

5 6

Passive(Backup)

Async Backup

Remote Clients (Web/App Servers) All clients connect to active All clients connect to active

nodenode

Passive node becomes active Passive node becomes active if active node goes down. if active node goes down. Clients also automatically Clients also automatically connect to itconnect to it

Mirroring to passive node Mirroring to passive node done asynchronouslydone asynchronously

Recommended use:Recommended use: Up to 10 app serversUp to 10 app servers 2 cache server cluster2 cache server cluster

http://www.alachisoft.com/ncache/index.html

Page 10: NCache 3.8 SP3

Alachisoft

NCache 3.8 10

Caching TopologiesCaching TopologiesReplicated CacheReplicated Cache

Entire cache copied to all Entire cache copied to all serversservers

Each update done to all Each update done to all serversservers

Clients connect evenly to all Clients connect evenly to all servers. All servers active.servers. All servers active.

Good for read-intensive Good for read-intensive scenariosscenarios

Server 1 Server 2

Replicated Cache

1 2

3 4

5 6

Active

Synchronous Updates

Remote Clients (Web/App Servers)

1 2

3 4

5 6

Active

http://www.alachisoft.com/ncache/index.html

Page 11: NCache 3.8 SP3

Alachisoft

NCache 3.8 11

Caching Topologies Caching Topologies Partitioned CachePartitioned Cache

Extremely scalableExtremely scalable

Location transparencyLocation transparency

Good for larger clustersGood for larger clusters

Distribution map sent to all Distribution map sent to all clientsclients

No replication availableNo replication available

Server 1 Server 2

Partitioned CacheRemote Clients (Web/App Servers)

21

Partition 1

43

Partition 2

DistributionMap

DistributionMap

http://www.alachisoft.com/ncache/index.html

Page 12: NCache 3.8 SP3

Alachisoft

NCache 3.8 12

Caching Topologies Caching Topologies Partitioned-Replica CachePartitioned-Replica Cache

Each partition has one replicaEach partition has one replica

Async & Sync replicationAsync & Sync replication

Location transparency.Location transparency.

Extremely scalableExtremely scalable

Reliability due to replicationReliability due to replication

Server 1 Server 2

Partition-Replica CacheRemote Clients (Web/App Servers)

21

Partition 1

43

Replica 2

43

Partition 2

21

Replica 1

DistributionMap

DistributionMap

http://www.alachisoft.com/ncache/index.html

Page 13: NCache 3.8 SP3

Alachisoft

NCache 3.8 13

Caching TopologiesCaching TopologiesClient CacheClient Cache

Web/App Server(Client Node) ... Web/App Server

(Client Node)

Cache Cluster

NCache Client Nodes

Server 1 Server 2

Server 3

Dynamic Clustered Cache

Cached Item

1 2

3 4

5 6

1 2

3 4

5 6

1 2

3 4

5 6

Client Cache Client Cache

SynchronizedSynchronized

Clustered cache on separate Clustered cache on separate tiertier

Client has local client cacheClient has local client cache

Client cache InProc or OutProcClient cache InProc or OutProc

Client cache automatically Client cache automatically synchronized with clustered synchronized with clustered cachecache

Gives further boost to client Gives further boost to client appsapps

Good for read-intensive appsGood for read-intensive apps

http://www.alachisoft.com/ncache/index.html

Page 14: NCache 3.8 SP3

Alachisoft

NCache 3.8 14

Caching TopologiesCaching TopologiesPerformance Data (2-node cluster)Performance Data (2-node cluster)

Mirrored CacheMirrored Cache 30,000 reads/sec30,000 reads/sec 25,000 writes/sec25,000 writes/sec

Replicated CacheReplicated Cache 60,000 reads/sec60,000 reads/sec 2500 writes/sec2500 writes/sec

Partition-Replica Partition-Replica CacheCache

60,000 reads/sec60,000 reads/sec 44,000 writes/sec44,000 writes/sec

http://www.alachisoft.com/ncache/index.html

Page 15: NCache 3.8 SP3

Alachisoft

NCache 3.8 15

Caching TopologiesCaching TopologiesBridge Topology (for WAN replication)Bridge Topology (for WAN replication)

Server 1(Active)

Server 2(Passive Mirror)

Bridge

Primary Site (Active)

Remote Client(.NET)

Remote Client(.NET) ... Remote Client

(Java)

NCache Client Nodes

Server 1 Server 2

Server 3

Cache Cluster

.NET Client

NCache NCache

NCache

Java Client

Remote Client(.NET)

Remote Client(.NET) ... Remote Client

(Java)

NCache Client Nodes

Server 1 Server 2

Server 3

Cache Cluster

.NET Client

NCache NCache

NCache

Java Client

Disaster Recovery Site

Replicate (WAN)

http://www.alachisoft.com/ncache/index.html

Page 16: NCache 3.8 SP3

Alachisoft

NCache 3.8 16

Poweful Cache AdministrationPoweful Cache Administration

http://www.alachisoft.com/ncache/index.html

Page 17: NCache 3.8 SP3

Alachisoft

NCache 3.8 17

Powerful Cache MonitoringPowerful Cache Monitoring

http://www.alachisoft.com/ncache/index.html

Page 18: NCache 3.8 SP3

Alachisoft

NCache 3.8 18www.alachisoft.com

Important FeaturesImportant Features

Max cache sizeMax cache size To control memory consumption. Evicts item when cache reaches Max To control memory consumption. Evicts item when cache reaches Max

SizeSize

Eviction policiesEviction policies LRU, LFU, Priority, and “Do Not Evict”LRU, LFU, Priority, and “Do Not Evict”

Cache security (authenticate + authorize)Cache security (authenticate + authorize) Authenticate with Active Directory. Authorize as “Admin” or “User”Authenticate with Active Directory. Authorize as “Admin” or “User”

CompressionCompression Specify compression threshold. Uses GZip on client-side. Specify compression threshold. Uses GZip on client-side.

Server Configuration OptionsServer Configuration Options Rejoin a cache cluster upon reboot Rejoin a cache cluster upon reboot Multiple NIC support (one for client/server & one for cluster)Multiple NIC support (one for client/server & one for cluster)

http://www.alachisoft.com/ncache/index.html

Page 19: NCache 3.8 SP3

Alachisoft

NCache 3.8 19

NCache ASP.NET 2.0 Session State NCache ASP.NET 2.0 Session State ProviderProvider

Load Balancer (LB)

Dynamic Cluster (TCP based)

Thin Client(Browser based)

Thin Client(Browser based)

Thin Client(Browser based)...

Business& DataObjects

Web Server (IIS)

ASP.NET Pages

ASP.NET Session

Distributed Cache

NC Session State Provider (SSP)

Business& DataObjects

Web Server (IIS)

ASP.NET Pages

ASP.NET Session

Distributed Cache

NC Session State Provider (SSP

Business& DataObjects

Web Server (IIS)

ASP.NET Pages

ASP.NET Session

Distributed Cache

NC Session State Provider (SSP)

http://www.alachisoft.com/ncache/index.html

Page 20: NCache 3.8 SP3

Alachisoft

NCache 3.8 20

Object Caching API is SimpleObject Caching API is Simple

Initialize & Dispose the CacheInitialize & Dispose the Cache Cache Cache cache = cache = NCacheNCache.InitializeCache(.InitializeCache(“myReplicatedCache”“myReplicatedCache”);); cache.Dispose();cache.Dispose();

Read from the CacheRead from the Cache objectobject obj = cache.Get( obj = cache.Get(“myKey”“myKey”);); objectobject obj = cache[ obj = cache[“myKey”“myKey”];]; boolbool isPresent = isPresent = cache.Contains(cache.Contains(“myKey”“myKey”););

Add to the CacheAdd to the Cache cache.Add(cache.Add(“myKey”“myKey”, obj);, obj); cache.Insert(cache.Insert(“myKey”“myKey”, obj);, obj); cache[cache[“myKey”“myKey”] = obj;] = obj;

Remove from the CacheRemove from the Cache objectobject obj = cache.Remove( obj = cache.Remove(“myKey”“myKey”););

ClearClear cache.Clear();cache.Clear();

http://www.alachisoft.com/ncache/index.html

Page 21: NCache 3.8 SP3

Alachisoft

NCache 3.8 21

Important Object Caching Important Object Caching FeaturesFeatures ExpirationsExpirations

Absolute-time + idle-timeAbsolute-time + idle-time Auto-reload data on expiration (if read-thru enabled)Auto-reload data on expiration (if read-thru enabled)

Cache dependenciesCache dependencies Key, file, and custom dependenciesKey, file, and custom dependencies

Synchronize cache with databaseSynchronize cache with database .NET event notifications (SqlDependency) for SQL Server 2005 & Oracle .NET event notifications (SqlDependency) for SQL Server 2005 & Oracle

10g R210g R2 Polling based for all OLEDB compliant databasesPolling based for all OLEDB compliant databases

Read-through and write-throughRead-through and write-through You implement read-thru and write-thru handlers called by NCacheYou implement read-thru and write-thru handlers called by NCache Write has write-behind option that queues up database updatesWrite has write-behind option that queues up database updates

http://www.alachisoft.com/ncache/index.html

Page 22: NCache 3.8 SP3

Alachisoft

NCache 3.8 22www.alachisoft.com

Important Object Caching Important Object Caching FeaturesFeatures Event notifications (cluster wide)Event notifications (cluster wide)

Register interest in specific cached items to be notified at insert/removeRegister interest in specific cached items to be notified at insert/remove Register interest to be notified at ALL add/insert/remove (off by default)Register interest to be notified at ALL add/insert/remove (off by default) Send custom notifications to other NCache clients (cluster wide)Send custom notifications to other NCache clients (cluster wide)

Tagging & Searching CacheTagging & Searching Cache Object Query Language for searching on object attributesObject Query Language for searching on object attributes Tagging for arbitrary grouping and searching of cached objectsTagging for arbitrary grouping and searching of cached objects

Pessimistic & Optimistic LockingPessimistic & Optimistic Locking Lock/Unlock for pessimistic locking (writer-lock)Lock/Unlock for pessimistic locking (writer-lock) Object versioning for optimistic locking (reader-lock)Object versioning for optimistic locking (reader-lock)

Bulk operationsBulk operations Get, Add, Insert, RemoveGet, Add, Insert, Remove

http://www.alachisoft.com/ncache/index.html

Page 23: NCache 3.8 SP3

Alachisoft

NCache 3.8 23

Important Object Caching Important Object Caching FeaturesFeatures Compact serializationCompact serialization

Mix with regular .NET serialization. Faster and more compact.Mix with regular .NET serialization. Faster and more compact.

Caching Application Block (CAB) integrationCaching Application Block (CAB) integration NCache implements a cache manager for CABNCache implements a cache manager for CAB No code change required to integrate (only config file changes)No code change required to integrate (only config file changes)

NHibernate integrationNHibernate integration Cache provider for NHibernate implementedCache provider for NHibernate implemented No code change required to integrate (only config file changes)No code change required to integrate (only config file changes)

Java clientJava client No Java-to-.NET interoperability used. Native NCache socket protocol.No Java-to-.NET interoperability used. Native NCache socket protocol. Event notifications availableEvent notifications available Object Query Language availableObject Query Language available

http://www.alachisoft.com/ncache/index.html