Alachisoft.com

Contact Us

+1 (925) 236-3830 sales@alachisoft.com

support@alachisoft.com

Live Chat

TayzGrid Product Features

Feature Area

Description

Performance & Scalability Optimizations provided as options. All Bulk operations provided. Custom compact serialization provided. Async operations provided. And much more.
Data Grid Elasticity (High Availability) Highly elastic with 100% uptime. Peer to peer cache cluster architecture. Connection failover support and dynamic configuration.
Data Grid Topologies Rich options. Mirrored, Replicated, Partitioned, Partition-Replica, and Client Caches. Highly dynamic. And intelligent replication provided.
WAN Replication Supports WAN replication between following sites. Active-passive, active-active. No performance drop.
Data Grid Administration and Management Very feature-rich GUI tools. TayzGrid Manager, TayzGrid Monitor, JMX, SNMP and PerfMon counters, and command line tools provided.
Security & Encryption Red Hat Directory Server authentication, Active Directory/LDAP for Windows authentication, authorization, and 3DES/AES-256 encryption. No programming needed.
Object Caching Features Very rich operations. Get, Add, Update, Remove, Exists, & Clear Cache with many options. Both absolute & sliding expirations. Lock/unlock, item versioning, and streaming API provided.
Managing Data Relationships Key based Cache Dependency allows you to handle one-to-one, one-to-many, and many-to-many relationships in the cache automatically.
Synchronization with Data Sources OracleDependency, DbDependency, & Oracle Stored Procedures for database synchronization. File based and Custom dependency for non-relational data sources.
Runtime Data Sharing Events, Continuous Query, Java/.NET portable binary data, and more. Use TayzGrid for publisher/consumer data sharing between Java/Java or Java/.NET apps.
Search Data Grid (SQL-Like) Object Query Language (OQL). Search cache on object attributes, Tags, and Named Tags with SQL-like query.
Data Grouping Group/sub-group, Tags, and Named Tags. Group, fetch, update, and manipulate data intelligently.
Read-through& Write-through Multiple Read-through, Write-through, Write-behind. Use cache to fetch data from your database and simplify your apps. Also auto-reload cached items when expired or when database synchronization needed.
Cache Size Management Cache levelmanagement.
LRU, LFU, and Priority evictions.
You can designate cached items to not be evicted with priority eviction.
Java Web Sessions Persistence JSP Servlet Session Persistence, WAN and multi-site Replication for Web sessions.
ASP.NET Support ASP.NET Session State, ASP.NET View State, ASP.NET Output Cache. Replication for sessions, view state, and page output. Link view state with sessions for auto expiry and much more.
Third Party Integrations Hibernate Second Level Cache, NHibernate Second L2 Level Cache, Entity Framework Cache,, Spring Data Cache EntLib Caching Block; extra features provided for all of these. Use all of these without any programming.

^ Top

Performance and Scalability

Performance is defined as how fast cache operations are performed at a normal transaction load. Scalability is defined as how fast the same cache operations are performed under higher and higher transaction loads. TayzGrid is extremely fast and scalable.

See TayzGrid benchmarks for more details.

Feature

Description

Data Grid Performance TayzGrid is an extremely fast in-memory data grid. It is much faster than going to the database to read data. It provides sub-millisecond response times to its clients.
Data Grid Scalability Unlike databases, TayzGrid is able to scale out seamlessly and allow you to keep growing your transaction load. On top of this, TayzGrid provides you linear scalability, which means that as you increase your cache servers, your transaction capacity also increases from the original capacity.
Bulk Operations Bulk Get, Add, Insert, and Remove. This covers most of major cache operations and gives great performance boost.
Async Operations An async operation returns control to the application and performs the cache operation in the background. Very useful in many cases and improves application performance greatly.
Compression You can specify this in the config. file and change it at runtime and then do a “Hot Apply”.
Compact Serialization

TayzGrid generates serialization code and compiles it in-memory when your application connects to the cache. This code is used to serialize objects and it is almost 10 times faster than regular Java serialization (especially for larger objects). TayzGrid also stores type-ids instead of long string-based type names in the serialized object so it is much smaller (hence compact).
Following enhancements have been made to compact serialization:

  1. Users can select and de-select the data members to be compact serialized.
  2. Byte arrays are no more serialized.
  3. Compact types are hot-appliable.
