[This topic is migrated from our old forums. The original author name has been removed]
I've been a long time user of DbVis on Teradata because there is essentially no DBA tool for Teradata on OSx or Linux, though sporadically since it's not really my day job any more? I've always wanted to build a Database Profile for Teradata, and I've taken a couple of midnight runs at it?
One thing really stops me, which is I cannot figure out how to support nested databases in the ObjectsTreeDef.
The basics of the issue are that Teradata is not a Flat Database Schema model, but supports a Hierarchy of Users and Databases. You might think this is crazy - until you realize that having 20K databases is not uncommon on a Teradata Platform. And while the depth of the tree does not typically go down more than seven to nine levels - it's recursive.
There is a top level database called DBC, which typically has system databases, which contain users and data containers? something like this:
- - UserDatabases
- - - UserRoleOne
- - - - ApplicationABC
- - - - - User123
- - - - - User456
- - - - - User789
- - - UserRoleTwo
- - - - Blah Blah Blah
- - Inventory-Data
- - Sales-Data
- - - App-DataABC
- - - App-Data123
Obviously, all this is quite variable, so making a fixed tree as the examples show would clearly not work well, and I could not figure out how to do this in the existing XML definitions. I'm sure I can use the user's current location in the tree, but Navigating up the tree will be a problem, and I don't want to fully populate the tree from the top and navigate down for the obvious performance reasons.
I didn't think through it all the way, but assume that I could use some kind of an index variable - but I don't have enough experience with the interface to figure that out.
Great to hear you are looking into Teradata support. We have no experience with Teradata but will certainly look into it in the near future.
You mention recursion as an issue. Many of the databases with specific database profiles are expressed in a quite simple hierarchy (click the Read More link in http://www.dbvis.com/doc/database-drivers/ for more info for each database). Browsing the documentation for Teradata show the following schema objects that could be expressed like this in DbVisualizer:
Shouldn't the databases tab show something similar also for Teradata?
Ps. In the next feature version we have done some changes in the database profile support. To summarize the changes: it will be easier building and maintaining a custom profile and extend an existing profile. If you are interested in more information send an email to firstname.lastname@example.org
almost 5 years ago
[This reply is migrated from our old forums. The original author name has been removed]
Re: Recursion for ?
Databases are not a flat architecture as they are in nearly all other databases. Databases in Teradata are implemented as a hierarchy - in the same way that a file system has nested directories. The reasoning for using a hierarchical model, is that it would be absolutely impossible to manage a single instance data platform with 20,000 databases in a flat model.
For example: When I use the standard "generic" profile on my production platform, I get back 17,000 databases on startup? - all of them as a flat response to what tables are available on the database, not exactly useful. I need to know what is at the top of the hierarchy, or the ability to move up and down the hierarchy from a starting point?
The idea of an abstract Schema - which can be shared by databases, does not exist in Teradata. A dictionary - yes. Databases and User names are unique across the system, while tables, views, procedures, macros, most indexes - are unique to a database or table.
Other unique things: Storage is treated as a single pool of storage and logically allocated. No such thing as tablespaces and files to deal with.
To my question, I need the capability to dynamically nest. I can find the parent and the child, and navigate up and down - but a static Object Layout will not work - in the same way that a DOM object can navigate nested tables?
But I think the simplest way to think about this is to imagine how you would map the ObjectsTreeDef to a File System Hierarchy of Directories. It's entirely possible it supports this and I do not understand the model well enough - hence my questions.
Thank you for your questions - and to everyone for any help they can provide!!!
Edited by: MadMac on Apr 25, 2013 1:32 AM
Edited by: MadMac on Apr 25, 2013 1:34 AM
almost 5 years ago
[This reply is migrated from our old forums.]
Re: Recursion for ?
Thanks for the clarification.
The current profile framework doesn't support a nested object structure. We do have an open ticket for Teradata support in DbVisualizer so it is of major interest trying to find out how it is organized and how the profile framework need to be adjusted to support it.
I Google'd a bit and found the Teradata Studio Express product from Teradata. Based on the following article I am unable to find any information about the hierarchical structure of database objects:
At a glance the object structure look like most other databases.
Can you please point me to some online documentation for Teradata that explains the hierarchical behavior in Teradata?