Selecting an appropriate engine size for your workload depends on multiple factors such as the size of your active dataset, latency and throughput requirements of your workload, your considerations for price-performance and the number of users and queries your workload is expected to handle concurrently. Our guidance is to start small with an engine size that fits your active dataset and monitor the workload using the engine observability metrics (see below). Based on these metrics, you can then dynamically resize your engine to meet the needs of your workload. If your workload requires high processing power relative to data size, use a compute-optimized node type. These nodes have the approximately same processing power as storage-optimized nodes but have less memory, cache space, and cost.Documentation Index
Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
Use this file to discover all available pages before exploring further.
Dimensions of engine sizing
Firebolt allows you to change:- The type of nodes in your engine.
- The compute family of nodes in your engine.
- The number of nodes in a cluster of your engine.
- The number of copies of that cluster in your engine.
Using Observability Metrics to Resize an Engine
Firebolt provides engine observability metrics that give visibility into how the engine resources are being utilized by your workloads. Use the Information_Schema.engine_metrics_history view to understand how much CPU, RAM, and disk are utilized by your workloads. In addition, this view also provides details on how often your queries hit the local cache and how much of your query data is spilling onto the disk. These metrics can help you decide whether your engine needs a different node type and whether you need to add more nodes to improve the query performance. Use the Information_Schema.engine_running_queries view to understand how many queries are waiting in the queue to be run. If there are a number of queries still waiting to be run, adding another cluster to your engine may help improve the query throughput.Approximate engine node specifications
The following tables provide approximate information on the specifications of each engine node type. This information is provided for informational purposes only and is subject to change without notice.Storage-optimized nodes
| Node Type | vCPUs | Memory | Disk Size |
|---|---|---|---|
| S | 8 | 64GB | 1875GB |
| M | 16 | 128GB | 3750GB |
| L | 32 | 256GB | 7500GB |
| XL | 64 | 512GB | 15000GB |
Compute-optimized nodes
| Node Type | vCPUs | Memory | Disk Size |
|---|---|---|---|
| S | 8 | 16GB | 475GB |
| M | 16 | 32GB | 950GB |
| L | 32 | 64GB | 1900GB |
| XL | 64 | 128GB | 3800GB |
Note: Firebolt reserves approximately 25% of the disk size for other system operations and caches.
Initial Sizing
ELT Workloads
For the ELT workloads, the engine size would depend on the number of files and the size of the files used to ingest the data. You can parallelize the ingest process with additional nodes, which can provide improved performance.Queries
To correctly size an engine for querying data, there are several factors to consider:- The size of frequently accessed data under your query pattern. More data will require a engine with a larger cache size.
- The relative amount of processing performed within the queries in your query pattern. More complex queries will generally require more CPU cores.
- The Queries Per Second (QPS) of your workload. At higher QPS you may need to enable auto-scaling or multiple clusters on your engine.
- The number of requests outstanding or the time submitted queries run. Longer running queries may raise the requirements of the engine to need instance types with more memory or more clusters in the engine.
TIP: You can use Multi-Cluster Engine Warmup to submit your checksum queries to all clusters in a multi-cluster engine.
Small and medium storage-optimized engines are available for use right away. Compute-optimized instance types are available, but may see longer engine start times. If you want to use a large or extra-large engine, reach out to support@firebolt.io.
You will need to have the appropriate RBAC permissions to use the engine observability metrics.