In case you missed it, the latest TimesTen release, version 220.127.116.11.0,
was released at the end of January for all supported platforms. I want to call out a couple new features
which provide significant performance improvement.
1. Dramatic Increase in Parallel Replication Throughput
For users who have OLTP application
workloads running at very high transaction rates and are using TimesTen
Replication for high availability, the new replication feature in this release will
be of interest to you.
If your Replication configuration
is currently using the single threaded Replication mode, you may want to consider
upgrading your Replication scheme to take advantage of the Automatic Parallel
Replication (APR) feature, which was made available in the 11.2.2.x releases.
APR provides a significant boost for replication throughput – the rate of
transactions replicated from one TimesTen database to another TimesTen database
on a remote host. The improvement varies depending on your workload; we have
seen a factor of 2 to 3 times increase in the rate of replicated transactions. Automatic
Parallel Replication supports both Synchronous 2-Safe and Asynchronous
replication topologies using the Active-Standby Pair replication schemes.
When automatic parallel replication
is enabled, transaction dependencies are tracked automatically and the commit
ordering is honored when applying the transactions on the remote standby
database. There are no application changes required to enable parallel
replication, and the setting of replication parallelism is a user-specified
configuration. The attribute name is ReplicationParallelism,
you set it to a value greater than one (1) to enable parallel replication.
Many of the OLTP applications have
transactions that are independent of each other. For example, deducting the balance
of your account is independent of deducting the balance of my account; updating
location of your mobile device is independent of the location of my device; for
such applications, it is typically not necessary to apply these transactions in
the same commit order when using replication for high availability.
In the 18.104.22.168.0 release, users may
enable a new Parallel Replication feature to relax enforcing commit ordering on
the receiving hosts, when TimesTen determines the transactions have no
dependencies on each other. This feature provides even more parallelism when applying
the replicated transactions on the Standby and Subscriber databases. Depending
on your transaction workload characteristics, we have seen close to 80% improvement
in replication throughput after relaxing the commit ordering on the standby
database. To relax the commit ordering
on the receiving host, set the attribute ReplicationApplyOrdering
to a value of 2 when configuring the Active-Standby Pair replication scheme.
In a replicated environment, the
ability to replicate the rate of changes is important because if you have a
failover, the rate of changes being replicated determines how close your Standby
is synchronized with the Active. Ideally, they should be the same, or as close
as possible if you choose to use asynchronous replication.
Refer to the TimesTen
Replication documentation for more details.
database restart time using parallel read operations from database checkpoint
In the 22.214.171.124.0 release, database
restart time can be significantly faster by enabling parallel threads to read
the TimesTen database checkpoint files; this is especially useful when the
checkpoint files are relatively large and reside on Solid State or Flash
The parallel checkpoint reads feature is enabled by
setting the new CkptReadThreads
attribute. CkptReadThreads is a First Connection attribute and should be set
prior to loading the database. The attribute value specifies the number of threads that TimesTen
uses to read checkpoint files when loading the database to memory.
The default value of CkptReadThreads is set to 1 (generally intended for hard disk
storage). When using Solid State Drives or Flash storage, users can set the CkptReadThreads attribute to a value
from 2 to 8. The overall read rate from the SSD/Flash is best achieved by
setting the attribute to a value between 4 and 8; actual performance may vary
depending on device models.
Using the current generation of SSD and Flash storage
with 8 parallel checkpoint read threads, it’s possible to achieve 2 GB/sec read
rate using a single SSD device or a PCIe Flash card, and to achieve 3.4 GB/sec sustained
read rate when using two SSD devices/Flash cards (via disk striping). This
means, a TimesTen database of one terabyte in size can be loaded to memory in
about 5 minutes.
TimesTen software is available on the TimesTen Product
To improve database restart time, consider using
SSD/Flash devices for your TimesTen Checkpoint files, and enable the parallel
checkpoint reads feature.