2.2. Requirements

2.2.1. Operating Systems Support

Operating System Variant Status Notes
Linux RedHat/CentOS Primary platform RHEL 4, 5, and 6 as well as CentOS 5.x and 6.x versions are fully supported.
Linux Ubuntu Primary platform Ubuntu 9.x-13.x versions are fully supported.
Linux Debian/Suse/Other Secondary Platform Other Linux platforms are supported but are not regularly tested. We will fix any bugs reported by customers.
Solaris   Secondary Platform Solaris 10 is fully supported. OpenSolaris is not supported at this time.
Mac OS X   Secondary platform Mac OS/X Leopard and Snow Leopard are used for development at Continuent but not certified. We will fix any bugs reported by customers.
Windows   Limited Support Tungsten 1.3 and above will support Windows platforms for connectivity (Tungsten Connector and SQL Router) but may require manual configuration. Tungsten clusters do not run on Windows.
BSD   Limited Support Tungsten 1.3 and above will support BSD for connectivity (Tungsten Connector and SQL Router) but may require manual configuration. Tungsten clusters do not run on BSD.

2.2.2. Database Support

Database Version Support Status Notes
MySQL 5.0, 5.1, 5.5, 5.6 Primary platform Statement and row based replication is supported. MyISAM and InnoDB table types are fully supported; InnoDB tables are recommended.
Percona 5.5, 5.6, 5.7 Primary platform  
MariaDB 5.5 Primary platform  
Oracle (CDC) 10g Release 2 (, 11g Primary Platform Synchronous CDC is supported on Standard Edition only; Synchronous and Asynchronous are supported on Enterprise Editions
Drizzle   Secondary Platform Experimental support for Drizzle is available. Drizzle replication is not tested.

2.2.3. RAM Requirements

RAM requirements are dependent on the workload being used and applied, but the following provide some guidance on the basic RAM requirements:

  • Tungsten Replicator requires 2GB of VM space for the Java execution, including the shared libraries, with approximate 1GB of Java VM heapspace. This can be adjusted as required, for example, to handle larger transactions or bigger commit blocks and large packets.

    Performance can be improved within the Tungsten Replicator if there is a 2-3GB available in the OS Page Cache. Replicators work best when pages written to replicator log files remain memory-resident for a period of time, so that there is no file system I/O required to read that data back within the replicator. This is the biggest potential point of contention between replicators and DBMS servers.

  • Tungsten Manager requires approximately 500MB of VM space for execution.

2.2.4. Disk Requirements

Disk space usage is based on the space used by the core application, the staging directory used for installation, and the space used for the THL files:

  • The staging directory containing the core installation is approximately 150MB. When performing a staging-directory based installation, this space requirement will be used once. When using a INI-file based deployment, this space will be required on each server. For more information on the different methods, see Section 9.1, “Comparing Staging and INI tpm Methods”.

  • Deployment of a live installation also requires approximately 150MB.

  • The THL files required for installation are based on the size of the binary logs generated by MySQL. THL size is typically twice the size of the binary log. This space will be required on each machine in the cluster. The retention times and rotation of THL data can be controlled, see Section E.1.5, “The thl Directory” for more information, including how to change the retention time and move files during operation.

    When replicating from Oracle, the size of the THL will depend on the quantity of Change Data Capture (CDC) information generated. This can be managed by altering the intervals used to check for and extract the information.

A dedicated partition for THL or Continuent Tungsten is recommended to ensure that a full disk does not impact your OS or DBMS. Local disk, SAN, iSCSI and AWS EBS are suitable for storing THL. NFS is NOT recommended.

Because the replicator reads and writes information using buffered I/O in a serial fashion, there is no random-access or seeking.

2.2.5. Java Requirements

Tungsten Replicator is known to work with with the following Java versions and JVMs:

  • Oracle JVM/JDK 6

  • Oracle JVM/JDK 7

  • OpenJDK 6

  • OpenJDK 7

2.2.6. Cloud Deployment Requirements

Cloud deployments require a different set of considerations over and above the general requirements. The following is a guide only, and where specific cloud environment requirements are known, they are explicitly included:

Instance Types/Configuration

Attribute Guidance Amazon Example
Instance Type Instance sizes and types are dependent on the workload, but larger instances are recommended for transactional databases. m4.xlarge or better
Instance Boot Volume Use block, not ephemeral storage. EBS
Instance Deployment Use standard Linux distributions and bases. For ease of deployment and configuration, use Puppet. Amazon Linux AMIs

Development/QA nodes should always match the expected production environment.

AWS/EC2 Deployments

  • Use Virtual Private Cloud (VPC) deployments, as these provide consistent IP address support.

  • When using Active Witnesses, a micro instance can be used for a single cluster. For composite clusters, an instance size larger than micro must be used.

  • Multiple EBS-optimized volumes for data, using Provisioned IOPS for the EBS volumes depending on workload:

    Parameter tpm Option tpm Value MySQL my.cnf Option MySQL Value
    / (root)     
    MySQL Data datasource-mysql-data-directory /volumes/mysql/data datadir /volumes/mysql/data
    MySQL Binary Logs datasource-log-directory /volumes/mysql/binlogs log-bin /volumes/mysql/binlogs/mysql-bin
    Transaction History Logs (THL) thl-directory /volumes/mysql/thl   

Recommended Replication Formats

  • MIXED is recommended for MySQL master/slave topologies (e.g., either single clusters or primary/data-recovery setups).

  • ROW is strongly recommended for multi-master setups. Without ROW, data drift is a possible problem when using MIXED or STATEMENT. Even with ROW there are still cases where drift is possible but the window is far smaller.

  • ROW is required for heterogeneous replication.