Contents
As a front end, LiveView can connect to other tools as data sources. LiveView can connect to the following back-ends:
-
Other LiveView servers in a federated system.
-
TIBCO StreamBase Query Tables.
-
TIBCO ActiveSpaces spaces and metaspaces.
-
JBDC tables.
-
A user-written Custom Table Provider can provide access to an arbitrary source. See the TableProvider interface in the Java Client API Documentation for more information.
LiveView back-ends allow specific queries, based on their own capabilities. All table types can accept all simple predicates in queries.
Back-end Type | Query Language | Query Type | Projections | Streaming Modifiers | Query Modifiers |
---|---|---|---|---|---|
Foreign LiveView Server | LiveQL | SNAPSHOT, CONTINUOUS, SNAPSHOT_AND_CONTINUOUS, DELETE | *, exact field name, aggregate expression | Time-delay, Time-window | Top-N |
StreamBase Query Tables | StreamBase expression language |
SNAPSHOT, CONTINUOUS, SNAPSHOT_AND_CONTINUOUS (not DELETE) See Details below. |
*, simple StreamBase expressions (which includes aliasing). | None | None |
ActiveSpaces | ActiveSpaces query language |
SNAPSHOT, CONTINUOUS, SNAPSHOT_AND_CONTINUOUS, DELETE See Details below. |
*, exact field name. ActiveSpaces query language does not accept single quotes around strings. Any strings must be delimited with double quotes. |
None | None |
JDBC Tables | SQL | SNAPSHOT | SQL projections | None | None |
LiveView back ends support specific LiveView capabilities.
Back-end Type | Publish | Alert | External host |
---|---|---|---|
Single Foreign LiveView Server | Y | Y | Y |
Multiple Foreign LiveView servers | N | Y | Y |
TIBCO StreamBase Query Table | N | N | Y |
TIBCO ActiveSpaces | Y | N | N |
JDBC | N | N | N |
LiveView ships with an ActiveSpaces sample that you can use to get started with the integration of LiveView and TIBCO ActiveSpaces.
All Rows
deletes do not report delete events to LiveView clients, but instead issue a new snapshot.
The StreamBase Query operator Delete All Rows
option is an atomic operation that does not operate on individual rows, so there is only one event produced and reported
back to the Live Datamart. One key difference between a StreamBase row-by-row delete and an All Rows
delete is that the latter does not report the primary keys deleted, so there is no way for the Live Datamart layer to identify
which rows are deleted and report that to the client. The only reporting action Live Datamart can take is to report a new
snapshot. Also note that SNAPSHOT_BEGIN is used:
-
When a Live Datamart High Availability table becomes unavailable and the client is being moved to another copy of the table.
-
In the MulticonnectConfig Java client API to indicate the Live Datamart it was previously connected to became unavailable and the query is being moved to a different server.
There is no equivalent operation for native Live Datamart tables, so even running an lv-client clear TableName
command results in one update per row back to the client. This is an architectural difference between StreamBase query tables
and Live Datamart tables.
If individual row deletion events is important to a client, do not use Delete All Rows
. Instead design the StreamBase application to use a Query Delete by Primary Index with Match Expression set for true
. This reports each row deleted back to Live Datamart and reports individual delete events to any LiveView client application.
SNAPSHOT_AND_CONTINUOUS queries to an ActiveSpaces table can have their result sets truncated without an error indication if the result set size is larger than the configured ActiveSpaces space QueryLimit. SNAPSHOT-only and DELETE queries will correctly report an error if the result set has been truncated by the configured ActiveSpaces space QueryLimit. See the ActiveSpaces documentation on how to configure the QueryLimit on a space.