Indexes TayzGrid creates indexes inside the cache to speed up various data retrieval cache operations. You can use this with groups, tags, named tags, searching, and more. Expiration and eviction policies also use indexes.
Multiple NICs You can assign two NICs to a cache server. One can be used for clients to talk to the cache server and second for multiple cache servers in the cluster to talk to each other. Improves your data bandwidth scalability greatly.

^ Top

Data Grid Elasticity (High Availability)

Data grid elasticity means how flexible the data grid is at runtime. Are you able to perform the following operations at runtime without stopping the cache or your application?

  • Add or remove cache servers at runtime without stopping the cache.
  • Make cache config changes without stopping the cache
  • Add or remove web/application servers without stopping the cache
  • Have failover support in case any server goes down (meaning are cache clients are able to continue working seamlessly).

TayzGrid provides a self-healing dynamic data grid clustering that makes TayzGrid highly elastic.

See Dynamic Clustering for details.

Feature

Description

Dynamic Data Grid TayzGrid is highly dynamic and lets you add or remove cache servers at runtime without any interruption to the cache or your application.
Peer to peer architecture This means there is no “master” or “slave” nodes in the cluster. There is a “primary coordinator” node that is the senior most node. And, if it goes down, the next senior most node automatically becomes the primary coordinator.
Connection Failover Full support. When a cache server goes down, the TayzGrid clients automatically continue working with other servers in the cluster and no interruption is caused.
Dynamic Configuration A lot of information can be changed at runtime without stopping the cache or your applications. TayzGrid has a “Hot Apply” feature does this.

^ Top

Data Grid Topologies

Data Grid Topologies determine data storage and client connection strategy. There are different topologies for different type of uses.

See TayzGrid Data Grid Topologies for details.

Feature

Description

Local Cache You can use TayzGrid as InProc or OutProc local cache. InProc is much faster but your memory consumption is higher if you have multiple application processes. OutProc is slightly slower but saves you memory consumption because there is only one cache copy per server.
Client Cache (Near Cache) Client Cache is simply a local InProc/OutProc cache on client machine but one that stays connected and synchronized with the distributed cache cluster. This way, the application really benefits from this “closeness” without compromising on data integrity.
Mirrored Cache Mirrored Cache is a 2-node active-passive cache and data mirroring is done asynchronously.
Replicated Cache Replicated Cache is active-active cache where the entire cache is copied to each cache server. Reads are super fast and writes are done as atomic operations within the cache cluster.
Partitioned Cache You can create a dynamic Partitioned Cache. All partitions are created and clients are made aware all at runtime. This allows you to add or remove cache servers without any interruption.
Partition-Replica Cache Same as Partitioned Cache and is fully dynamic except there is also a “replica” for each partition kept at another cache server for reliability.

^ Top

WAN Replication through Bridge Topology

WAN replication is an important feature for many applications are deployed in multiple data centers either for disaster recovery purpose or for load balancing of regional traffic.

The idea behind WAN replication is that it must not slow down the cache in each geographical location due to the high latency of WAN. TayzGrid provides Bridge Topology to handle all of this.

See WAN Replication for details.

Feature

Description

One Active - One Passive Bridge Topology Active-Passive
You can create a Bridge between the active and passive sites. The active site submits all updates to the Bridge which then replicates them to the passive site.
Both Active Bridge Topology Active-Active
You can create a Bridge between two active sites. Both submit their updates to the Bridge which handles conflicts on last update wins rule or a custom conflict resolution handler provided by you. Then, the Bridge ensures that both sites have the same update.
Switch between Active/Active and Active/Passive While adding caches to bridge, you can configure a cache to participate as an active or a passive member of bridge. Even when bridge is up and running, you can turn a passive into active and an active into passive without losing any data.

User experience to configure a bridge is also changed as the topologies in bridge can be switched between Active-Active to Active-Passive at any time. Other topologies ‘Star’ and ‘Hub-spoke’ are currently not available in bridge.
Connect/Disconnect Caches Cache administrators can temporarily connect and disconnect caches from the bridge while bridge is running. When a cache is disconnected, no data is transferred between bridge and the disconnected cache. Similarly, the cache on the other side of the bridge stops queuing data to the bridge as the disconnected cache is no more receiving any data.

