Teradata Unity 16.10 available now

Unity is Teradata’s data synchronization and workload routing tool providing Active – Active database availability delivering near real-time RTO/RPO
Teradata Employee

Teradata Unity 16.10 available now

Teradata Unity 16.10 is released and supports Teradata Database and TTU 16.10 and provides several key enhancements that lift several product restrictions, extends passive routing capabilities and delivers key operational improvements.


Change Data Multicast

Unity 16.10 begins the first in a series of Agile product releases intended to deliver a key new architectural enhancement called Change Data Multicast (CDM) to lift Unity feature and functional restrictions. Today there are several limitations related to a Unity implementation. Before Unity is sold to any customer a full Unity assessment is conducted against their current environment to identify if the customer use of Teradata can be leverage in a Unity Environment.


Change Data Multicast provides a new query execution flow within Unity. When the Parser encounters a query from a session it can’t handle through SQL Multicast, Non-deterministic SQL, Unity will leverage Change Data Multicast.  The request will be dispatched to a Teradata system that can manage the request.  The request will be processed on that Teradata system and the change data captured from that request will be delivered to Unity.  Unity will then multicast that change data to all participating systems where those changes should apply. CDM will be delivered in phases with phase one, 16.10, focused on addressing Unity limitations associated with non-determinism. 

  • Unity CDM supports customer use of multisystem Non-deterministic analytical functions.
    • While Unity will modify some SQL to support functions like current timestamp, Unity CDM supports SQL like Insert…SELECT Sample(x) which would normally generate different results from two different Teradata Systems.
  • Unity CDM supports identity columns which are auto-generated numbers inside the Teradata database typically used as surrogate keys. Use with caution due to performance implications.
  • Unity SAS support will be extended by CDM’s support of updatable cursors. SAS relies on updateable cursors which allow one to iterate through a row collection and update at the same time.
  • Unity CMD supports Dynamic SQL – where the SQL code is generated programmatically. The logic is hidden in other data objects like a Stored Procedure where the SQL generated can vary or flow is not deterministic.

Object Scaling

While there is no definitive number limit built into code for the count of objects that Unity can support, there are theoretical limits based on specific performance bottlenecks related to specific object types. The following improvements were made to the data dictionary so Unity can now handle a larger number of Objects depending on object type.


  • Scanner object text – Unity dictionary scanner performance improvement (the scanner is invoked by the user to look at the Teradata systems and find new objects to manage in unity) for Object Text which includes things like SPs, Macros and Views (we don’t use object text for tables so it doesn’t apply to table count).   The scanner speed – or lack of performance – has been a limiting factor in total object count and this improvement increases the number object texts Unity can manage.
  • Object reclaim – A clean-up process that unity performs on objects that have been dropped.  This improvement greatly reduces the chances of occasional short-term system hangs and improves the reliability of the reclaim process.
  • Table Health improvements in the Unity Portlet.   These specifically resolve the speed of screen refresh involving large numbers of stale data on the Unity table health portlet. 


New routing features

Unity passive routing was enhanced to provide the following options:

  • Weighted Round Robin for improved session balancing across disparate Teradata systems. This has been implemented to cover two requests, first to align routing based on each systems weight (twice as many connections on System 1 versus System 2) and second to route to a specific system and redirect only when a threshold is exceeded on the first system (System 1 will receive the first 100 connections before all additional connections are assigned to System 2).
  • The Default Database Account string set directly to a user or their profile can now be mapped to a routing rule. This is very useful because you can easily assign groups of similar users to the same routing rule. E.g. Reporting users or DBA users.
  • Query Band mapping option to route BI reporting users to a specific Teradata Systems based on a Query Band. Sometimes a customer has a single user that does multiple things, and needs different routing rules for example a single MSTR user that runs two reports: DAILY & HISTORY
    • DAILY should be run on Teradata system 1, an appliance
    • HISTORY should be run on Teradata system 2, a 2700 long term storage system

Unity Operational Improvements

  • Recovery and Load Volume statistics - For customers to plan a multi-day outage (for system replacement, expansions and database upgrades), it’s critical they know how much down time their Unity environment can safely tolerate for recovery. This information is now available through a new Unity Admin command, recovery log usage.

09/10, Recovery log Usage: 5 GB, Data load Usage: 365 GB

09/11, Recovery log Usage: 72 GB, Data load Usage: 4320 GB

09/12, Recovery log Usage: 12 GB, Data load Usage: 3420 GB


  • Availability statistics can now be extracted for easy reporting.

Availability Statistics:


Total time since 'In Service' : 6 days, 15 hours, 7 minutes

Unity Availability : 6 days, 15 hours, 7 mintues (100.000%)

Manage system 'db1' availability : 6 days, 5 hours, 7 minutes (93.715%)

Manage system 'db2' availability : 6 days, 5 hours, 16 minutes (93.810%)


  • Recovery status command now displays object level recoveries in addition to reported system-level recovery statistics providing more complete recovery information for managing the system.

System ID : 2 …
Recovery Type : Object Recovery 
Current Step : 3 
Recovering Sessions : 1 …