Informix Spatial Data Technology: Update and Positioning
Directions Magazine's Joe Francica discussed the
new geospatial features included in IBM's Informix Dynamic Server (IDS)
with IBM's Bernie Spang, director of Data Servers. IDS 11 came out
earlier this summer. From the IBM website's
page on IDS 11: "The new Web Feature Service DataBlade module
implements an Open Geospatial Consortium(R) Web Feature Service (OGC
WFS) in IDS to act as a presentation layer for the Spatial and Geodetic
DataBlade modules. The OGC WFS interface allows requests for
geographical features across the web using platform-independent calls.
The XML-based Geography Markup Language (GML) is used as the encoding
for transporting the geographic features."
Joe Francica (JF): Will there be a map client offered with this
version of IDS?
Bernie Spang (BS): No, there will be no map client offered with
this version of IDS. We have always partnered with other vendors to
provide this functionality, and some customers develop their own
interface within their custom applications.
JF: Is the DataBlade technology, either Geodetic or Spatial, offered
as a module or for an extra fee? What is the cost or how is the cost
is offered as a no-cost option to IDS 11 and it is available via
download on ibm.com.
Geodetic is currently offered for a list price of $50K/cpu. The
Geodetic DataBlade uses a round earth model, and provides additional
value for customers who need to work with very accurate representations
of latitude and longitude that provide for curvature of the earth
JF: Are there plans to merge or migrate the technology available as
the Informix DataBlades with DB2 extensions? Or, are the plans to keep
these two database options separate?
BS: These will remain separate products. The Spatial Extender and
the Geodetic Data Management Feature (an add-on to the Spatial
Extender) are built on the same technology as the corresponding
Informix DataBlades. While there are differences, including some
significant ones, the similarities are great.
JF: What are the differentiating features between IDS Spatial
DataBlades and the DB2 Spatial Extender?
BS: The Spatial DataBlade includes a true spatial aggregate and a
high-performance, easy-to-use, R-tree-supported Nearest Neighbor
predicate. (The OGC, in its publication of OpenGIS Features for ODBC
(SQL) Implementation Specification, selected the term geometry to
represent spatial features such as point locations and polygons.
Typically, points represent an object at a single location, linestrings
represent a linear characteristic, and polygons represent a spatial
extent. An abstract definition of the OpenGIS noun geometry might be,
"a point or aggregate of points symbolizing a feature on the ground.")
In reality, these are minor functional differences; both are fully
compliant with the OGC Simple Features Specification for SQL (with
Types and Functions) and both internally use spatial technology from
ESRI. The real differences stem from the differences between the DB2
and IDS database products [discussed below].
JF: You mention that the R-tree data structure is faster than the
quad-tree database structures. Do you have benchmarks to back this up?
BS: As a five-year-old scientific paper by Oracle engineers showed,
the difference between R-tree and quad-tree is not so much that the
R-tree is inherently faster, but that the quad-tree takes a great deal
more tuning, which makes it less suitable for a general, spatially
enabled database. While quad-trees, R-trees and grids have their
inherent strengths and weaknesses, the specific implementation matters
a great deal more. Oracle and Informix both sport R-tree support, but
while Informix's is implemented using the same low-level code libraries
as the built-in access methods, and integrated at the kernel level
through targeted extensibility interfaces, Oracle had to emulate the
index structure using SQL-level tables and recursive queries. This has
deleterious effects on performance (a much higher-level code path) and
concurrency (a row in the index-emulation table corresponds to a node
or page in the index structure, causing row-level locking effectively
to turn into page-level locking for the index).
JF: Have you benchmarked Informix Spatial DataBlade vs. Oracle
BS: Oracle prohibits its customers from publishing any comparative
benchmark results, and there are no standard, public spatial benchmarks.
JF: What are the capabilities for user-defined functions of IDS?
BS: User defined routines can provide support for new datatypes,
new access methods (via VII - virtual index interface), new table types
(VTI - virtual table interface), comparison operations, and aggregate
functions. They can be written in C, Java or SPL (a Stored Procedure
Language used with IDS). User defined routines can allocate and
manage database memory, as well as attach to other memory outside of
the IDS engine. A rich, well-documented and stable API gives
user-defined routines written in C (as in the Spatial and Geodetic
DataBlades) enormous power, and helps guarantee that any given
DataBlade keeps working as the server itself evolves.
JF: Are the features of the IDS Spatial DataBlade targeted at any
BS: The IDS Spatial Datablade is targeted at traditional GIS
applications. It does not provide any special support for topology
applications or telecommunications networks. In addition, some
enhancements have been applied to prepare the product for the expected
onslaught of streaming spatial location data (tracking moving objects)
in support of location-based services. This, too, is not specific to
any particular industry, but is thought to have the greatest potential
in the telecom, retail and government/military sectors.
JF: Can you provide a detailed explanation of the Index Advisor and
how a user would go about tuning a typical IDS spatial database?
BS: The Index Advisor is a DB2 feature. IDS - in particular
the upcoming IDS 11 release - does include great support for analyzing
the performance and load characteristics of a given database, including
identifying queries that can benefit from additional indexes, but they
are part of a more general vocabulary of administrative interfaces, not
called out as a separate "advisor." For spatial indexes specifically,
DB2 has a Spatial Index Advisor to help configure the Grid index. The
Informix R-tree, however, requires no configuration (other than the
usual storage specifications that are available for all tables and
indexes) and has no tuning "knobs." IDS generally requires much less
tuning than other database servers (this is what makes it so powerful
as a zero-administration, "hidden" database, integrated with a packaged
solution), and this is true for the spatial capabilities as well. Other
than the resources required for the increased data volumes and
transfers caused by spatial data's bulk, there is no difference in
tuning practices between a spatial database and a non-spatial one.