Teradata Unity 13.10, the latest enabling technology of the Teradata Analytical Ecosystem was formally announced at PARTNERS Conference 2011.  The product’s focus is to simplify the analytical ecosystem by removing the everyday complexities involved in query management and data synchronization across multiple Teradata systems.  Teradata Unity delivers on this strategy by way of product automation.

Teradata Unity serves as an abstraction layer for users and applications making multiple Teradata systems appear as a single Teradata database instance.  Unity dynamically manages all the traditional activities around query routing and data synchronization creating a single integration layer for the Teradata ecosystem.

Core Components: 

Query Management

Teradata Unity has two query management modes.  The first is Read Override mode.  Read Override is a session based, read-only routing mechanism based on defined routing rules.  This mode supports Named and Preferred routing.  Under the Preferred routing mode, in the event of a system failure Unity will automatically reroute queries to the available system. As such, Teradata Unity is a full replacement for the Teradata Query Director product.  No future enhancements will be applied to Teradata Query Director as Unity will now provide this functionality although Teradata Query Director will continue to be supported through Q2 of 2013.

The second routing mode in Teradata Unity is Read/Write mode.  As the name implies, this mode allows for both reads and writes to be applied through Teradata Unity.  In this mode, Unity will perform a light parsing of the statement to understand which SQL objects are being accessed.  Unity has a data dictionary identifying the location of SQL objects in the various Teradata systems.  Based on this information, the statements will be automatically routed to the appropriate system or systems. 

Consider the following example: An environment has three Teradata systems (A, B, and C) with Sales data existing on systems A and B while HR data exists only on system C.  A statement going through Unity accessing Sales data will be intelligently routed and applied to system A and B, not C.  In Read/Write mode, the users no longer need to worry about defining routing rules or concern themselves with which system they should be querying.  Unity will do this for the user automatically.

Both query management modes, Read Override and Read/Write, are configurable at the table level. 

Data Synchronization

Teradata Unity provides data synchronization though a mechanism called SQL Multicast.  The SQL Multicast function will apply writes to all systems that are under Unity control keeping them all in sync.  This is not change data capture or a table copy!  This is an approach where SQL statements are applied to multiple target systems, based on location of the SQL objects.  With Unity, there is no concept of Primary/Secondary rather all systems are considered peers.  In the event of an outage, Unity will automatically route users and applications to the next available system.  Reads and writes will continue to go to the available system and all writes will be logged in the Unity Recovery Log.  Upon both systems becoming available, Unity will apply all the writes in the Recovery Log in the same order and operation as they were applied to the available system keeping all systems in sync.  The approach makes any outage completely transparent to the user or application.  Failover is handled automatically. 

Unity allows for data synchronization across multiple systems for both planned and unplanned events.  This creates the opportunity to perform rolling upgrades with no interruption to users or applications. 

Finally, Unity will synchronize any changes to a given table with that same table in other Teradata systems under Unity control.  In other words, if the Sales table exists in system A, B and C, a change to the sales table in System A will be automatically applied to Systems B and C as well.  This synchronization includes DDL, DML, and DCL.  

Auto Resubmit

The Auto Resubmit feature of Teradata Unity continues to drive automation and remove complexity from the users.  In the event of an outage or database restart, Unity will automatically recognize where a query has failed and resubmit the remaining portions of the query to the next available system.  The Auto Resubmit feature essentially makes the outage or database restart transparent to the application or user. 

Below is a screenshot of the Unity user interface.  The picture shows the ability to manage each system under Unity control, check the status and take action.  The user can change the state of a given Teradata system by clicking on the following commands:  Freeze, Demote, Halt, or Deactivate.  Once one of those commands is issued, the user can then click the Restore function to bring the systems back in sync. 


The screenshot below shows the Teradata Unity dashboard.  The dashboard details system-level information of the systems under Unity control including version numbers and key configuration settings such as Recovery Log size, estimated allowable downtime and last checkpoint timestamp. The dashboard also displays performance information.  Figure X shows not only the Read/Write mix, but also the distribution of Reads amongst the systems under Unity control.



In addition to the core components described earlier, Teradata Unity 13.10 is fully integrated with Teradata Multi-System Manager (TMSM).  Integration with TMSM enables customers to view Unity system health as well as receive alerts, warnings and information regarding data loads, synchronization, and potential outages. 

For additional information on Unity 13.10, please go to Teradata.com and search for Unity.


Teradata Unity Data Sheet 

 EB- 6377

Teradata Unity User Guide


Teradata Unity Release Definition 




geethareddy 145 comments Joined 10/11
21 Feb 2012

Hi Jeff,

I heard that there is a limitation in UNITY in the case of Teradata Unity server failure requires an application reconnect. That is, any in-flight transactions must be rolled back and queries resubmitted. Is that true? Or the Auto Resubmit will over come this limitation? Please confirm, we are going to deploy the ecosystem in next couple of months.

Geeta Kudumula.


schemanske 12 comments Joined 02/10
23 Feb 2012

Geeta -

You are correct. In the event of a Unity Server failure, the client sessions will be disconnected. In-flight transactions would be automatically rolled back by the database (with some exceptions where transactions are in auto-commit mode). The connection from the client would need to be re-established and resubmitted. When Unity completes failover to the 2nd Unity sever, it will reconnect to the database and verify which transactions completed.

