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.
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
column type called
Entity ID (with API name
) 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 (
Clicks) and all these values are associated
the corresponding User IDs,
User ID is an entity column that
identifies each set of values.
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).
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 the queries. There is no need of manually sharding, partitioning and indexing the datasets. Putting it all together, SlicingDice can make its public commitment of 10s query speed SLA without any sort of server managing and tuning by the user.
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.