By Scheung-Oracle on Feb 24, 2015
In case you missed it, the latest TimesTen release, version 188.8.131.52.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 184.108.40.206.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.
2. Reduce database restart time using parallel read operations from database checkpoint file
In the 220.127.116.11.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 storage.
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 Center on the Oracle Technology Network.
To improve database restart time, consider using SSD/Flash devices for your TimesTen Checkpoint files, and enable the parallel checkpoint reads feature.