uDig

«  PostGIS   ::   Contents   ::   Tileset  »

Teradata

The Teradata Database is a commercial relational database (RDBMS) that specializes in parallel processing and scalability. From version 12.0, Teradata has added geospatial support, closely following the SQL/MM standard (SQL Multimedia and Applications Packages). Geospatial support was available through an add-on in version 12.0 and became standard in version 13.0.

uDig connects to a Teradata database via JDBC.

For more information on Teradata and the Teradata Database system, please go to http://www.teradata.com.

Compatibility

The uDig Teradata extension is compatible with 1.2.2 and higher. uDig can connect to Teradata databases version 12.0 or higher. Version 12.0 of the Teradata Database requires the optional geospatial extension to be installed.

Issues/Errata

The version of the Teradata plugin that ships with uDig 1.2.2 has some issues that may cause performance issues with large data sets and a potential application freeze when editing features. There is a patch to address these issues, which can be installed in the following way:

This patch will be incorporated into all future releases of uDig.

Read/write access

The Teradata datastore in uDig supports full transactional capabilities, including feature creation, editing, and deleting.

To support editing, a table must have one of the following:

  • a primary key
  • a unique primary index
  • an identity (sequential) column

Note

It is not recommended to solely use an identity column, as spatial index triggers are not supported when referencing an identity column. See the section on Spatial Indexes for more details.

Query Banding

Teradata connections in uDig utilize Query Banding. Query Banding is a feature which allows any application to associate context information with each query it issues to the database. In practice this can be used for purposes of workload management (i.e. request prioritization), debugging, and logging.

uDig sends the following information as part of a standard request:

  • Name of application (i.e. uDig)
  • Authenticated username (if set up)
  • Hostname (if available)
  • Type of statement (i.e. “SELECT”, “INSERT”, “DELETE”)

The only details that can be modified from within uDig is the Name of application and the Connection Mode .  See the Teradata page for more details.

Spatial indexes

uDig will read from a spatial index if its exists. The convention for a spatial index table name is:

[TABLENAME]_[GEOMETRYCOLUMN]_idx

So for a layer called “STATES” with a geometry column called “GEOM”, the index table should be called STATES_GEOM_idx.

Warning

Make sure to match the case of all tables and columns. If the geometry column is called “GEOM” (upper case) and the index created is called STATES_geom_idx (lower case), the index will not be properly linked to the table.

This index table should contain two columns:

  • A column that maps to the primary key of the spatial data table
  • The tessellation cell ID (cellid)

The tessellation cell ID is the ID of the cell where that feature is contained.

Geometry column

As per the SQL/MM standard, in order to make a Teradata table spatially enabled, an entry needs to be created for that table in the geometry_columns table. This table is stored, like all other spatially-related tables, in the SYSSPATIAL database.

Tessellation

Tessellation is the name of Teradata’s spatial index. In order to activate tessellation for a given layer, an entry (row) needs to be placed in the SYSSPATIAL.tessellation table. This table should have the following schema:

Table name Type Description
F_TABLE_SCHEMA varchar Name of the spatial database/schema containing the table
F_TABLE_NAME varchar Name of the spatial table
F_GEOMETRY_COLUMN varchar Column that contains the spatial data
U_XMIN float Minimum X value for the tessellation universe
U_YMIN float Minimum Y value for the tessellation universe
U_XMAX float Maximum X value for the tessellation universe
U_YMAX float Maximum Y value for the tessellation universe
G_NX integer Number of X grids
G_NY integer Number of Y grids
LEVELS integer Number of levels in the grid
SCALE float Scale value for the grid
SHIFT float Shift value for the grid

For more information about Tessellation, please see the Teradata documentation.

Warning

The tessellation table values are case sensitive and so must match the case of the tables and columns.

Installing the Teradata extension

Teradata database support is not enabled by default and requires the Teradata drivers to be downloaded prior to use.

To get the Teradata drivers, please visit: http://downloads.teradata.com/download/connectivity/jdbc-driver

Note

You will need to log in to Teradata’s site in order to download this artifact.

Extract the contents of the archive to any convenient directory. There should be two files in this archive:

  • terajdbc4.jar
  • tdgssconfig.jar

Then navigate to Layer ‣ Add... ‣ Teradata. You will be shown a dialog (see below). Insert the locations of the two files extracted above into the dialog box and then click Restart.

On some installations, a second dialog may appear stating that a directory is not accessible to uDig. If this occurs, make sure that uDig has write privileges to the installation directory, restart uDig, and try again.

After uDig restarts, navigate back to Layer ‣ Add... ‣ Teradata. If everything was installed correctly, you will now be shown a dialog box for Teradata Connection Settings. Please continue on to the Teradata connection page for details.

«  PostGIS   ::   Contents   ::   Tileset  »