The Auto Resubmit feature protects against database failures rather than Unity Server failures.

Hope this helps.

geethareddy 145 comments Joined 10/11
23 Feb 2012

Thank you.


MartyS 4 comments Joined 12/11
25 Apr 2012

Is Teradata working on enhancing unity to deal with load utilities as well, providing a full solution for maintaining a multi system environment without application impact?

schemanske 12 comments Joined 02/10
26 Apr 2012

Marty -

Yes, Teradata Unity will be enhanced to support bulk loads in the future. Teradata Unity 13.10 supports TPT Stream, Tpump, BTEQ, JDBC, ODBC, .NET and CLI as part of the Unity Foundation. We will be adding support for the TPT bulk load utilities in phases as a separate "Advanced Data Synchronization” option to the Unity Foundation in future releases.

jmamedov 5 comments Joined 02/12
24 May 2012

What is wrong with load balancer that quite mature, proven product and cost effective for balancing the load among “ecosystems”. Synchronization can be accomplished at ETL level.

schemanske 12 comments Joined 02/10
25 May 2012

I'm assuming by “load balancer”, you are referring to Query Director. Unity will replace Query Director yet it will provide a query management mode (Read Override mode) that offers the same feature functionality as Query Director -- Named and Preferred, session-level, read-only routing. In addition, we have documented the steps to migrate existing Named/Preferred Query Director routing rules to Unity’s Read Override mode. I’d be happy to share that document with you through email. As described in the above article, Unity enhances Teradata’s query management capabilities by providing Intelligent Query Routing or Read/Write mode. In this mode you will be able to route queries based on the location of the SQL object you are trying to access, a much more granular and advanced level of query management. This is a feature we had always had on the roadmap for Query Director and are now able to realize in the context of Unity.

ericsun2 5 comments Joined 06/10
10 Mar 2013

Hi schemanske@,
Do you have any updated info for 14.00 regarding synchronization, Unity? Wondering if TPT Loader is fully integrated in Unity? How about TPT Updater?
Thanks a lot

AbeK 37 comments Joined 08/09
12 Mar 2013

Hi Jeff,
Does Unity require dedicated hardware or, is there a software only option that could be installed on any system.
Appreciate your response.

schemanske 12 comments Joined 02/10
13 Mar 2013

Ericsun2 -
Thanks for your interest in future releases of Unity Director and Unity Loader 14.00. (new names)  I've just published a new article regarding the 14.00 release.  http://developer.teradata.com/ecosystem/articles/unity-director-14-00-unity-loader-14-00-now-available  In the article I explain the content in Unity Director 14.00 (formerly Unity 13.10) and Unity Loader 14.00 (Bulk Loads).  With the advent of Unity Loader 14.00, we now fully support TPT Load and JDBC Fastload.  TPT Update is planned for a future release. 

schemanske 12 comments Joined 02/10
13 Mar 2013

Abraham -
Unity Director and Unity Loader require a dedicated Managed Servers.  There is no software-only option.  The Managed Servers are pre-configured and pre-statged with the software to make it easy for customers.  This also allows us to provide a single-vendor (Hardware and Software) support model for the offering.   We have specifically configured the Managed Server to enable the failover, high availability, and recovery scenarios that Unity Director and Unity Loader provide.    

09 Jul 2013

Curios on how exactly the replication works? Assuming I am generating a surrogate Key in my system A using ROWID or something similar and replicating the value to system B. Would replication try to execute the "Same SQL" I am running on System A to generate the key on System B? In this case would replication fail as we are having two different values?
In brief I am trying to understand if replication is going to "Exceute the SQL Statement" Or "Copy the Data Over"
If it "Exceute the SQL Statements", then when designing Active/Active systems using Unity do we need be cautios of how and where we generate key?
Appreciate your response on this

schemanske 12 comments Joined 02/10
09 Jul 2013

Sai - 
With Unity Director,  we try to not to use the word "replication" because it connotes creation on one system and copy to another. Instead, we use the term "synchronization" in an attempt to avoid this confusion. To answer your question directly, your assumption about the “Same SQL” being sent to both systems is correct and the product will not “copy the data over”. 
Regarding surrogate keys: Since it has the potential to generate different values, when a SQL statement submitted through Unity Director is used to insert row(s) into a table that contains an IDENTITY column, Unity Director will reject the request. Instead, we recommend that the surrogate key be generated either outside the database (i.e. in the ETL server) or by using a deterministic mechanism such as a ROW_NUMBER() calculation that has a deterministic ORDER BY clause.
That said, we do plan to add support for IDENTITY columns in a future releaese of the Unity Director product but this is not in the short term.

11 Jul 2013

Thanks Jeff for the great explanation. Wanted to confirm on this as this is crucial when designing an Active/Active system.
Thanks again!

monoranjan 5 comments Joined 09/13
05 Nov 2014

Hi All, 
Could you please tell me how Identity Columns will be sync in mulitple system ?
which mode we need to use ?


Cliff L 34 comments Joined 04/12
05 Nov 2014

Identity Columns are not supported in any Unity Director release. The reason is that the generation of the value is non-deterministic and will result in different values if you run it on two different systems. Unity Director requires the tables to be identical, even the Identy Column. This is a future roadmap consideration.

You must sign in to leave a comment.