Overview
Transparent Data Caching
xTraSonic™ is built using patented database caching technology for high performance demanding systems such as online trading applications
and e-commerce sites etc. xTraSonic’s caching engine is built using xTrade which has proven track record in numerous production
sites in the financial industry. xTraSonic™ is created based on code-free-integration philosophy and integrates seamlessly with Java
applications using JDBC API. xTraSonic™ acts as a smart JDBC driver proxy, which transparently caches database query results.
This enables applications to achieve multi-fold increase in data access speed without making changes to the application code.
Advantages
Improved Data Access Speed
TraSonic reduces database roundtrips by transparently caching the query results in Java
application. Caching enables applications to achieve higher throughput and
reduced response times, without making any changes to the application code. As
a result, applications can easily attain higher ROI without expensive hardware
and software upgrades.
Reduced TCO
Database load can be dramatically reduced in case of read
intensive applications since xTraSonic™ caches the query results at the
application layer. Higher system loads can be easily handled without costly
database upgrades. By using xTraSonic™, increased load on the application layer can
be handled easily by scaling out application servers instead of scaling up costly
database servers.
Eliminate Database Performance Bottlenecks
xTraSonic™ guarantees "read committed" access to the cache.
This allows applications to handle data served from the cache as if it is
served from the database thereby reducing the overhead on the application logic,
since the logic can always assume accessing the same up-to-date data from the
database even when accessed via xTraSonic™. This eliminates the complexity of polling
the database and application code complexity due to delayed cache
synchronization.
Reduce Development and Maintenance Costs
xTraSonic™ transparently caches the query results in the application code. This eliminates
the need to build custom code that caches some parts of database access with
constraints such as delayed refreshing of cache etc. This improves the overall
maintainability of the code and reduces the development and testing time.
Avoid Constantly Polling the Database
It is common in many applications to poll a
particular table in the database which is used as a database queue to exchange
data between applications or programs. Constantly polling database queue tables
has disadvantages such as (A) It causes overhead on the database server (B)
Induces a delay (polling interval) in processing the data available in queue. Caching
such tables using xTraSonic™ eliminates the need to constantly poll the database
queue tables and applications can receive immediate notification whenever new
data is available.
xTraSonic™ Overview Diagram
Salient Features
Transparent Data Cache
xTraSonic™ acts as a smart JDBC driver proxy and parses all the queries and caches the
results. Configuration information is used for fine grained control over
cacheable queries. The pluggable deployment nature of xTraSonic™ allows xTraSonic™
to seamlessly integrate with any application using JDBC. Application developers
can direct their time and energy in building the logic and integrate xTraSonic™ during
the later stages of development life cycle to enable applications to attain
higher performance.
Code Free Integration
Deploying xTraSonic™ requires no changes to the application code.
Deployment of xTraSonic™ is as easy as changing the JDBC URL or configuration.
Transparent Synchronized Data Cache for Enterprise Business Applications
xTraSonic™ guarantees the data delivered from the cache is always in synch with the database using read committed access.
This eliminates the need to consider and code around data synchronization delays common with other caching solutions.
xTraSonic™ provides the following 2 types of cache types.
- Universal Cache
-
A cache type typically used for data, which is cached on all application server nodes within a cluster.
This cache type is used to cache database tables containing master data which is less frequently updated.
E.g. product master, item master table etc.
- Partitioned (Account Partition) Cache
-
A cache type typically used for data, which is associated with an account and can be partitioned using
a logical key such as account ID, user name or email address etc. Partitioned cache is typically cached
on a single application server instance. This fine tuned cache optimization reduces the initial cache
loading and cache invalidation overhead required whenever the underlying data is changed.
E.g. order data, order history data and portfolio data etc.
Supported Environment
| Database |
: |
Oracle 9i, 10g, and 11g |
| JDK |
: |
JDK1.4 or above |
|