SlicingDice Key Concepts

This reference contains the SlicingDice's databases terms and concepts:

  • What is an entity-id column and its similarities to a primary key.
  • What are Columns and the difference between Attribute Column and Event Column in SlicingDice
  • What is a Dimension and how it's different from a "table".
  • What are API Keys and the differences between them.

Entities

An entity is basically to "whom" the data that will be inserted and stored on a database.

An entity-id is like a primary key. SlicingDice associates any data inserted in databases to entities. Users can define the entity-id column to be an user email address, a device identification number, a server's hostname, etc - whatever unique identifier is best suitable for their data.

When you create a database or a dimension, SlicingDice automatically creates a Unique ID column type called Entity ID (with API name entity-id ) for that dimension. This column is used to store the unique value that identifies entities in a database.

For example, take a look at the table below. There are three columns (Name, Age and Clicks) and all these values are associated with the corresponding User IDs, UUID-01, UUID-02 and UUID-03. The User ID is an entity column that uniquely identifies each set of values.

User ID Name Age Clicks
UUID-01 Jeff 25 Add to Cart - 2018-01-02
Pay Now - 2018-01-05
Support - 2018-01-30
UUID-02 Michelle 32 Pay Now - 2018-02-10
UUID-03 Larry 47 Support - 2018-02-01
Pay Now - 2018-03-03

It's important to note that the Entity ID column does not count for the pricing calculations (you will not be charged for the data in it, no matter your database's pricing model).


Columns

SlicingDice columns are exactly like regular columns in a database or on a spreadsheet. Two types of columns are supported by SlicingDice: attribute and event columns, as described below.

  • Attribute Columns
  • Store supported data types not associated to a date/time, usually describing facts, details or characteristics of an entity. Examples: name, age and genders of users, location of your stores and so on.

  • Event Columns
  • Store supported data types associated to a date/time, usually tracking an activity of an entity at a given time. Examples: tracking an user interaction on your website or recording a sale.

Using the same table shown above as an example, the columns Name and Age are attribute columns, while the Clicks column is an event column.


Dimensions

A dimension is a way to group columns for a database. Each database may contain multiple dimensions and each dimension can contain multiple columns.

As SlicingDice supports storing both types of data, attributes (non-time-series) and events (time-series) in the same dimension (that can be seen as a single table), without affecting the query performance or database storage size, there is no need to split and normalize the data into multiple tables, as it's commonly done in other databases.

Again, in the same table shown above as an example, the whole table would be a single dimension, with a combination of attributes columns (Name and Age) and a single event column (Clicks).



API Keys

SlicingDice's API keys are necessary to perform any function inside your SlicingDice account and its databases. There are mainly 2 types of API keys: Team key and Database key.

Team Key

The API team key on SlicingDice is used to execute operations on API, such as managing users, databases, permission groups and custom database keys. The Team key has 3 levels of permissions:

  • List: This setting will enable the Team Key to list Permission Groups, Users and Custom Database Keys.
  • Update: This setting will enable the Team Key to update Permission Groups, Users and Custom Database Keys.
  • Delete: This setting will enable the Team Key to delete Permission Groups, Users and Custom Database Keys.

Those permissions can be set on the SlicingDice Control Panel (on the database page) using the administrator account.

API Team Key
    permissions

Database Key

The API database key on SlicingDice is used to connect and execute operations on a specific database through the API, such as data insertion, update, deletion, querying and modeling. The database key has 4 levels of permissions:

  • Master: allows every operation within the database, such as create and delete dimensions and columns, and also insert, delete and query data.
  • Write: allows to insert data, but not delete neither query data.
  • Read: allows to query data, but not insert, update or delete them.
  • Custom: allows the definition of very detailed and granular permissions of the key, such as read/write and specific columns to be accessible. A single database can have as many custom keys as needed