Data Warehouse Key Concepts
This reference contains the explanation for SlicingDice's data warehouse terms and concepts that are applied to your physical and logical dimensions in your databases.
- What is an entity-id column
- What are Columns and the difference between an Attribute and Event Column
- What is a Dimension
- What are API Keys and the differences between them.
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 an
Unique ID column type called
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 (
Clicks) and all these values are associated
the corresponding User IDs,
User ID is an entity column that
identifies each set of values.
Notice that this concept is also applied when you connect a database to an external data source, so when you do it you need to define what column from your source will be your entity id.
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
- Event 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.
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
Age are attribute columns, while the
Clicks column is an event column.
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
dimension, with a combination of attributes columns (
Age) and a single event column (
SlicingDice provides databases that can handle both time-series (events) and non-time-series (attributes) data in a single dimension ('table'), discarding the need of JOINs on queries.
SlicingDice allows you to create logical dimensions in your database. It means that you can connect external data sources you may have and query them just like if they were physical dimensions.
This way you're able to execute queries, analyses and predictions crossing data from physical dimensions (stored on SlicingDice) to logical dimensions (external sources), enabling you to generate better insights not having to always physically load your data into SlicingDice servers.
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.
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.
All the Team key permissions will be set to all of the API endpoints. You can set specific permissions to users only to Control Panel actions via Control Panel.
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
API Keys must always be kept in secret, such as your password. If you suspect your Team or Database key has been leaked or stolen, login to your dashboard and generate a new Team / Database key - this action will invalidate the former key. You can also contact us to provide you any further security measures.