Cache can be reconnected at any time.

^ Top

Cache Administration and Management

Cache administration is a very important aspect of any distributed in-memory data grid. A good in-memory data grid should provide the following:

  • GUI based and command line tools for data grid administration including cache creation and editing/updates.
  • GUI based tools for monitor the in-memory data grid activities at runtime.
  • Data grid statistics based on SNMP, PerfMon

TayzGrid provides powerful support in all these areas.

See Admin Tools for details.

Feature

Description

Data Grid Admin GUI Tool TayzGrid Manager is a powerful GUI tool for TayzGrid. It gives you an explorer view and lets you quickly administer the cache including cache creation/editing and many other functions.
Data Grid Monitoring GUI Tool Its lets you monitor TayzGrid cluster wide activity from a single location. It also lets you monitor all of TayzGrid clients from a single location. And, you can incorporate non-TayzGrid PerfMon counters in it for real-time comparison with TayzGrid stats.
SNMP and PerfMon Counters TayzGrid provides a rich set of SNMPand PerfMon counters that can be seen from TayzGrid Manager, TayzGrid Monitor, or any third party tool that supports SNMP and/or PerfMon monitoring.
TayzGrid Manager Compatibility TayzGrid Manager can now be used manage .NET  Clients. TayzGrid Manager can also fetch SNMP and/or PerfMon counters for in-memory data grid.
Graceful Node Stop A node can now be gracefully stopped in a cluster. This action will make sure that all client requests that have reached the node are executed on cache before it comes to complete stop. Similarly, all write behind operations pending in the queue at that time are also executed on the data source. However, no more client requests are accepted by this node.
ReportView Control There is another type of dashboard available in TayzGrid Monitor now that allows you to create a report view style dashboard. In this dashboard, we have two report controls. One is for cache server nodes, while other one for client nodes.

Users can drop the counters in this control and their values are shown in a report view style as shown in SNMP.
Logging of Counters Counters added in report view can also be configured to be logged. Users can start and stop logging at any time. They can also schedule the logging to start automatically by specifying the start and stop time. These log files are generated in .csv format.
Command Line Admin Tools TayzGrid provides a rich set of command line tools/utilities. You can create a cache, add remote clients to it, add server nodes to it, start/stop the cache, and much more.

^ Top

Security & Encryption

Many applications deal with sensitive data or are mission critical and cannot allow the cache to be open to everybody. Therefore, a good in-memory data grid provides restricted access based on authentication and authorization to classify people in different groups of users. And, it should also allow data to be encrypted inside the client application process before it travels to the data grid.

TayzGrid provides strong support in all of these areas.

Feature

Description

Red Hat Directory Server Authentication You can authenticate users against Red Hat Directory Server. If security is enabled, nobody can use the cache without authentication and authorization.
Active Directory/LDAP for Windows You can also authenticate Windows users against Active Directory or LDAP.
Authorization You can authorize users to as either “users” or “admins”. Users can only access the cache for read-write operations while “admins” can administer the cache.
Encryption (DES & AES) You can enable encryption and TayzGrid automatically encrypts all items inside the client process before sending them to the cache. And decryption also happens automatically and transparently. Currently, 3DES, AES-128, AES-192 and AES-256encryptions are provided and more are being added.

When encryption is enabled, indexed data is now also encrypted.

^ Top

Object Caching Features

These are the most basic operations without which an in-memory data grid becomes almost unusable. These by no means cover all the operations an in-memory data grid should have.

Feature

Description

Get, Add, Insert, Remove, Exists, Clear Cache TayzGrid provides variations of these operations and therefore more control to the user.
Expirations Absolute expiration is good for data that is coming from the database and must be expired after a known time. Sliding expiration means expire after a period of inactivity and is good for session and other temporary data that must be removed once used.
Lock & Unlock Lock is used to exclusively lock a cached item so nobody else can read or write it. This item stays locked until either the lock expires or it is unlocked. TayzGrid also has incorporated “lock/unlock” features in “get” and “insert” calls where “get” returns an item locked and “insert” updates item and also unlocks it.
Streaming API For large objects (e.g. movie or audio files), where you might want to stream them, TayzGrid provides a streaming API. With this API, you can get chunks of data and pass upward one chunk at a time.

