-
Notifications
You must be signed in to change notification settings - Fork 22
Doradus OLAP Databases
Table of Contents | [Previous] | 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.
The following changes were made to reflect new features for the v2.2 release:
- OLAP now supports
float
anddouble
scalar types, which represent 32- and 64-bit floating point numbers, respectively. - Query expressions now support floating point constants such as
3.14
and-2.718e-6
. - OLAP now allows the all scalar types except for
binary
to be multi-valued:text
,boolean
,integer
,long
,timestamp
,float
, anddouble
. Previously, onlytext
fields could be MV. - The
INCLUDE
andEXCLUDE
functions, used for the aggregate query grouping parameter, now support scalar types compatible with the corresponding grouping field: numeric, Boolean, timestamps, etc. Additionally, these functions now support theNULL
keyword to include or exclude the (null
) group normally generated when null grouping field values are found. - The
TOP
andBOTTOM
functions allow the limit parameter to be 0, which causes all groups to be returned. This allows all groups to be returned in metric-value order instead of grouping-field-value order. - The Add Batch command accepts an
Overwrite
parameter, which controls whether the values in the corresponding batch will replace existing values.Overwrite
defaults to true to match previous functionality. When set to false, objects and fields in the batch are only additive and will not replace existing field values. - The
COUNT
,MINCOUNT
, andMAXCOUNT
aggregate functions can now be used on SV and MV scalar fields. Previously, they could only be used on link fields. - OLAP now supports the
DISTINCT
metric function. - Link paths in query selection expressions can now begin with a
WHERE
filter. Multiple outerWHERE
filters can be chained together. Such outer or "zero level"WHERE
filters are applied to perspective objects. - The parameter passed to an aggregate query's metric function can now begin with a
WHERE
filter. Multiple outerWHERE
filters can be chained together. Such outerWHERE
filters define additional selection expressions for the perspective objects passed to the corresponding metric function. - The semantics of the
IS NULL
clause have been changed so that<link path> IS NULL
is considered null if any link in the path is null. This improves symmetry withNOT <link path> IS NULL
and compatibility with (null
) group handling in aggregate queries. - Link field names returned in object queries can now be renamed using the
AS(name)
function. - Alias names used for aggregate query grouping fields can also use the
AS(*name*)
syntax as a function in addition toAS *name*
as a suffix. - Aggregate query grouping fields can now use outer
WHERE
functions to filter perspective objects passed to the corresponding groups. - The semantics of using
IS NULL
clauses with link paths has changed. The section Quantifiers with IS NULL reflects the new behavior. - In aggregate queries, a metric result that is an invalid numeric value (e.g., infinity, NaN) now sorts to the bottom of the group list for both
TOP
andBOTTOM
functions. - In object queries, the sort (&o) parameter can now be a link path, meaning that results are sorted based on a field belonging to a linked object.
- In an aggregate function that uses a text grouping field, the
INCLUDE
andEXCLUDE
functions now treat the included/excluded values as case-insensitive. Also, text values can use wildcards ? and *.
Technical Documentation
[Doradus OLAP Databases](https://github.com/dell-oss/Doradus/wiki/Doradus OLAP Databases)
- Architecture
- OLAP Database Overview
- OLAP Data Model
- Doradus Query Language (DQL)
- OLAP Object Queries
- OLAP Aggregate Queries
- OLAP REST Commands
- Architecture
- Spider Database Overview
- Spider Data Model
- Doradus Query Language (DQL)
- Spider Object Queries
- Spider Aggregate Queries
- Spider REST Commands
- [Installing and Running Doradus](https://github.com/dell-oss/Doradus/wiki/Installing and Running Doradus)
- [Deployment Guidelines](https://github.com/dell-oss/Doradus/wiki/Deployment Guidelines)
- [Doradus Configuration and Operation](https://github.com/dell-oss/Doradus/wiki/Doradus Configuration and Operation)
- [Cassandra Configuration and Operation](https://github.com/dell-oss/Doradus/wiki/Cassandra Configuration and Operation)