Release of NCache 4.1

October 26, 2011

Alachisoft , the developers of leading softwares like StorageEdge and NCache, has released the new version of NCache i.e. NCache 4.1 .

Like the early releases, this release is also full of new and exciting features. NCache 4.1 is not only embedded with some high quality features but there are some major enhancements too.I’m going to discus some of the most important features here.

This new release gives you a whole package for Run Time Data Sharing between multiple platforms (java & .Net) and it contains object level sharing , version based sharing, asynchronous data sharing (event based) and online data sharing across the WAN.

Due to XML serialization with the involvement of DB, Object sharing between .net and java was slow in the earlier editions. But this problem has been overcome in this edition with the help of run time data sharing. As runtime data sharing uses binary serialization instead of typical XML serialization without DB, the results are much faster and trouble free.

Another exciting feature of which has been introduced in NCache 4.1 is Continuous query. With the help of Continuous query you can synchronizes cache and application with each other. It lets you register against a query, which means application can ask for notifications whenever a record (data-set) is updated\modified, added or deleted.

Perhaps the most important feature of NCache is the introduction of much enhanced Bridge Topology. Bridge topology creates bridge node(s) where complete cache is replicated asynchronously over the WAN.

Runtime Data Sharing between .NET & Java

With the help of NCache now you store either .NET objects in the cache can read them as Java objects from your java application or vice versa. Most importantly, this transformation of .NET objects to Java is done by runtime data sharing which is a binary sharing instead of XLM sharing which is much slower as described above.

Multiple Objects Version Support (.NET & Java)

You can now share multiple versions of the same .NET or Java classes across multiple applications.

Continuous Query (.NET & Java)

NCache lets you specify a data-set based on an SQL-like query. It then maintains this data-set in the cache cluster for you and monitors any runtime changes in it, including additions, updates, or deletes.

For complete list of features of NCache 4.1 please visit What’s New Page

Or download 60-day fully working trial Version of NCache from the Download Page

Secondary (L2) Cache with NHibernate – Taking Performance to the Next Level

April 11, 2011

The fast, reliable and mature O/R mapping features that NHibernate comes with provides a remarkable reduction in the overall development cycle. However, as the application grows in complexity and the data on which they thrive upon becomes complex, the generality of such OR mapping engines may lead to various performance and scalability bottleneck. Applications cannot scale linearly with the increasing transactional requirements. Caching is one approach that provides just the right solution to address such issues. Infect the fact that caching does provide a remarkable performance boost to applications performance is recognized by the makers of NHibernate. NHibernate provides some caching infrastructure. By default it provides a standalone InProc (in process) first-level (L1) cache, or session-level cache. However in addition, , NHibernate also supports a second-level cache to be plugged in to exploit the benefits of a sophisticated enterprise-grade caching infrastructure.

Why is Secondary (L2) Cache Required with NHibernate

NHibernate provides a basic, not-so-sophisticated in-process L1 cache out of box. However, it doesn’t provide features that a caching solution must have to have a notable impact on the application performance. Some of the areas which NHibernate lacks in are:
1.Cannot handle ASP.NET worker process recycling: Worker process recycling destroys and recreates the entire cache which has a negative performance impact on your app.
2.Cannot handle ASP.NET web gardens:ASP.NET app runs in multiple worker processes in a web garden configuration. This creates multiple in-process copies of the cache that are not synchronized with each other and lead to data integrity errors.
3.Cannot handle ASP.NET web farms: ASP.NET apps frequently run in web farms for scalability reasons. A stand-alone cache is unaware of multiple servers and cache instances and is not synchronized. This leads to data integrity problems.
4. Cannot handle application scalability:If your application (ASP.NET, .NET web service, distributed app, grid computing app, or an N-tier app) needs to scale up and run on multiple servers, your cache must be distributed. Otherwise, it would lead to data integrity problems.
5.Cannot handle large cache size: In-process cache means it cannot grow more than what your app process can handle. A distributed cache on the other hand can grow in size through distribution.

Thus it surly requires a secondary level caching infrastructure which can not only address the above mentioned problems but also boost its performance.

NCache – Pluggable Cache for NHibernate

NCache provides just the right solution to problems highlighted above. It is extremely fast, enterprise-grade and highly scalable level-2 distributed cache for NHibernate. It is an in-memory object cache for .NET that lets you improve NHibernate performance and scalability without any code change. Some of the immediate benefits are:

• Scale up with Mirrored, Replicated, Partitioned, and Client Cache topologies
• Software appliance for NHibernate (no code change required)
• Database synchronization of cache thru SqlDependency

NCache acts as a 2nd Level distributed cache that lets you improve your application performance and also scales out very nicely when your application needs to scale out. Below are some of the benefits of using clustered sessions:
1.Handles ASP.NET worker processes well: NCache can be used out-of-process. This means multiple ASP.NET worker processes can share a common out-of-process cache. This also addresses worker process recycling problem because the cache is not affected by it.
2.Handles ASP.NET web farms: NCache creates a clustered cache that can live on multiple servers. This allows your ASP.NET apps and .NET web services to run in web farm configuration without worrying about cache synchronization issues.
3. Highly scalable: You have a rich set of clustering topologies (replicated, partitioned, and client nodes) that allows you to scale up to 100’s of web servers in your farm without compromising on performance.
4.No single point of failure (high availability): Clustering the cache allows you to eliminate all single points of failures from your environment. This makes your application highly available.
5.100% Native .NET: NCache is a 100% native .NET product. This means that you can expect us to stay on top of all additions and changes to .NET as compared to a non-.NET solution.

%d bloggers like this: