SlideShare a Scribd company logo
1 of 33
Alachisoft
.NET Performance Solutions

Scaling .NET Apps
with
In-Memory Distributed Cache
Boost app performance under peak loads!

Iqbal Khan
iqbal@alachisoft.com Ph: +1 (925) 236-2125
www.alachisoft.com

1
Alachisoft

What is Scalability?
Ability to increase
transaction load on applications…
without slowing them down

NCache

www.alachisoft.com

2
Alachisoft

What is Linear (Unlimited) Scalability?

NCache

www.alachisoft.com

3
Alachisoft

Following Applications Need Scalability
1.

ASP.NET Apps


2.

WCF & .NET Web Services


3.

To quickly process very large amounts of data thru distribution

Grid Computing Apps


5.

To handle millions of requests

Big Data Apps


4.

To handle millions of users

To process very large computations thru distribution

Other .NET Server Apps


NCache

To handle millions of requests
www.alachisoft.com

4
Alachisoft

What is the Scalability Problem?
1.

Application Architectures can Scale Linearly


2.

Use a load balancer and simply add more app servers

Data Storage has Scalability Bottlenecks!



NCache

Cannot handle high transaction loads
Cannot keep adding database servers

www.alachisoft.com

5
Alachisoft

Data Storage is Scalability Bottleneck
ASP.NET/WCF Example

App Database

ASP.NET/WCF Servers

Database Servers
Data Access

Scale Web Farm

Web Clients

Http Calls

...
NCache

Load Balancer

www.alachisoft.com

ASP.NET Session
Storage

6
Alachisoft

The Solution

Scalable In-Memory Distributed Cache

NCache
NCache

www.alachisoft.com

7
Alachisoft

What is an In-Memory Distributed Cache?
1.

Cluster of multiple inexpensive cache servers


2.

Synchronizes cache updates across all cache servers


3.

Cache updates are immediately visible from all cache servers

Linearly scales transaction & memory capacity


4.

Pools their memory and CPU into one logical capacity

Just add more cache servers to grow capacity

Replicates data for reliability


NCache

Intelligent replication without compromising performance & scalability

www.alachisoft.com

8
Alachisoft

NCache: In-Memory Distributed Cache
ASP.NET Web Apps

WCF Web Services

Grid Computing Apps
(.NET)

.NET Server Apps

Distributed Cache Cluster
Memory pooled from all cache servers

Scale Horizontally
Windows 2008/2012 (64-bit)

Filesystem

NCache

Database Servers

www.alachisoft.com

Mainframe

9
Alachisoft

Three Common Uses of Distributed Cache
1.

App Data Caching (for Database Bottlenecks)




2.

Reliable & Scalable Cache for ASP.NET Specific Data





3.

In-memory cache faster than database
Cache linearly scalable which database is not

ASP.NET Session State storage (most common)
ASP.NET View State cache
ASP.NET Output Cache provider

Scalable Runtime Data Sharing thru Messaging





NCache

Faster & more scalable than traditional message queues
Async data sharing in producer/consumer model
Powerful event notifications & continuous queries for app coordination

www.alachisoft.com

10
Alachisoft

What Data to Cache?
1.

Permanent Data




2.

Transient (temporary) Data





3.

Data goes away after a short period (minutes, hours, or days)
No need to keep it in database
ASP.NET Session State, ASP.NET View State, ASP.NET Output Cache

Reference Data



4.

Master copy of data exists in the database
Caching it reduces expensive database trips

Does not change very frequently (but is not static)
This is usually permanent data

Transactional Data


NCache

Changes frequently (as frequently as in a few seconds)
www.alachisoft.com

11
Alachisoft

Overview of Caching API


Cache appears as a Hashtable-like interface




Each item has a string-based key and an “object” as its value.

String based keys contain type information




NCache

“Employee:1000”: Employee with EmployeeId = 1000
“Employee:Orders:1000”: Employee 1000’s related Order collection
“Employee:Query:FindByTitle:Mgr”: Employee collection returned by query “FindByTitle”
with “Mgr” as runtime parameter

www.alachisoft.com

12
Alachisoft

Overview of Caching API


Connect & Disconnect from the Cache





Read from the Cache