^ Top

Managing Data Relationships

Since most data being cached comes from relational databases, it has relationships among various data items. So, a good in-memory data grid should allow you to specify these relationships in the data grid and then keep the data integrity. It should allow you to handle one-to-one, one-to-many, and many-to-many data relationships in the data gridautomatically without burdening your application with this task.

Feature

Description

Key Based Dependency TayzGrid provides full support for it. You can specify one cached item A depends on another cached item B which then depends on a third cached item C. Then, if C is ever updated or removed, B is automatically removed from the cache and that triggers the removal of A from the cache as well. And, all of this is done automatically by the cache.

With this feature, you can keep track of one-to-one, one-to-many, and many-to-many relationships in the cache and invalidate cached items if their related items are updated or removed.
Multi-Cache Key Dependency This is an extension of Key Based Dependency except it allows you to create this dependency across multiple caches.

^ Top

Synchronization with Data Sources

Database synchronization is a very important feature for any good in-memory data grid. Since most data being cached is coming from a relational database, there are always situations where other applications or users might change the data and cause the cached data to become stale.

To handle these situations, a good in-memory data grid should allow you to specify dependencies between cached items and data in the database. Then, whenever that data in the database changes, the data grid becomes aware of it and either invalidates its data or reloads a new copy.

Additionally, a good in-memory data grid should allow you to synchronize the data gridwith non-relational data sources since real life is full of those situations as well.

TayzGrid provides a very powerful Database Synchronization feature.

Feature

Description

OracleDependency (Oracle) TayzGrid provides OracleDependency support for Oracle. It works just like SqlDependency but for Oracle. Whenever data changes in the database, Oracle notifies TayzGrid through Oracle event notification.
DbDependency TayzGrid provides support for you to synchronize the in-memory data gridwith any OLEDB database. This synchronization is based on polling it is much more efficient because in one poll, TayzGrid can synchronize thousands of cached items instead of receiving thousands of individual events in OracleDependency.
File Based Dependency TayzGrid allows you to specify a dependency on an external file. Then TayzGrid monitors this file for any updates and when that happens, TayzGrid invalidates the corresponding cached item. This allows you to keep the cached item synchronized with a non-relational data source.
Custom Dependency TayzGrid allows you to implement a custom dependency and register your code with the data gridcluster. Then, TayzGrid calls your code to monitor some custom data source for any changes. When changes happen, you fire a dependency update within TayzGrid which causes the corresponding cached item to be removed from the cache.

This feature is good when you need to synchronize the cached item with a non-relational data source that cannot be captured by a flat file. So, custom dependency handles this case.

^ Top

Runtime Data Sharing

Runtime data sharing has become an important use for in-memory data grids. More and more applications today need to share data with other applications at runtime in an asynchronous fashion.

Previously, relational databases were used to share data among multiple applications but that requires constant polling by the applications wanting to consume data. Then, message queues became popular because of their asynchronous features and their persistence of events. And although message queues are great, they lack performance and scalability requirements of today’s applications.

As a result, more and more applications are using in-memory data gridsfor event driven runtime data sharing. This data sharing should be between multiple Java applications or between java and .NET applications. TayzGrid provides very powerful features to facilitate runtime data sharing.

See Run-time Data Sharing for details.

Feature

Description

Events with Data You can now specify whether to receive data with the event or only the event. In many situations, you may want the data along with the event to guarantee that you’re getting the copy that was actually modified. This is because if you don’t receive data with events and your application then fetches the data from the cache, somebody else might have changed this data by that time.
Cached Item Specific Events (onInsert/onRemove) TayzGrid allows you to register interest in various cached items. Then, when these items are updated or removed, your callbacks are called. This is true even if you’re connected to cache remotely.
Cache Level Events (Add/Insert/Remove) TayzGrid allows you to register to be notified whenever any cached item is added, updated, or removed. Your callback is called when this happens even if your application is remotely connected to the cache.
Custom Events (Fired by Apps) TayzGrid allows your applications to fire custom events into the cache cluster. And, other applications can register to be notified for these events.

