Figure B-1 Time Series Architecture
You create the row type to fit your data; the first field, or column, in the row must be a timestamp of type DATETIME YEAR TO FRACTION 5, but the rest of the columns can be any data type supported in row types. Since the time series data is in a row type instead of an opaque type, you can retrieve individual columns within an element. The collection elements are indexed according to their timestamp, making retrieval of chronologically contiguous elements very fast. Once the number of elements exceeds the user-supplied threshold, the Informix TimeSeries DataBlade module moves all the elements to a container, which exists in a user-defined dbspace. Containers are necessary because time series data typically becomes too large to fit in a database table. Containers also allow you to retrieve only the information you need, instead of the whole time series, as would happen if you used a smart large object to store your data. For both regular and irregular time series, the Calendar and CalendarPattern data types allow you to specify an arbitrarily complex pattern of when entries are accepted. For regular time series, the calendar additionally creates a vector from which to calculate an element's position, so that an element's timestamp does not have to be stored, or even specified. The Informix TimeSeries DataBlade module provides a wide variety of routines to manage and manipulate time series data. The routines allow you to manipulate columns in an element, an element itself, a portion of a time series, a whole time series, or many time series. In addition, there are routines to manage calendars, containers, and metadata. Most routines are implemented in both an SQL interface and an API library. The Informix TimeSeries DataBlade module also includes system tables to record information about calendars, time series, and containers. Documentation For more information, see the Informix TimeSeries DataBlade Module User's Guide. Informix Video Foundation DataBlade Module The Informix Video Foundation DataBlade module enables you to store, manage, and manipulate video data and metadata in the same system in which you store more traditional data. Video data represents an image that changes continuously in time. Unlike traditional data that is retrieved and displayed as a discrete value, video data is incrementally accessed and is displayed as a real-time stream of frames. Video data can be located on one or more storage servers, such as Web video streamers, VTRs (video tape recorders), or video servers. If an Informix Video Foundation interface has been created for the storage server, then that storage server can come under database control. Video metadata is "data about the video data." This is the information that is actually stored in database tables, along with information on how to retrieve requested video segments from the various storage servers. The Video Foundation DataBlade module defines two categories of metadata:
Figure B-2 Web DataBlade Module Architecture
When a URL contains a Webdriver request, the Web browser makes a request to the Web server to invoke Webdriver. Based on configuration information, Webdriver composes an SQL statement to retrieve the requested AppPage and then executes the WebExplode function. WebExplode retrieves the requested AppPage from the Web application table (stored in the Informix Dynamic Server database), executes the SQL statements within that AppPage by expanding the Web DataBlade module tags, and formats the results. WebExplode returns the resulting HTML to Webdriver. Webdriver returns the HTML to the Web server, which returns the HTML to be rendered by the Web browser. Webdriver also enables you to retrieve large objects, such as images, directly from the Informix Dynamic Server database when you specify a path that identifies a large object stored in the database. Documentation For more information, see the Informix Web DataBlade Module User's Guide.