cache.Add(“myKey”, obj);
cache.Insert(“myKey”, obj);
cache[“myKey”] = obj;

Remove from the Cache




object obj = cache.Get(“myKey”);
object obj = cache[“myKey”];
bool isPresent = cache.Contains(“myKey”);

Add to the Cache




Cache cache = NCache.InitializeCache(“myReplicatedCache”);
cache.Dispose();

object obj = cache.Remove(“myKey”);

Empty the Cache


NCache

cache.Clear();

www.alachisoft.com

13
Alachisoft

Cache Elasticity (100% Uptime)
Dynamic Cache Cluster


TCP based Cache Cluster




No single point of failure

Add/remove servers at runtime






Does not use Windows Clustering

Peer to peer architecture




Remote Clients (Web/App Servers)

Without stopping cache or your app
Data adjusted automatically based
on caching topology
Add
Server
At
Runtime

Hot Apply config changes


Cache Cluster

NCache Srv

NCache Srv

Remove
Server
At
Runtime

Change config properties while
cache is running
NCache Srv

NCache

www.alachisoft.com

14
Alachisoft

Cache Elasticity (100% Uptime)
Dynamic Configuration


Cluster membership info




Propagate to clients at runtime

Cache topology info





Remote Clients (Web/App Servers)

Propagate to clients at runtime
Connection strategy at runtime
Cluster
Membership Info

Connection failover


Cache
Topology Info

Clients auto-connect to other servers

NCache Srv

NCache Srv

NCache Srv

Dynamic Cache Cluster

NCache

www.alachisoft.com

15
Alachisoft

Caching Topologies

Mirrored Cache (2-node active/passive)


All clients connect to active node

Mirrored Cache
Remote Clients (Web/App Servers)







Passive node becomes active if
active node goes down. Clients
also automatically connect to new
active node
Mirroring to passive node done
asynchronously
Recommended use:

Up to 10 app servers

2 cache server cluster

Server 1
1
3

Server 2

2
Active

5

1
4

3

6

2

Passive
(Backup)
5

4
6

Async Backup

NCache

www.alachisoft.com

16
Alachisoft

Caching Topologies
Replicated Cache


Each server has the entire cache

Replicated Cache
Remote Clients (Web/App Servers)







Cache updates done to all servers
synchronously. So, they’re slower.
Each clients connects to only one
cache server. All servers active.
Good for read-intensive scenarios

Server 1

1
3

Server 2

2
Active

5

1
4

6

3

2
Active

5

4
6

Synchronous Updates

NCache

www.alachisoft.com

17
Alachisoft

Caching Topologies
Partitioned Cache


Extremely scalable

Partitioned Cache
Remote Clients (Web/App Servers)



Location transparency



Good for large cache clusters





Distribution map sent to all clients
at runtime

Distribution
Map

Distribution
Map

No replication available
Partition 1
1

2

Server 1

NCache

www.alachisoft.com

Partition 2
3

4

Server 2

18
Alachisoft

Caching Topologies
Partition-Replica Cache


Each partition has one replica on a
different server. All created
automatically.



Remote Clients (Web/App Servers)

Async & Sync replication options



Partition-Replica Cache

Extremely fast & scalable



Reliability due to replicas

Distribution
Map

Distribution
Map

Partition 1
1

2

Replica 2
3

4

Server 1

NCache

www.alachisoft.com

Partition 2
3

4

Replica 1
1

2

Server 2

19
Alachisoft

Caching Topologies
Client Cache

NCache Client Nodes







Local cache on client nodes (inprocess and out-of-process)
Automatically synchronizes with
clustered cache. Optimistic &
pessimistic synch options.

...

Web/App Server
(Client Node)

Web/App Server
(Client Node)

Client Cache

Client Cache

Synchronized

No special programming needed.
Plug in thru config changes.

Synchronized

Cache Cluster

Dynamic Clustered Cache
Server 1



Good for read-intensive scenarios

1

Server 2

2

3

1

5

2

5

4

6

3

6

4

Server 3
1

2

5

6

3

4

Cached Item

NCache

www.alachisoft.com

20
Alachisoft

Caching Topologies
Performance Data

NCache Performance Benchmarks

NCache

www.alachisoft.com

21
Alachisoft