This feature allows you to coordinate a producer/consumer scenario where after the producer has produced data, it notifies all the consumers to consume it.
Continuous Query TayzGrid provides a powerful Continuous Query (CQ) feature. CQ lets you specify a SQL-like query against which TayzGrid monitors the cache for any additions, updates, or deletes. And, your application is notified whenever this happens.

^ Top

Data GridSearch (SQL-Like)

In-memory data grid is frequently used to cache objects that contain data coming from a relational database. This data may be individual objects or collections that are the result of some database query.

Either way, applications often want to fetch a subset of this data and if they have the ability to search the distributed cache with a SQL-like query language and specify object attributes as part of the criteria, it makes the distributed cache much more useful for them.

TayzGrid provides powerful Object Query Language (OQL) for searching the cache with a SQL-like query.

Feature

Description

Group-by for Queries You can issue GROUP BY queries and obtain a result set that includes counts of items in the cache groups by attribute values.
Delete Statement in Queries You can delete cached items by specifying an attribute based criteria.As in database, now items can be removed from cache by writing delete statements.
A new API has been introduced to support delete statement. ExecuteNonQuery will be used for delete statements.
Object Query Language
(OQL)
TayzGrid provides a rich Object Query Language (OQL) with which you can search the cache. Your search criteria can now include object attributes (e.g. cust.city = ‘New York’) and you can also include Tags and Named Tags in the query language.
LINQ Queries TayzGrid allows you to search the cache with LINQ queries. LINQ is a popular object querying language in .NET and TayzGrid has implemented a LINQ provider.

^ Top

Data Grouping

An in-memory data gridshould be much more than a Hashtable with a (key,value) pair interface. It needs to meet the needs of real life applications that expect to fetch and update data in groups and collections. In a relational database, Oracleprovides a very powerful way to do all of this.

We’ve already explained how to search an in-memory data gridthrough OQL and LINQ. Now let’s discuss Groups, Tags, and Named Tags. These features allow you to keep track of collections of data easily and even modify them.

Feature

Description

Groups/Subgroups TayzGrid provides the ability for you to group cached items in a group-subgroup combination (or just a group with no subgroup).

You can later fetch or remove all items belonging to a group. You can also fetch just the keys and then only fetch subset of them.
Tags A Tag is a string that you can assign to one or more cached items. And one cached item can be assigned multiple Tags.

And, later, you can fetch items belonging to one or more Tags in order to manipulate them.

You can also include Tags in Object Query Language search as part of the criteria.
Named Tags TayzGrid provides Named Tags feature where you can assign a “key” and “tag” to one or more cached items. And, a single cached item can get multiple Named Tags.

Later, you can fetch items belonging to one or more Named Tags.

^ Top

Read-through& Write-through

Many people use in-memory data grid as “cache on the side” where they fetch data directly from the database and put it in the data grid. Another approach is “cache through” where your application just asks the data gridfor the data. And, if the data isn’t there, the data grid gets it from your data source.

The same thing goes for write-through. Write-behind is nothing more than a write-through where the data grid is updated immediately and the control returned to the client application. And, then the database or data source is updated asynchronously so the application doesn’t have to wait for it.

TayzGrid provides powerful capabilities in this area.

Feature

Description

Read-through TayzGrid allows you to implement multiple read-through handlers and register with the data grid as “named providers”. Then, when the applications tell TayzGrid to use read-through upon a “cache miss”, an appropriate read-through is called by the cache server to load the data from your database or data source.
Write-through & Write- behind batching options You can specify the following:
  1. Batch size – how many items to batch together when doing database updates.
  2. Batch interval – How long to wait before processing the next batch.
  3. Retries threshold - How many retries to do if a database update fails.
  4. Retry queue eviction - How many items to evict from retry-queue if it becomes full.
Write-through & Write behind TayzGrid allows you to implement multiple write-through handlers and register with TayzGrid as “named providers”. Then, whenever application updates a cached item and tells TayzGrid to also call write-through, TayzGrid server calls your write-through handler.

If you’ve enabled write-behind, then TayzGrid updates the data grid immediately and queues up the database update and a background thread processes it and calls your write-through handler.
Reload Items at Expiration & Database Synchronization TayzGrid allows you to use it to specify that whenever a cached item expires, instead of removing it from the data grid, TayzGrid should call your read-through handler to read a new copy of that object and update the data grid with it.

