Skip to content

Doradus OLAP Databases

JoeWinter edited this page Mar 23, 2015 · 21 revisions

[Table of Contents](https://github.com/dell-oss/Doradus/wiki/OLAP Databases: Table-of-Contents) | Next


This document describes the Doradus OLAP database, which is a Doradus server configured to use the OLAP storage service to manage data. A Doradus OLAP database offers unique performance and storage advantages that benefit specific types of applications. This document describes the unique features of Doradus OLAP, its data model, and its REST commands.

Doradus OLAP builds upon the Doradus core data model and query language (DQL). This document provides an overview of these topics and provides OLAP-specific examples. The following documents are also available:

  • Doradus Spider Database: Describes the features, data model extensions, and REST commands specific to the Doradus Spider Database.
  • Doradus Administration: Describes how to install and configure Doradus for various deployment scenarios, and it describes the JMX commands provided by the Doradus Server.

This document is organized into the following sections:

  • Architecture: An overview of the Doradus architecture. The Doradus OLAP and Doradus Spider databases are compared.
  • OLAP Database Overview: An overview of an OLAP database including its architecture, unique features, the types of applications it is best suited for, and an example application schema.
  • OLAP Data Model: Describes core Doradus data model concepts and extensions specific to Doradus OLAP such as xlinks.
  • Doradus Query Language (DQL): A detailed description of DQL: perspectives, clauses, link paths, etc.
  • OLAP Object Queries: Describes the Object Query type including parameters and output results in XML and JSON.
  • OLAP Aggregate Queries: Describes the Aggregate Query type including parameters and output results in XML and JSON.
  • OLAP REST Commands: Describes the REST commands supported by OLAP databases for schema definition, updates, queries, and shard management.

Recent Changes

The following changes were made to reflect new features for the v2.3 release:

  • In object queries, the order parameter (&o) now supports multiple sort fields. Example: &o=LastName,FirstName.
  • The application schema key property is now optional. A key is only needed in a schema change or delete request when the applications was originally defined with a key.
  • The transitive function (^) now allows postfix WHERE filters as in Manager^.WHERE(LastName=Smith).
  • Doradus OLAP provides new REST commands that allow deeper inspection of shard statistics.
  • Aggregate queries support new FIRST and LAST grouping functions, which limit group results based on group names instead of metric values.
  • Aggregate queries that use the TOP, BOTTOM, FIRST, or LAST functions can be “flattened” by adding the REST parameter &flat=true. This allows a more predicable output size for multi-level queries.
  • Object queries now support paged queries using the continuation parameters “continue at” (&e) and “continue greater than” (&g).
  • When the TRUNCATE function uses precisions coarser than HOUR, the timestamp values returned in groups use a date format (YYYY-MM-DD). That is, the time components are omitted.
  • In input messages, an XML element can contain characters that are considered illegal in XML by base64-encoding the element content and adding the attribute encoding="base64". In output messages, Doradus performs this encoding automatically.
  • The <schedules> section of a schema has been eliminated in favor of the application-level option data-check-frequency.
  • All task types other than data-aging have been eliminated, and a single GET /_tasks command is now used to query task status.
  • Objects can now be added with an explicit _ID assigned, in which case Doradus assigns a network-unique ID value.
  • Aggregate query grouping expressions can now use the SETS function to create groups with arbitrary query expressions. Example: &f=SETS(Size<10, Tags=Customer, Sender.Person.Department:support).
  • Object queries can now use the metric parameter (&m) to request one or more metric expressions for each selected object. The metric expressions allowed are the same as used by aggregate queries, including the AS clause for relabeling output fields in the query result.
  • The INCLUDE and EXCLUDE functions can be used in the same aggregate query grouping expression, and they can be combined with other grouping functions.
  • Aggregate queries that use the pair parameter can now use pair subfields in metric expressions. Example: &m=(_pair.first.Department).
  • Doradus now supports multi-tenant operation, in which applications are owned by independent, named tenants. REST commands intended for a specific tenant must include a ?tenant URI parameter and tenant credentials via the Authorization header.
Clone this wiki locally