WAN Replication of Distributed Cache
Active-Passive Configuration

Primary Site (Active)

Disaster Recovery Site

NCache Client Nodes
Remote Client
(.NET)

Remote Client
(.NET)

...

NCache Client Nodes
Remote Client
(Java)

Remote Client
(.NET)

Remote Client
(.NET)

Cache Cluster
Server 1

Server 2

.NET
Client

NCache

NCache

Server 1

Replicate (WAN)

Server 2
(Passive Mirror)

www.alachisoft.com

Java
Client

NCache

Server 1
(Active)

Server 2

.NET
Client

Bridge

Server 3

NCache

Remote Client
(Java)

Cache Cluster

Java
Client

NCache

...

NCache

Server 3

NCache

22
Alachisoft

WAN Replication of Distributed Cache
1.

Active-Passive


2.

Hub-spoke


3.

One active and multiple passive

Active-Active


4.

One active and one passive

Two active sites

STAR


NCache

One central active site and multiple satellite active sites

www.alachisoft.com

23
Alachisoft

Hands on Demo

NCache

www.alachisoft.com

24
Alachisoft

Some Object Caching Features


Expirations






Locking (Pessimistic & Optimistic)





Lock/Unlock for pessimistic locking (writer-lock)
Object versioning for optimistic locking (reader-lock)

Bulk Operations




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

Bulk Get, Add, Insert, and Remove

Async Operations


NCache

Async Add, Insert, and Remove

www.alachisoft.com

25
Alachisoft

Handling Relational Data in Cache


Cache Dependency




Key based

One-to-one, one-to-many, and many-to-many



NCache

Let cache manage relationships for you
Cache invalidates related data when a cached item is updated/removed

www.alachisoft.com

26
Alachisoft

Synchronize Cache with Data Sources


Synchronize with Relational Databases (SQL, Oracle, etc.)







SqlDependency
OracleDependency
DbDependency

Synchronize with non-Relational Data Sources



NCache

File based Cache Dependency
Custom Cache Dependency

www.alachisoft.com

27
Alachisoft

Data Grouping in the Cache


Group/Subgroup



Tags



Named Tags

NCache

www.alachisoft.com

28
Alachisoft

Searching the Cache


Parallel Queries with Object Query Language (OQL)




Parallel LINQ Queries




SQL-like query language to search cache based on object attributes

Standard LINQ queries can search the cache

Indexing Object Attributes for Querying


NCache

Create indexes on object attributes to speed up queries

www.alachisoft.com

29
Alachisoft

Read-thru, Write-thru, Write-behind


Read-through and write-through




Write-behind





You implement read-thru and write-thru handlers called by NCache

Write-through has write-behind option that queues up database updates
Database update queue replicated to multiple servers for reliability

Reload Items on Expiration or Db Sync


NCache

Use Read-thru to reload item from its data source instead of removing it

www.alachisoft.com

30
Alachisoft

Runtime Data Sharing with Messaging


Key Based Event Notifications







General Purpose Event Notifications




Register interest to be notified at ALL add/insert/remove (off by default)

Custom Event Notifications





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

Apps fire custom event notifications into NCache cluster
Other apps are notified

Continuous Queries Events



NCache

SQL-Like query to specify dataset
Event notifications fired when dataset changes in the cache cluster

www.alachisoft.com

31
Alachisoft

Some Other Features


NHibernate L2 Cache Provider




Entity Framework L2 Cache




Plug into NHibernate application without any code change

Plug into Entity Framework application without any code change

Dynamic Compact Serialization



NCache

Faster and more compact then regular .NET serialization
No code writing required

www.alachisoft.com

32
Alachisoft

What to Do Next?






Find more about NCache
Download 60-day Trial
Request a Personalized LIVE Demo
Read product Documentation

Thank You

NCache 4.1

www.alachisoft.com

33

More Related Content

What's hot

Speed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentSpeed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentHazelcast
 
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringEnterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringDaniel Kanchev
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicOracle
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Bob Ward
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Severalnines
 
Making MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureMaking MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureIlmar Kerm
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMark Ginnebaugh
 
Hazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap PreviewHazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap PreviewHazelcast
 
Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0DataStax
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Toronto-Oracle-Users-Group
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs FasterBob Ward
 
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)jeckels
 
