Unity Director 14.00 provides user and query routing between multiple Teradata systems. This satisfies two requirements – routing users to a system that has data to satisfy their queries and re-routing users during planned or unplanned system outages. Hence, end users receive the ultimate benefit of continuous, transparent access to data. In addition, Unity Director provides high availability, disaster recovery, and data synchronization for multiple Teradata systems. For more information on Unity Director 14.00 please follow the links provided at the end of this article.
In this article, I will provide details of various routing rules that can be created using Unity Director 14.00. One can choose from various routing rule modes Auto, Preferred and Balanced. I will be explaining how reads and writes can be configured in these modes.
Given below is a short description and detailed video demonstration on each of the routing rules with examples for a Unity Director configuration managing two backend Teradata systems named ASTRO and CHILI.
If request is a CREATE statement: The request is submitted only to the designated system for the session. If request is successful, Unity Director's Data Dictionary is updated to reflect the existence of the new object on the system that the request was submitted to. If the request fails with a Resubmit error code then the request is submitted to the next system on the WRITE list that is in a valid state. If the request fails with an Exit error code then the client session is disconnected. The sessions to the Teradata systems are closed once all of the previous pending requests are processed by the system.
If request is a read, it is sent to the system listed first in the list of preferred Teradata systems. The tables in the read request should be in valid state on the Teradata systems. If the preferred Teradata system is unavailable, next system is chosen to satisfy the request provided tables in the read request are in a valid state.
Only read requests are allowed in a session using read only routing rule. Write requests are denied since this is a read only rule. This routing rule can be made a Ready Only with/out preferred option. If preferred option is specified, this routing rule behaves as a Read preferred one. Without a preferred option reads are sent to a system chosen by Unity Director.
When a user with this routing rule logs on, all systems are used for both read and write. Sessions are created on all systems. Read requests are automatically routed using the shortest queue algorithm to load balance amongst all systems. Write requests are sent to all systems.
If request is a CREATE statement: The request is only submitted to the first system on the WRITE list that is in a valid state. If successful the Unity Director's Data Dictionary is updated to reflect the existence of the new object on the system that the request was submitted to. If the request fails with a Resubmit error code then the request is submitted to the next system on the WRITE list that is in a valid state. If the request fails with an Exit error code then the client session is disconnected. The sessions to the Teradata systems are closed once all of the previous pending requests have been processed by the system. You can find detailed example of using this routing rule with MicroStrategy here MicroStrategy reporting using Teradata Unity Director 14.00.
Thanks for the thanks for clear details.
I was checking several commands via unityadmin, while logging in via unityadmin, i can able to login successfully sometimes, and getting the below error once in a while, am i missing anything OR is there any known issue ?
UE An authenticated connection to the server does not exist.
Please log in using: LOGIN <username> <password>
When using CREATE PREFERRED routing rule, WRITEs should go to the preferred system first and if unavailable should go to the other managed system, in other words, all the WRITEs that have been only applied on the preferred system will get played on the other available system, Am I right in assuming this?
Also what happens in case of a bunch of volatile tables have been created on the preferred system A and system A goes down, all the volatile tables are lost on SYSTEM A, how does unity director handle such situation? I am thinking from the MSTR point.
What is the syntax you are using. I hope you were able to resolve the login issue by now. For our latest release Unity 14.10 DL , you can use the following command to login to unityadmin console:
unityadmin -u <username> -P <username>