ncache 3.8

Upload: wes5812

Post on 08-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 NCache 3.8

    1/23

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

    NCacheNCacheFast & Scalable .NET AppsFast & Scalable .NET Apps

    in Server Farmsin Server Farms

    Distributed .NET Data CacheDistributed .NET Data Cache

    Distributed ASP.NET SessionsDistributed ASP.NET Sessions

    IqbalIqbal [email protected]@alachisoft.com Ph: +1 (925) 236Ph: +1 (925) 236--21252125

    Alachisoft.NET Performance Solutions

  • 8/7/2019 NCache 3.8

    2/23

    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 revenueImpressive growth from profitable and revenue--funded modelfunded 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)

  • 8/7/2019 NCache 3.8

    3/23

    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 yourexisting apps: into yourexisting 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

  • 8/7/2019 NCache 3.8

    4/23

    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:

    Reducepressure on databaseReducepressure 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 forreliabilitySession replicated forreliability

    Fast & scalable session storage

    3.3. Runtime Data Sharing for Server AppsRuntime 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

  • 8/7/2019 NCache 3.8

    5/23

    Alachisoft

    NCache 3.8 5

    Main Uses of NCacheMain Uses of NCache

    1.1. Enterprise Distributed Data CacheEnterprise Distributed Data Cache Performance & ScalabilityPerformance & Scalability: Reduceexpensive db trips: Reduceexpensive 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 storagesession storage

    ReliabilityReliability: 100% uptime. Sessions replicated.: 100% uptime. Sessions replicated.

    Easy adoptionEasy adoption:: No code changerequired to useNo code changerequired to use

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

  • 8/7/2019 NCache 3.8

    6/23

    Alachisoft

    NCache 3.8 6

    Enterprise Distributed Data CacheEnterprise Distributed Data Cache

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

  • 8/7/2019 NCache 3.8

    7/23

    Alachisoft

    NCache 3.8 7

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

    TCP based Cache ClusterTCP based Cache Cluster

    Does not use Windows ClusteringDoes not use Windows Clustering

    Peer to peer architecturePeer to peer architecture

    No singlepoint of failureNo singlepoint of failure

    Add/remove servers at runtimeAdd/remove servers at runtime

    Without stopping cache or your appWithout stopping cache or your app

    Data adjusted automatically basedData adjusted automatically basedon caching topologyon caching topology

    Hot ApplyHot Apply configconfig changeschanges

    ChangeChange configconfig properties whileproperties whilecache is runningcache is running

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

  • 8/7/2019 NCache 3.8

    8/23

  • 8/7/2019 NCache 3.8

    9/23

    Alachisoft

    NCache 3.8 9

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

    All clients connect to active nodeAll clients connect to active node

    Passive node becomes active ifPassive node becomes active if

    active node goes down. Clientsactive node goes down. Clientsalso automatically connect to italso automatically connect to it

    Mirroring to passive node doneMirroring to passive node doneasynchronouslyasynchronously

    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

  • 8/7/2019 NCache 3.8

    10/23

    Alachisoft

    NCache 3.8 10

    Caching TopologiesCaching TopologiesReplicated CacheReplicated Cache

    Entire cache copied to all serversEntire cache copied to all servers

    Each update done to all serversEach update done to all servers

    Clients connectevenly to allClients connectevenly to allservers. All servers active.servers. All servers active.

    Good forreadGood forread--intensive scenariosintensive scenarios

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

  • 8/7/2019 NCache 3.8

    11/23

    Alachisoft

    NCache 3.8 11

    Caching TopologiesCaching TopologiesPartitioned CachePartitioned Cache

    Extremely scalableExtremely scalable

    Location transparencyLocation transparency

    Good for larger clustersGood for larger clusters

    Distribution map sent to all clientsDistribution map sent to all clients

    No replication availableNo replication available

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

  • 8/7/2019 NCache 3.8

    12/23

    Alachisoft

    NCache 3.8 12

    Caching TopologiesCaching TopologiesPartitionedPartitioned--Replica CacheReplica Cache

    Each partition has onereplicaEach partition has onereplica

    AsyncAsync & Sync replication& Sync replication

    Location transparency.Location transparency.

    Extremely scalableExtremely scalable

    Reliability due to replicationReliability due to replication

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

  • 8/7/2019 NCache 3.8

    13/23

    Alachisoft

    NCache 3.8 13

    Caching TopologiesCaching TopologiesClient CacheClient Cache

    Clustered cache on separate tierClustered cache on separate tier

    Client has local client cacheClient has local client cache

    Client cacheClient cache InProcInProc oror OutProcOutProc

    Client cache automaticallyClient cache automaticallysynchronized with clustered cachesynchronized with clustered cache

    Gives further boost to client appsGives further boost to client apps

    Good forreadGood forread--intensive appsintensive apps

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

  • 8/7/2019 NCache 3.8

    14/23

    Alachisoft

    NCache 3.8 14

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

    0

    10000

    20000

    30000

    40000

    50000

    60000

    Mirrored Replicated Partition-Replica

    Reads/sec (1 kb)

    Writes/sec (1 kb)

    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

    PartitionPartition--Replica CacheReplica Cache

    60,000 reads/sec60,000 reads/sec

    44,000 writes/sec44,000 writes/sec

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

  • 8/7/2019 NCache 3.8

    15/23

    Alachisoft

    NCache 3.8 15

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

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

  • 8/7/2019 NCache 3.8

    16/23

    Alachisoft

    NCache 3.8 16

    PowefulPoweful Cache AdministrationCache Administration

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

  • 8/7/2019 NCache 3.8

    17/23

    Alachisoft

    NCache 3.8 17

    Powerful Cache MonitoringPowerful Cache Monitoring

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

  • 8/7/2019 NCache 3.8

    18/23

    Alachisoft

    NCache 3.8 18www.alachisoft.com

    Important FeaturesImportant Features

    Max cache sizeMax cache size To control memory consumption. Evicts item when cachereaches Max SizeTo control memory consumption. Evicts item when cachereaches Max Size

    Eviction policiesEviction policies LRU, LFU, Priority, and Do NotEvictLRU, LFU, Priority, and Do NotEvict

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

    CompressionCompression Specify compression threshold. UsesSpecify compression threshold. Uses GZipGZip on clienton client--side.side.

    Server Configuration OptionsServer Configuration Options Rejoin a cache cluster upon rebootRejoin 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

  • 8/7/2019 NCache 3.8

    19/23

    Alachisoft

    NCache 3.8 19

    NCache ASP.NET 2.0 Session State ProviderNCache ASP.NET 2.0 Session State Provider

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

  • 8/7/2019 NCache 3.8

    20/23

    Alachisoft

    NCache 3.8 20

    Object Caching API is SimpleObject Caching API is Simple

    Initialize & Dispose the CacheInitialize & Dispose the Cache CacheCachecache =cache = NCacheNCache.InitializeCache(.InitializeCache(myReplicatedCachemyReplicatedCache););

    cache.Disposecache.Dispose();();

    Read from the CacheRead from the Cache objectobjectobj = cache.Get(obj = cache.Get(myKeymyKey););

    objectobjectobjobj = cache[= cache[myKeymyKey];]; boolbool isPresentisPresent == cache.Containscache.Contains((myKeymyKey););

    Add to the CacheAdd to the Cache cache.Addcache.Add((myKeymyKey,, objobj););

    cache.Insertcache.Insert((myKeymyKey,, objobj););

    cache[cache[myKeymyKey] =] = objobj;;

    Remove from the CacheRemove from the Cache objectobjectobjobj == cache.Removecache.Remove((myKeymyKey););

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

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

  • 8/7/2019 NCache 3.8

    21/23

    Alachisoft

    NCache 3.8 21

    Important Object Caching FeaturesImportant Object Caching Features

    ExpirationsExpirations AbsoluteAbsolute--time + idletime + idle--timetime

    AutoAuto--reload data on expiration (ifreadreload data on expiration (ifread--thru enabled)thru enabled)

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

    Synchronize cache with databaseSynchronize cache with database .NETevent notifications (.NETevent notifications (SqlDependencySqlDependency) for SQL Server 2005 & Oracle 10g R2) for SQL Server 2005 & Oracle 10g R2

    Polling based for all OLEDB compliant databasesPolling based for all OLEDB compliant databases

    ReadRead--through and writethrough and write--throughthrough You implementreadYou implementread--thru and writethru and write--thru handlers called by NCachethru handlers called by NCache

    Write has writeWrite has write--behind option that queues up database updatesbehind option that queues up database updates

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

  • 8/7/2019 NCache 3.8

    22/23

    Alachisoft

    NCache 3.8 22www.alachisoft.com

    Important Object Caching FeaturesImportant Object Caching Features

    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 forpessimistic locking (writerLock/Unlock forpessimistic locking (writer--lock)lock) Object versioning for optimistic locking (readerObject versioning for optimistic locking (reader--lock)lock)

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

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

  • 8/7/2019 NCache 3.8

    23/23

    Alachisoft

    NCache 3.8 23

    Important Object Caching FeaturesImportant Object Caching Features

    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 NCacheNCache implements a cache manager for CABimplements a cache manager for CAB

    No code changerequired to integrate (onlyNo code changerequired to integrate (only configconfig file changes)file changes)

    NHibernateNHibernate integrationintegration Cacheprovider forCacheprovider for NHibernateNHibernate implementedimplemented

    No code changerequired to integrate (onlyNo code changerequired to integrate (only configconfig file changes)file changes)

    Java clientJava client No JavaNo Java--toto--.NET interoperability used. Native NCache socketprotocol..NET interoperability used. Native NCache socketprotocol. Event notifications availableEvent notifications available Object Query Language availableObject Query Language available

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