Exadata MAA Best Practices
Exadata MAA Best PracticesExadata MAA Best Practices
Exadata MAA Best PracticesRui Sousa
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?Alkin Tezuysal
 
MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017Severalnines
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using HazelcastTaras Matyashovsky
 

What's hot (20)

Speed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentSpeed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and Speedment
 
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringEnterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
 
SQL Developer for DBAs
SQL Developer for DBAsSQL Developer for DBAs
SQL Developer for DBAs
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
 
Rapid Home Provisioning
Rapid Home ProvisioningRapid Home Provisioning
Rapid Home Provisioning
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql Fabric
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?
 
Making MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureMaking MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid Infrastructure
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query Tuning
 
Hazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap PreviewHazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap Preview
 
Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs Faster
 
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
 
Exadata MAA Best Practices
Exadata MAA Best PracticesExadata MAA Best Practices
Exadata MAA Best Practices
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?
 
MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using Hazelcast
 

Viewers also liked

Iasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca Breaur
Iasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca BreaurIasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca Breaur
Iasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca BreaurCodecamp Romania
 
Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...
Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...
Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...Evilázaro Alves
 
Dagen Zonder Vlees 2017
Dagen Zonder Vlees 2017Dagen Zonder Vlees 2017
Dagen Zonder Vlees 2017® Ides Ticket
 
Pole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowaPole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowaBorys Nogacki
 
Pole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowaPole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowapoledopopisu
 
Basic Pivot Features In Collabion Charts For SharePoint
Basic Pivot Features In Collabion Charts For SharePointBasic Pivot Features In Collabion Charts For SharePoint
Basic Pivot Features In Collabion Charts For SharePointCollabion Technologies
 
MagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagentoMagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagentoKirill Morozov
 
Introduction to Redis Data Structures
Introduction to Redis Data Structures Introduction to Redis Data Structures
Introduction to Redis Data Structures ScaleGrid.io
 
Aukcja charytatywna dla Darcy Ward’a
Aukcja charytatywna dla Darcy Ward’aAukcja charytatywna dla Darcy Ward’a
Aukcja charytatywna dla Darcy Ward’aPZM
 
Table tactile d'information randonnée - Office du Tourisme de Murat / Kalkin
Table tactile d'information randonnée - Office du Tourisme de Murat / KalkinTable tactile d'information randonnée - Office du Tourisme de Murat / Kalkin
Table tactile d'information randonnée - Office du Tourisme de Murat / KalkinLes Interconnectés
 
Apache spark its place within a big data stack
Apache spark  its place within a big data stackApache spark  its place within a big data stack
Apache spark its place within a big data stackJunjun Olympia
 
Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1Gosuke Miyashita
 
Employee Retention Practices of SK+F Bangladesh
Employee Retention Practices of SK+F BangladeshEmployee Retention Practices of SK+F Bangladesh
Employee Retention Practices of SK+F BangladeshMd. Rakibul Hassan
 
Bolt: Building A Distributed ndarray
Bolt: Building A Distributed ndarrayBolt: Building A Distributed ndarray
Bolt: Building A Distributed ndarrayJen Aman
 
跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)
跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)
跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)Na Li
 
SITIST 2015 Dev - HCP IoT Services
SITIST 2015 Dev - HCP IoT ServicesSITIST 2015 Dev - HCP IoT Services
SITIST 2015 Dev - HCP IoT Servicessitist
 

Viewers also liked (19)

Iasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca Breaur
Iasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca BreaurIasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca Breaur
Iasi codecamp 20 april 2013 Caching - oldie but goldie - Raluca Breaur
 
Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...
Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...
Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, W...
 
Cyber Insurance Types of Attacks
Cyber Insurance Types of AttacksCyber Insurance Types of Attacks
Cyber Insurance Types of Attacks
 
Dagen Zonder Vlees 2017
Dagen Zonder Vlees 2017Dagen Zonder Vlees 2017
Dagen Zonder Vlees 2017
 
Pole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowaPole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowa
 
Actual
ActualActual
Actual
 
Pole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowaPole_do_popisu_prezentacja_firmowa
Pole_do_popisu_prezentacja_firmowa
 
