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.