Terracotta 10.11 | TCStore API Developer Guide | Textual Query Language Extension | Reference | Concepts
 
Concepts
Textual Querying of TCStore
TCStore API provides a native streaming API for analyzing Dataset contents. As an extension to that API, the Textual Query Language API (abbreviated TQL API) provides an interface for an ad-hoc querying of a dataset using textual queries. During runtime of the application, the dataset contents can be analyzed with queries whose logic is dynamic and not yet known during design time of the application.
The corresponding textual queries are based on SQL-like semantics. Using a query string, the user can describe in a declarative way how the data in the dataset is to be analyzed without specifying the actual processing steps. TQL API is designed for reading and analyzing the contents of a dataset. Thus, it solely supports read-only SQL queries; other common SQL commands for data creation or manipulation are not supported. Corresponding logic has to be defined using the native API.
Structured Data Access
The data model of TCStore is schema-less by design, i.e., the records in a dataset do not have to follow a common schema. Records in a dataset can share the same set of cells, but can also be based on completely different sets of cells. As a consequence a dataset can have heterogeneous contents.
By contrast, the TQL query approach requires a structured view on the data. Therefore, prerequisite for running a TQL query is to define a fixed schema, i.e., a subset of the data with a fixed structure. During query processing, each record of the dataset is projected to the set of cells constituting that schema.
TQL API offers the required operations to specify such a fixed schema, define a query, and consume the results.