Basic Pivot Features In Collabion Charts For SharePoint
Basic Pivot Features In Collabion Charts For SharePointBasic Pivot Features In Collabion Charts For SharePoint
Basic Pivot Features In Collabion Charts For SharePoint
 
MagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagentoMagentoECG-UsingRedisasaCacheBackendinMagento
MagentoECG-UsingRedisasaCacheBackendinMagento
 
Introduction to Redis Data Structures
Introduction to Redis Data Structures Introduction to Redis Data Structures
Introduction to Redis Data Structures
 
Forms of the verb
Forms of the verbForms of the verb
Forms of the verb
 
Aukcja charytatywna dla Darcy Ward’a
Aukcja charytatywna dla Darcy Ward’aAukcja charytatywna dla Darcy Ward’a
Aukcja charytatywna dla Darcy Ward’a
 
Table tactile d'information randonnée - Office du Tourisme de Murat / Kalkin
Table tactile d'information randonnée - Office du Tourisme de Murat / KalkinTable tactile d'information randonnée - Office du Tourisme de Murat / Kalkin
Table tactile d'information randonnée - Office du Tourisme de Murat / Kalkin
 
Apache spark its place within a big data stack
Apache spark  its place within a big data stackApache spark  its place within a big data stack
Apache spark its place within a big data stack
 
Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1
 
Employee Retention Practices of SK+F Bangladesh
Employee Retention Practices of SK+F BangladeshEmployee Retention Practices of SK+F Bangladesh
Employee Retention Practices of SK+F Bangladesh
 
Bolt: Building A Distributed ndarray
Bolt: Building A Distributed ndarrayBolt: Building A Distributed ndarray
Bolt: Building A Distributed ndarray
 
跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)
跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)
跟我去舞会,好吗? (Integrated Chinese L1P1 Lesson 8)
 
SITIST 2015 Dev - HCP IoT Services
SITIST 2015 Dev - HCP IoT ServicesSITIST 2015 Dev - HCP IoT Services
SITIST 2015 Dev - HCP IoT Services
 

Similar to Application Scalability in Server Farms - NCache

NCache 3.8 SP3
NCache 3.8 SP3NCache 3.8 SP3
NCache 3.8 SP3wesnoor
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And ScalabilityJason Ragsdale
 
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...Kalaiselvan (Selvan)
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricWim Van den Broeck
 
Oracle 10g rac_overview
Oracle 10g rac_overviewOracle 10g rac_overview
Oracle 10g rac_overviewRobel Parvini
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsWill it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsNavina Ramesh
 
Building High Performance and Scalable Applications Using AppFabric Cache- Im...
Building High Performance and Scalable Applications Using AppFabric Cache- Im...Building High Performance and Scalable Applications Using AppFabric Cache- Im...
Building High Performance and Scalable Applications Using AppFabric Cache- Im...Impetus Technologies
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...Lars Platzdasch
 
Introducing windows server_app_fabric
Introducing windows server_app_fabricIntroducing windows server_app_fabric
Introducing windows server_app_fabricMarco Titta
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Shailendra Prasad
 
Couchbase and Apache Spark
Couchbase and Apache SparkCouchbase and Apache Spark
Couchbase and Apache SparkMatt Ingenthron
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Anton Nazaruk
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentSPC Adriatics
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?Markus Michalewicz
 
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightOptimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightHBaseCon
 
Share point 2013’s distributed cache service 6.0 (1)
Share point 2013’s distributed cache service 6.0 (1)Share point 2013’s distributed cache service 6.0 (1)
Share point 2013’s distributed cache service 6.0 (1)Hexaware Technologies
 

Similar to Application Scalability in Server Farms - NCache (20)

NCache 3.8 SP3
NCache 3.8 SP3NCache 3.8 SP3
NCache 3.8 SP3
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabric
 
Oracle 10g rac_overview
Oracle 10g rac_overviewOracle 10g rac_overview
Oracle 10g rac_overview
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsWill it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing Applications
 
Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
 
Building High Performance and Scalable Applications Using AppFabric Cache- Im...
Building High Performance and Scalable Applications Using AppFabric Cache- Im...Building High Performance and Scalable Applications Using AppFabric Cache- Im...
Building High Performance and Scalable Applications Using AppFabric Cache- Im...
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
 