You can specify the same when database synchronization is enabled and a row in the database is updated and a corresponding cached item would have been removed from the data grid but is now reloaded with the help of your read-through.

^ Top

Data Grid Size Management (Evictions Policies)

An in-memory data grid always has less storage space than a relational database. So, by design, anin-memory data grid is supposed to cache a subset of the data which is really the “moving window” of a data set that the applications are currently interested in.

This means that a data grid should allow you to specify how much memory it should consume and once it reaches that size, the cache should evict some of the cached items. However, please keep in mind that if you’re caching something that does not exist in the database (e.g. Web Sessions) then you need to do proper capacity planning to ensure that these cached items (sessions in this case) are never evicted from the cache. Instead, they should be “expired” at appropriate time based on their usage.

Feature

Description

Specify Cache Size TayzGrid lets you specify the upper limit of cache size in MB as per your needs. And you can “Hot-Apply” these changes.
LRU Evictions
(Least Recently Used)
LRU is one of the eviction policies and means those items that have not been accessed by any client application in the longest time.
LFU Evictions
(Least Frequently Used)
LFU is one of the eviction policies and means those items that have accessed the least number of times since the last eviction or since the starting of the cache whichever is later.
Priority Evictions TayzGrid lets you specify different priority values when you add an item to the cache. These include High, Above-Normal, Normal, Below-Normal, and Low. Then, when the cache is full and TayzGrid wants to evict items, it starts from priority Low and starts evicting all the items in a FIFO (first-in-first-out) manner.
Do not Evict TayzGrid also lets you specify a “do not evict” priority for some cached items and then they are not evicted. This is enabled at cache-level so nothing gets evicted from the entire cache.

^ Top

Java Web Sessions Persistence

Java Web Sessions Persistence must allow Web Sessions replication in order to ensure that no session is lost even if a cache server goes down. TayzGrid has implemented a JSP Servlet Filter to allow Web Sessions replication over the WAN. TayzGrid also allows you to persist multi-site Web Sessions for web applications running at different sites.

See Java Web Session Persistence for details.

Feature

Description

WAN Replication of Web Sessions TayzGrid allows you to replicate web sessions across the WAN if your application is running in multiple data centers. You can achieve this for active-passive and active-active datacenter configuration. This way, if one datacenter goes down, you can redirect all your traffic to the other datacenter and all user sessions stay active and valid.
Multi-site Web Sessions If you don’t want to replicate Web Sessions across the WAN because of bandwidth consumption cost, you can choose to use Multi-site Web Session feature of TayzGrid. In this, the Web Session is not replicated across sites and instead is kept at the location of its creation. But, it is accessible to your web application that is running in other datacenters in case you redirect some or all of your traffic from one datacenter to another either due to overflow or if one datacenter is doing down.
Fast Compact Serialization of Web Session When you put your objects in Web Session and store it out-of-process, the entire Web Session must be serialized along with your Java and .NET objects. And, this is normally done with regular Java and .NET serialization that use Reflection at runtime and this is quite slow. TayzGrid provides almost 10 times faster serialization called Fast Compact Serialization. With this, your Web application speed increases noticeably. And, the best thing is that you don’t have to write any code for it because TayzGrid generates serialization code at runtime, compiles it in-memory, and uses it for all serialization. You can mix Fast Compact Serialization with regular serialization.

^ Top

ASP.NET Support

ASP.NET applications need three things from a good in-memory data grid. And, they are ASP.NET Session State storage, ASP.NET View State caching, and ASP.NET Output Cache.

ASP.NET Session State store must allow session replication in order to ensure that no session is lost even if a cache server goes down. And, it must be fast and scalable so it is a better option than InProc, StateServer, and SqlServer options that Microsoft provides out of the box. TayzGrid has implemented a powerful ASP.NET Session State provider.

ASP.NET View State caching allows you to cache heavy View State on the web server so it is not sent as “hidden field” to the user browser for a round-trip. Instead, only a “key” is sent. This makes the payload much lighter, speeds up ASP.NET response time, and also reduces bandwidth pressure and cost for you. TayzGrid provides a feature-rich View State cache.

