Database Reference
In-Depth Information
Unordered list : An unordered sequence of values, which is similar to bags
in SQL.
Union : Describes a choice between a finite set of types.
A data set is a target for AQL queries and updates and is also the attachment
point for indexes. A collection of data sets related to an application are grouped into
a namespace called a dataverse , which is analogous to a database in the relational
world. In particular, data is accessed and manipulated through the use of the ASTERIX
Query Language (AQL), which is designed to cleanly match and handle the data
structuring constructs of ADM. It borrows from XQuery and Jaql their programmer-
friendly declarative syntax that describes bulk operations such as iteration, filtering,
and sorting. Therefore, AQL is comparable to those languages in terms of expressive
power. The major difference with respect to XQuery is AQL's focus on data-centric
use cases at the expense of built-in support for mixed  content  for  document-
centric use cases. In ASTERIX, there is no notion of document order or node iden-
tity for data instances. Differences between AQL and Jaql stem from the usage of
the languages. While ASTERIX data is stored in and managed by the ASTERIX
system, Jaql runs against data stored externally in Hadoop files or in the local file
system. Figure 2.24 presents an overview of the ASTERIX system architecture.
AQL requests are compiled into jobs for the ASTERIX execution layer, Hyracks.
ASTERIX concerns itself with the data details of AQL and ADM, turning AQL
requests into Hyracks jobs, while Hyracks determines and oversees the utilization of
parallelism based on information and constraints associated with the resulting jobs'
operators as well as on the runtime state of the cluster.
Another system that relies on a nested model of data representation is Dremel [99,
100], developed at Google, which is designed to support interactive analysis of very
large data sets (stored on GSF [58] or Bigtable [32]) over shared clusters of commod-
ity machines. Dremel uses a column-striped storage representation, which is adopted
to store nested data models. Dremel provides a high-level SQL-like language to
ASTERIX client interface
AQL Query
AQL DDL
AQL results
(ADM instances)
AQL compiler
AQL parser
Metadata
manager
Resource
monitor
Asterix query
planner
Runtime optimizer
Runtime executor
Communication layer
ADM store
FIGURE 2.24 The ASTERIX system architecture. (From A. Behm et al., Distributed and
Parallel Databases , 29(3), 185-216, 2011.)
Search WWH ::




Custom Search