Skip to content

Application (OLAP)

JoeWinter edited this page Mar 23, 2015 · 6 revisions

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


An application is a named schema hosted in a Doradus cluster. An application's name is a unique identifier. An application's data is stored in _tables_, which are isolated from other applications. A cluster can host multiple applications, and each application uses unique URIs to access its data. Example application names are `Email` and `Magellan_1`.

Each application is defined in a schema. When the schema is first used to create the application, it is assigned to a specific storage manager. Depending on the Doradus server's configuration, multiple storage managers may be available. An application's schema can use core Doradus data model features plus extensions provided by the assigned storage service. Application schemas have the following components:

  • Key: A user-defined string that acts as a secondary identifier. The key is optional and acts as an extra safety mechanism. If an application’s schema is defined with a key, the same key must be provided to modify the schema or delete the application.
  • Options: The following application-level options can be defined:
    • StorageService: which defines the storage service that will manage the application's data.
    • aging-check-frequency: Specifies the data aging check frequency for the application. The value of the aging-check-frequency must be in the form “ ” where is a positive integer and is MINUTES, HOURS, or DAYS. (Singular forms of these mnemonics are also allowed.) At the specified frequency, a background task looks for and deletes expired shards.
  • Tables: Tables and their fields that the application owns. The general structure of a schema definition in XML is shown below:
<application name="Email">
	<key>EmailKey</key>
	<options>
		// options
	</options>
	<tables>
		// table definitions
	</tables>
</application>

The general structure of a schema definition in JSON is shown below:

{"Email": {
	"key": "EmailKey",
	"options": {
		// options
	},
	"tables": {
		// table definitions
	},
}}
Clone this wiki locally