From left: Ariff Kassam, Teradata senior product manager, and Sergio Ferragut, Teradata dual systems senior architect
Ask the Experts
In Perfect Harmony
Teradata Unity keeps multiple systems singing the same tune.
Imagine a choir in which each vocal section is out of sync with the others. The sopranos come in half a beat later than the altos, who sometimes sing different lyrics. The tenors sing in double-time while the baritones sing in a different key, when they sing at all. Individually, each group sounds great; but together, the resulting music is anything but pleasant.
Now imagine those vocal sections as systems and solutions within a Teradata analytical ecosystem. Individual data warehouses run great, but sometimes they aren’t quite in sync with one another. Meanwhile, the tools used to manage queries and data synchronization sometimes add to, rather than resolve, system complexity.
Cue Teradata Unity, the conductor for the multisystem choir and the latest addition to the Teradata analytical ecosystem. Teradata Magazine caught up with Sergio Ferragut, Teradata dual systems senior architect, and Ariff Kassam, Teradata senior product manager, to find out how Teradata Unity keeps systems singing the same melody.
What is Teradata Unity?
Ferragut: Teradata Unity is the latest enabler in the Teradata analytical ecosystem, which is the collection of systems and processes that make up a dual system solution. Unity is data virtualization software that provides intelligent query management and data synchronization capabilities across multiple Active/Active and Active/Standby copies of the database.
Kassam: In a traditional dual system solution, the query management and data synchronization functions are handled by separate tools. Teradata Unity simplifies things by bringing those functions into one product. It also delivers high-availability, disaster recovery and workload optimization features.
Ferragut: We are planning a phased release that will cover different functionalities as the solution evolves, especially with regard to data synchronization.
What primary functions does Teradata Unity perform?
Kassam: It serves these roles:
- Intelligent query management, which allows granular control of reads across multiple systems based on data availability and freshness
- Data synchronization to maintain consistency across multiple systems
- Auto Resubmit that makes database restarts transparent to end users and applications
How does this product’s query management differ from Teradata Query Director?
Kassam: Teradata Unity offers all of the same functions—and more. Teradata Query Director provided session-level distribution based on configured rules. Teradata Unity extends this capability by allowing routing of individual queries. It can also intelligently route queries based on data freshness.
Ferragut: Teradata Unity understands where the current data is and routes each query to the system or systems that contain all of the necessary database objects to resolve the request. The rules don’t have to apply to the entire query session; they can now be applied to individual queries sent to various systems for workload balancing and availability.
Kassam: As a result, users will experience improved control of query routing. In addition, they are protected from the failure of any single Teradata system because Teradata Unity can route sessions or individual queries around the failure. Because of this full range of benefits, Teradata Unity replaces Teradata Query Director.
How is data and database synchronization handled?
Ferragut: Prior to Teradata Unity, keeping the data and database structure—such as tables, views, macros and permissions—in sync across all systems was a challenge. That has been resolved with Teradata Unity, which provides data synchronization for transactional updates through SQL Multicast. It offers multi-system synchronization, which helps propel customers toward an integrated solution.
Kassam: This is different from synchronization using table copy methods, as with Teradata Data Mover, or “change data capture,” as with Teradata Replication Services. Both are good approaches for different use cases. Table copy sends full or partial table changes asynchronously from one system to another, while change data capture uses a two-phase commit in a classic master-slave architecture.
The systems managed by Teradata Unity do not have master-slave relationships. They’re peers. Instead of waiting for changes to happen, Teradata Unity captures the incoming SQL statement from the client and applies it via SQL Multicast to multiple systems. The change is applied wherever it’s needed. Teradata Unity is intelligent and knows that a change might only affect certain tables on certain systems, so it only updates the affected areas. This represents a new mechanism for data synchronization capabilities.
Can you provide an example?
Ferragut: Suppose a wholesaler has two Teradata systems in different regions, and someone runs an inventory update. Typically, the update would go to System A first. Teradata Data Mover would wait for those changes to be made before updating System B. There would be a period of time when the data would be correct in one system but not in the other.
During that time, Teradata Query Director might send queries to the out-of-date system instead of the updated one. Then you have two problems: one is the data synchronization time delay, and the other is that Teradata Query Director routes queries with no knowledge of which system has the update.
With Teradata Unity, the update is sent to both systems concurrently. Intelligence is built into the system in order to first ensure that the data is synchronized, and then route it and queries to an updated system.
Kassam: It’s not only a matter of data synchronization; we’re also addressing the database. For example, consider a table that needs to be added to multiple systems. Prior to Teradata Unity, the DBA would need to add the table independently on each system. Teradata Unity relieves that pain point. It covers DML [data manipulation language], DDL [data definition language] and DCL [data control language] functions, which is a huge benefit to DBAs and application developers.
How does Auto Resubmit work?
Ferragut: Auto Resubmit is just that—resubmitting a query to an alternate Teradata system as a safeguard against issues evolving from system resets or general outages. Without it, the user would see an error and have to restart a report if the system failed during the creation of that report. The protection provides some continuity for users and protects against data loss.
Does Teradata Unity integrate with other Teradata products?
Kassam: Teradata Unity offers support for all Teradata Platform Family systems. It is interoperable with Teradata Multi-System Manager and Teradata Data Mover.
Who will benefit from using it?
Kassam: Customers who plan to employ dual systems for high-availability, mission-critical applications or workload optimization will benefit from Teradata Unity. And really, it’s a must-have for those environments. This includes customers who:
- Need to route user sessions and queries between systems
- Use dual-active systems that are kept in sync
- Have SQL-based transactional updates
- Can’t tolerate the Teradata resource penalty of other data synchronization methods
Ferragut: With the advent of the Teradata Platform Family, more customers are adopting Teradata’s high-end systems for enterprise data warehouses [EDWs] and also appliance products for special applications.
Let’s say a customer has two production systems—an EDW and a data mart running on an appliance for workload optimization—on different hardware. This customer would benefit from Teradata Unity for seamless data synchronization and query management.
What advice would you give customers who are considering Teradata Unity?
Kassam: Dual systems can be complex. This provides a solution that offers a unified, efficient way to manage a multisystem environment. It delivers nonstop operations through planned and unplanned outages. It’s a step into the future.
Ferragut: Customers who have looked at dual systems in the past should look again and see what Teradata Unity can do for them. For those who are not yet using a dual system approach, this solution is a great step forward because it delivers several availability and disaster recovery benefits.
Kassam: This is a strategic product for Teradata and has a very good roadmap for further enhancements and capabilities. Organizations should talk to their Teradata representative to find out how it can benefit their specific business.