Third is ASP.NET Output Cache. For .NET 4.0, Microsoft has changed the ASP.NET Output Cache architecture and now allows third-party caches to be plug-in. ASP.NET Output Cache saves the output of an ASP.NET page so the page doesn’t have to execute next time. And, you can either cache the entire page or portions of the page. TayzGrid has implemented a provider for ASP.NET Output Cache.

Feature Area

Description

ASP.NET Session State Store TayzGrid has implemented an ASP.NET Session State Provider (SSP) for .NET 2.0+. You can use it without any code changes. Just change web.config.

TayzGrid provides intelligent session replication and is much faster than any database storage for sessions.
ASP.NET View State Cache TayzGrid has an ASP.NET View State caching module. You can use it without any code changes to your application. Just modify web.config.

You can also associate ASP.NET View State to a user session so when that session expires, all of its View State is also removed.
ASP.NET Output Cache TayzGrid has an ASP.NET Output Cache provider implemented. It allows you to cache ASP.NET page output in a distributed cache and share it in a web farm.
ASP.NET OutputCacheProvider Hooks You can now write your own code to modify the cache items before they are inserted in TayzGrid. Users can change the expiration, dependencies etc. of output cache items by writing these hooks.

For this, you have to implement an interface provided with OutputCacheProvider and then register this assembly and class in web.config.

^ Top


Third Party Integrations

Memcached is an open-source in-memory distributed caching solution which helps speed up web applications by taking pressure off the database. Memcached is used by many of the internet’s biggest websites and has been merged with other technologies. TayzGrid implements Memcached protocol to enable users with existing Memcached implementations to easily migrate to TayzGrid. No code required for this.

Hibernate is a very powerful and popular object-relational mapping engine. And, fortunately, it also has an Second Level Cache provider architecture that allows you to plug-in a third-party cache without making any code changes to the Hibernate application. TayzGrid has implemented this Hibernate Second Level Cache provider.

See Hibernate Second Level Cache for details.

Similarly, Spring Framework is an open source application framework for the Java comprising of several modules that provide a range of services.

See Spring Data Integration for details.

NHibernate is a very powerful and popular object-relational mapping engine. And, fortunately, it also has a Second Level Cache provider architecture that allows you to plug-in a third-party cache without making any code changes to the NHibernate application. TayzGrid has implemented this NHibernate Second Level Cache provider.

Entity Framework from Microsoft is also a very popular object-relational mapping engine. And, although Entity Framework doesn’t have a nice Second Level Cache provide architecture like NHibernate, TayzGrid has nonetheless implemented a Second Level Cache for Entity Framework.

Feature Area

Description

Memcached Wrapper

Memcached Wrapper for TayzGrid offers you a no-code-change way for migrating your Memcached applications to a powerful elastic in-memory data grid. You can use Memcached Wrapper for TayzGrid in two ways as following:

  1. Memcached Plug-In (for Java/.NET apps)
    Memcached Plug-In option is for both Java and .NET applications. Alachisoft has taken all the popular Open Source Memcached client libraries and implemented them for TayzGrid. These libraries for Java are:
    • spymemcached
    • gwhalin
  2. Memcached Gateway
    Memcached Gateway implements Memcached Protocol and supports all types of Memcached applications. You direct your application to this Memcached Gateway and your application starts using TayzGrid behind the scenes.
Hibernate Second Level Cache TayzGrid provides a Hibernate Second Level Cache provider that you can plug-in through web.config or app.config changes.

TayzGrid has also implemented database synchronization feature in this so you can specify which classes should be synchronized with the database. TayzGrid lets you specify OracleDependency or DbDependency for this.
Spring Data Cache TayzGrid has implemented a custom cache provider for Spring. You can plug-in TayzGrid without any code change to your application
NHibernate Second Level Cache TayzGrid provides a NHibernate Second Level Cache provider that you can plug-in through web.config or app.config changes.

TayzGrid has also implemented database synchronization feature in this so you can specify which classes should be synchronized with the database. TayzGrid lets you specify SqlDependency or DbDependency for this.
Entity Framework Second Level Cache You can plug-in TayzGrid to your Entity Framework application, run it in analysis mode, and quickly see all the queries being used by it. Then, you can decide which queries should be cached and which ones skipped.

You can also specify which queries should be synchronized with the database through SqlDependency.

^ Top
Please read more about TayzGrid and also feel free to download a fully working 60-day trial of TayzGrid.