Tungsten Replicator is a high-performance replication engine that enhances native replication (e.g., MySQL) by providing global transaction IDs, advanced topology support (Composite Active/Active, star, and fan-in), and enhanced latency identification. It supports heterogeneous replication, allowing data to be transformed to match the structure of different target servers (e.g., MySQL to Oracle or MongoDB).
The system consists of three core components:
- Extractor: Reads data from a MySQL data server and writes it into the Transaction History Log (THL). It records complete transactions, each assigned a unique internal transaction ID.
- Transaction History Log (THL): Acts as the central storage for extracted data. It stores transactions as SQL statements or row-based information, along with metadata, options, and an incremental global transaction ID. This allows for precise tracking and retrieval of specific transactions.
- Applier: Reads information from the THL and applies it to a destination data server. Because it reads from the THL, the applier can reformat row-based data to match the target database's format.