- 3 Minutes to read
- DarkLight
Firebolt
- 3 Minutes to read
- DarkLight
Firebolt is a cloud-native data warehouse designed for high-performance analytics. It uses a unique indexing technology that combines a high-performance cache and an optimized storage format to provide fast query response times and efficient storage utilization, making it ideal for interactive and real-time analytics on large datasets.
Prerequisites
- You have a running Firebolt database.
- You have a general purpose engine attached to your database which offers
read
andwrite
abilities and better performance compared to other engine types.
Authorize Connection to Firebolt
- In the Authorizers tab, click on Authorize New Service and select Firebolt.
- You will be required to enter the following information:
- Username: Email address which you use to log into your Firebolt account.
- Password: Password associated with yout email to log into Firebolt.
- Database name: The name of your Firebolt database.
- Database region: Make sure you select the correct region of your database.
- Click on Save.
Create a New Firebolt Destination
- On the Destinations page, click on the Create Destination button and select the destination from the list.
- Select your authorizer from the drop-down menu.
- Name your destination and click on Save.
Click on Add new Account in drop-down menu during authorizer selection and follow the on-screen prompts. You can also go to the Authorizers tab and click on Add New Service.
Create a Flow to Firebolt
- Navigate to Flows and click on Create Flow.
- Click on Connect Your Data to add your source(s).
- Click on Connect Your Data Destination to add the destination.
- Choose the write mode and fill in the other required information.
- Check the Data Preview to see if your configuration is correct.
- Name your flow and click on Create Flow to finish the setup.
Connector Overview
FACT and DIMENSION Tables
When you create a table in Firebolt to run queries, specify whether it's a FACT or a DIMENSION table. Firebolt handles these table types differently to optimize query performance in general and join operations in particular.
Table | Type | Use Case |
---|---|---|
FACT table | FACT tables are always sharded across engine nodes and each node stores part of the table. | Use for larger and most granular (transaction) tables. |
DIMENSION table | DIMENSION tables are replicated in each engine node. | Use for smaller data sets that are typically more descriptive and are frequently joined with fact tables. |
When performing joins, the local shard of a FACT table on each node is joined with the local copy of a DIMENSION table.
:::(note) (DATADDO TIP)
You can create FACT tables through Dataddo.
If you need a DIMENSION table, then you first need to create the table in the Firebolt and then send the data there with Dataddo.
:::
If your table does not fit in either of the traditional fact/dimension definitions, then define
- Very large tables as FACT,
- Smaller tables as DIMENSIONS.
Primary Indexes
Firebolt incorporates several building blocks (indexes) that enable accelerated query response times.
The primary indexes are the main sort key of the table. They will be used as the main tool for data pruning and data distribution.
By using the primary index, Firebolt will read ranges of data from each F3 file. This will reduce the I/O needed to be read, and increase performance dramatically.
See Firebolt's official documentation if you need help with choosing a primary index.
Limitations
Cannot Edit a Table
Once a table is created in the Firebolt database, it cannot be altered. In other words, there is no option to add or remove columns as it is not supported by Firebolt.
Supported Write Modes
Firebolt supports only insert (append new data) write mode.