Introducing windows server_app_fabric
Introducing windows server_app_fabricIntroducing windows server_app_fabric
Introducing windows server_app_fabric
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
 
slides (PPT)
slides (PPT)slides (PPT)
slides (PPT)
 
Couchbase and Apache Spark
Couchbase and Apache SparkCouchbase and Apache Spark
Couchbase and Apache Spark
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
 
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightOptimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
 
Share point 2013’s distributed cache service 6.0 (1)
Share point 2013’s distributed cache service 6.0 (1)Share point 2013’s distributed cache service 6.0 (1)
Share point 2013’s distributed cache service 6.0 (1)
 

Recently uploaded

Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 

Recently uploaded (20)

Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 

Application Scalability in Server Farms - NCache

  • 1. Alachisoft .NET Performance Solutions Scaling .NET Apps with In-Memory Distributed Cache Boost app performance under peak loads! Iqbal Khan iqbal@alachisoft.com Ph: +1 (925) 236-2125 www.alachisoft.com 1
  • 2. Alachisoft What is Scalability? Ability to increase transaction load on applications… without slowing them down NCache www.alachisoft.com 2
  • 3. Alachisoft What is Linear (Unlimited) Scalability? NCache www.alachisoft.com 3
  • 4. Alachisoft Following Applications Need Scalability 1. ASP.NET Apps  2. WCF & .NET Web Services  3. To quickly process very large amounts of data thru distribution Grid Computing Apps  5. To handle millions of requests Big Data Apps  4. To handle millions of users To process very large computations thru distribution Other .NET Server Apps  NCache To handle millions of requests www.alachisoft.com 4
  • 5. Alachisoft What is the Scalability Problem? 1. Application Architectures can Scale Linearly  2. Use a load balancer and simply add more app servers Data Storage has Scalability Bottlenecks!   NCache Cannot handle high transaction loads Cannot keep adding database servers www.alachisoft.com 5
  • 6. Alachisoft Data Storage is Scalability Bottleneck ASP.NET/WCF Example App Database ASP.NET/WCF Servers Database Servers Data Access Scale Web Farm Web Clients Http Calls ... NCache Load Balancer www.alachisoft.com ASP.NET Session Storage 6
  • 7. Alachisoft The Solution Scalable In-Memory Distributed Cache NCache NCache www.alachisoft.com 7
  • 8. Alachisoft What is an In-Memory Distributed Cache? 1. Cluster of multiple inexpensive cache servers  2. Synchronizes cache updates across all cache servers  3. Cache updates are immediately visible from all cache servers Linearly scales transaction & memory capacity  4. Pools their memory and CPU into one logical capacity Just add more cache servers to grow capacity Replicates data for reliability  NCache Intelligent replication without compromising performance & scalability www.alachisoft.com 8
  • 9. Alachisoft NCache: In-Memory Distributed Cache ASP.NET Web Apps WCF Web Services Grid Computing Apps (.NET) .NET Server Apps Distributed Cache Cluster Memory pooled from all cache servers Scale Horizontally Windows 2008/2012 (64-bit) Filesystem NCache Database Servers www.alachisoft.com Mainframe 9
  • 10. Alachisoft Three Common Uses of Distributed Cache 1. App Data Caching (for Database Bottlenecks)   2. Reliable & Scalable Cache for ASP.NET Specific Data    3. In-memory cache faster than database Cache linearly scalable which database is not ASP.NET Session State storage (most common) ASP.NET View State cache ASP.NET Output Cache provider Scalable Runtime Data Sharing thru Messaging    NCache Faster & more scalable than traditional message queues Async data sharing in producer/consumer model Powerful event notifications & continuous queries for app coordination www.alachisoft.com 10
  • 11. Alachisoft What Data to Cache? 1. Permanent Data   2. Transient (temporary) Data    3. Data goes away after a short period (minutes, hours, or days) No need to keep it in database ASP.NET Session State, ASP.NET View State, ASP.NET Output Cache Reference Data   4. Master copy of data exists in the database Caching it reduces expensive database trips Does not change very frequently (but is not static) This is usually permanent data Transactional Data  NCache Changes frequently (as frequently as in a few seconds) www.alachisoft.com 11
  • 12. Alachisoft Overview of Caching API  Cache appears as a Hashtable-like interface   Each item has a string-based key and an “object” as its value. String based keys contain type information    NCache “Employee:1000”: Employee with EmployeeId = 1000 “Employee:Orders:1000”: Employee 1000’s related Order collection “Employee:Query:FindByTitle:Mgr”: Employee collection returned by query “FindByTitle” with “Mgr” as runtime parameter www.alachisoft.com 12
  • 13. Alachisoft Overview of Caching API  Connect & Disconnect from the Cache    Read from the Cache       cache.Add(“myKey”, obj); cache.Insert(“myKey”, obj); cache[“myKey”] = obj; Remove from the Cache   object obj = cache.Get(“myKey”); object obj = cache[“myKey”]; bool isPresent = cache.Contains(“myKey”); Add to the Cache   Cache cache = NCache.InitializeCache(“myReplicatedCache”); cache.Dispose(); object obj = cache.Remove(“myKey”); Empty the Cache  NCache cache.Clear(); www.alachisoft.com 13
  • 14. Alachisoft Cache Elasticity (100% Uptime) Dynamic Cache Cluster  TCP based Cache Cluster   No single point of failure Add/remove servers at runtime    Does not use Windows Clustering Peer to peer architecture   Remote Clients (Web/App Servers) Without stopping cache or your app Data adjusted automatically based on caching topology Add Server At Runtime Hot Apply config changes  Cache Cluster NCache Srv NCache Srv Remove Server At Runtime Change config properties while cache is running NCache Srv NCache www.alachisoft.com 14
  • 15. Alachisoft Cache Elasticity (100% Uptime) Dynamic Configuration  Cluster membership info   Propagate to clients at runtime Cache topology info    Remote Clients (Web/App Servers) Propagate to clients at runtime Connection strategy at runtime Cluster Membership Info Connection failover  Cache Topology Info Clients auto-connect to other servers NCache Srv NCache Srv NCache Srv Dynamic Cache Cluster NCache www.alachisoft.com 15
  • 16. Alachisoft Caching Topologies Mirrored Cache (2-node active/passive)  All clients connect to active node Mirrored Cache Remote Clients (Web/App Servers)    Passive node becomes active if active node goes down. Clients also automatically connect to new active node Mirroring to passive node done asynchronously Recommended use:  Up to 10 app servers  2 cache server cluster Server 1 1 3 Server 2 2 Active 5 1 4 3 6 2 Passive (Backup) 5 4 6 Async Backup NCache www.alachisoft.com 16
  • 17. Alachisoft Caching Topologies Replicated Cache  Each server has the entire cache Replicated Cache Remote Clients (Web/App Servers)    Cache updates done to all servers synchronously. So, they’re slower. Each clients connects to only one cache server. All servers active. Good for read-intensive scenarios Server 1 1 3 Server 2 2 Active 5 1 4 6 3 2 Active 5 4 6 Synchronous Updates NCache www.alachisoft.com 17
  • 18. Alachisoft Caching Topologies Partitioned Cache  Extremely scalable Partitioned Cache Remote Clients (Web/App Servers)  Location transparency  Good for large cache clusters   Distribution map sent to all clients at runtime Distribution Map Distribution Map No replication available Partition 1 1 2 Server 1 NCache www.alachisoft.com Partition 2 3 4 Server 2 18
  • 19. Alachisoft Caching Topologies Partition-Replica Cache  Each partition has one replica on a different server. All created automatically.  Remote Clients (Web/App Servers) Async & Sync replication options  Partition-Replica Cache Extremely fast & scalable  Reliability due to replicas Distribution Map Distribution Map Partition 1 1 2 Replica 2 3 4 Server 1 NCache www.alachisoft.com Partition 2 3 4 Replica 1 1 2 Server 2 19
  • 20. Alachisoft Caching Topologies Client Cache NCache Client Nodes    Local cache on client nodes (inprocess and out-of-process) Automatically synchronizes with clustered cache. Optimistic & pessimistic synch options. ... Web/App Server (Client Node) Web/App Server (Client Node) Client Cache Client Cache Synchronized No special programming needed. Plug in thru config changes. Synchronized Cache Cluster Dynamic Clustered Cache Server 1  Good for read-intensive scenarios 1 Server 2 2 3 1 5 2 5 4 6 3 6 4 Server 3 1 2 5 6 3 4 Cached Item NCache www.alachisoft.com 20
  • 21. Alachisoft Caching Topologies Performance Data NCache Performance Benchmarks NCache www.alachisoft.com 21
  • 22. Alachisoft WAN Replication of Distributed Cache Active-Passive Configuration Primary Site (Active) Disaster Recovery Site NCache Client Nodes Remote Client (.NET) Remote Client (.NET) ... NCache Client Nodes Remote Client (Java) Remote Client (.NET) Remote Client (.NET) Cache Cluster Server 1 Server 2 .NET Client NCache NCache Server 1 Replicate (WAN) Server 2 (Passive Mirror) www.alachisoft.com Java Client NCache Server 1 (Active) Server 2 .NET Client Bridge Server 3 NCache Remote Client (Java) Cache Cluster Java Client NCache ... NCache Server 3 NCache 22
  • 23. Alachisoft WAN Replication of Distributed Cache 1. Active-Passive  2. Hub-spoke  3. One active and multiple passive Active-Active  4. One active and one passive Two active sites STAR  NCache One central active site and multiple satellite active sites www.alachisoft.com 23
  • 25. Alachisoft Some Object Caching Features  Expirations    Locking (Pessimistic & Optimistic)    Lock/Unlock for pessimistic locking (writer-lock) Object versioning for optimistic locking (reader-lock) Bulk Operations   Absolute-time + idle-time Auto-reload data on expiration (if read-thru enabled) Bulk Get, Add, Insert, and Remove Async Operations  NCache Async Add, Insert, and Remove www.alachisoft.com 25
  • 26. Alachisoft Handling Relational Data in Cache  Cache Dependency   Key based One-to-one, one-to-many, and many-to-many   NCache Let cache manage relationships for you Cache invalidates related data when a cached item is updated/removed www.alachisoft.com 26
  • 27. Alachisoft Synchronize Cache with Data Sources  Synchronize with Relational Databases (SQL, Oracle, etc.)     SqlDependency OracleDependency DbDependency Synchronize with non-Relational Data Sources   NCache File based Cache Dependency Custom Cache Dependency www.alachisoft.com 27
  • 28. Alachisoft Data Grouping in the Cache  Group/Subgroup  Tags  Named Tags NCache www.alachisoft.com 28
  • 29. Alachisoft Searching the Cache  Parallel Queries with Object Query Language (OQL)   Parallel LINQ Queries   SQL-like query language to search cache based on object attributes Standard LINQ queries can search the cache Indexing Object Attributes for Querying  NCache Create indexes on object attributes to speed up queries www.alachisoft.com 29
  • 30. Alachisoft Read-thru, Write-thru, Write-behind  Read-through and write-through   Write-behind    You implement read-thru and write-thru handlers called by NCache Write-through has write-behind option that queues up database updates Database update queue replicated to multiple servers for reliability Reload Items on Expiration or Db Sync  NCache Use Read-thru to reload item from its data source instead of removing it www.alachisoft.com 30
  • 31. Alachisoft Runtime Data Sharing with Messaging  Key Based Event Notifications     General Purpose Event Notifications   Register interest to be notified at ALL add/insert/remove (off by default) Custom Event Notifications    Register interest in specific cached items to be notified at insert/remove Register interest to be notified at ALL add/insert/remove (off by default) Send custom notifications to other NCache clients (cluster wide) Apps fire custom event notifications into NCache cluster Other apps are notified Continuous Queries Events   NCache SQL-Like query to specify dataset Event notifications fired when dataset changes in the cache cluster www.alachisoft.com 31
  • 32. Alachisoft Some Other Features  NHibernate L2 Cache Provider   Entity Framework L2 Cache   Plug into NHibernate application without any code change Plug into Entity Framework application without any code change Dynamic Compact Serialization   NCache Faster and more compact then regular .NET serialization No code writing required www.alachisoft.com 32
  • 33. Alachisoft What to Do Next?     Find more about NCache Download 60-day Trial Request a Personalized LIVE Demo Read product Documentation Thank You NCache 4.1 www.alachisoft.com 33