- Release Notes
- Get Started
- Clusters
- Cloud Settings
- Table Type
- Query Data Lakes
- Integration
- Query Acceleration
- Data Loading
- Concepts
- Batch load data from Amazon S3
- Batch load data from Azure cloud storage
- Load data from a local file system
- Load data from Confluent Cloud
- Load data from Amazon MSK
- Load data from Amazon Kinesis
- Data Unloading
- Data Backup
- Security
- Console Access Control
- Data Access Control
- Application keys
- Service accounts
- Use SSL connection
- Alarm
- Usage and Billing
- Organizations and Accounts
- Reference
- Amazon Web Services (AWS)
- Microsoft Azure
- SQL Reference
- Keywords
- ALL statements
- User Account Management
- Cluster Management
- ADMIN CANCEL REPAIR
- ADMIN CHECK TABLET
- ADMIN REPAIR
- ADMIN SET CONFIG
- ADMIN SET REPLICA STATUS
- ADMIN SHOW CONFIG
- ADMIN SHOW REPLICA DISTRIBUTION
- ADMIN SHOW REPLICA STATUS
- ALTER RESOURCE GROUP
- ALTER SYSTEM
- CANCEL DECOMMISSION
- CREATE FILE
- CREATE RESOURCE GROUP
- DROP FILE
- DROP RESOURCE GROUP
- EXPLAIN
- INSTALL PLUGIN
- SET
- SHOW BACKENDS
- SHOW BROKER
- SHOW COMPUTE NODES
- SHOW FRONTENDS
- SHOW FULL COLUMNS
- SHOW INDEX
- SHOW PLUGINS
- SHOW PROCESSLIST
- SHOW RESOURCE GROUP
- SHOW TABLE STATUS
- SHOW FILE
- SHOW VARIABLES
- UNINSTALL PLUGIN
- DDL
- ALTER DATABASE
- ALTER MATERIALIZED VIEW
- ALTER TABLE
- ALTER VIEW
- ANALYZE TABLE
- BACKUP
- CANCEL ALTER TABLE
- CANCEL BACKUP
- CANCEL RESTORE
- CREATE ANALYZE
- CREATE DATABASE
- CREATE EXTERNAL CATALOG
- CREATE INDEX
- CREATE MATERIALIZED VIEW
- CREATE REPOSITORY
- CREATE TABLE AS SELECT
- CREATE TABLE LIKE
- CREATE TABLE
- CREATE VIEW
- CREATE FUNCTION
- DROP ANALYZE
- DROP STATS
- DROP CATALOG
- DROP DATABASE
- DROP INDEX
- DROP MATERIALIZED VIEW
- DROP REPOSITORY
- DROP TABLE
- DROP VIEW
- DROP FUNCTION
- KILL ANALYZE
- RECOVER
- REFRESH EXTERNAL TABLE
- RESTORE
- SET CATALOG
- SHOW ANALYZE JOB
- SHOW ANALYZE STATUS
- SHOW META
- SHOW FUNCTION
- TRUNCATE TABLE
- USE
- DML
- ALTER LOAD
- ALTER ROUTINE LOAD
- BROKER LOAD
- CANCEL LOAD
- CANCEL EXPORT
- CANCEL REFRESH MATERIALIZED VIEW
- CREATE ROUTINE LOAD
- DELETE
- EXPORT
- GROUP BY
- INSERT
- PAUSE ROUTINE LOAD
- RESUME ROUTINE LOAD
- REFRESH MATERIALIZED VIEW
- SELECT
- SHOW ALTER
- SHOW ALTER MATERIALIZED VIEW
- SHOW BACKUP
- SHOW CATALOGS
- SHOW CREATE CATALOG
- SHOW CREATE MATERIALIZED VIEW
- SHOW CREATE TABLE
- SHOW CREATE VIEW
- SHOW DATA
- SHOW DATABASES
- SHOW DELETE
- SHOW DYNAMIC PARTITION TABLES
- SHOW EXPORT
- SHOW LOAD
- SHOW MATERIALIZED VIEW
- SHOW PARTITIONS
- SHOW REPOSITORIES
- SHOW RESTORE
- SHOW ROUTINE LOAD
- SHOW ROUTINE LOAD TASK
- SHOW SNAPSHOT
- SHOW TABLES
- SHOW TABLET
- SHOW TRANSACTION
- STOP ROUTINE LOAD
- STREAM LOAD
- SUBMIT TASK
- UPDATE
- Auxiliary Commands
- Data Types
- Keywords
- SQL Functions
- Function list
- Java UDFs
- Window functions
- Lambda expression
- Date Functions
- add_months
- adddate
- convert_tz
- current_date
- current_time
- current_timestamp
- date
- date_add
- date_diff
- date_format
- date_slice
- date_sub, subdate
- date_trunc
- datediff
- day
- dayofweek_iso
- dayname
- dayofmonth
- dayofweek
- dayofyear
- days_add
- days_diff
- days_sub
- from_days
- from_unixtime
- hour
- hours_add
- hours_diff
- hours_sub
- jodatime_format
- last_day
- makedate
- microseconds_add
- microseconds_sub
- minute
- minutes_add
- minutes_diff
- minutes_sub
- month
- monthname
- months_add
- months_diff
- months_sub
- next_day
- now
- previous_day
- quarter
- second
- seconds_add
- seconds_diff
- seconds_sub
- str_to_date
- str_to_jodatime
- str2date
- time_slice
- time_to_sec
- timediff
- timestamp
- timestampadd
- timestampdiff
- to_date
- to_days
- to_iso8601
- to_tera_date
- to_tera_timestamp
- unix_timestamp
- utc_timestamp
- week
- week_iso
- weekofyear
- weeks_add
- weeks_diff
- weeks_sub
- year
- years_add
- years_diff
- years_sub
- Aggregate Functions
- any_value
- approx_count_distinct
- array_agg
- avg
- bitmap
- bitmap_agg
- count
- count_if
- corr
- covar_pop
- covar_samp
- group_concat
- grouping
- grouping_id
- hll_empty
- hll_hash
- hll_raw_agg
- hll_union
- hll_union_agg
- max
- max_by
- min
- min_by
- multi_distinct_sum
- multi_distinct_count
- percentile_approx
- percentile_cont
- percentile_disc
- retention
- stddev
- stddev_samp
- sum
- variance, variance_pop, var_pop
- var_samp
- window_funnel
- Geographic Functions
- String Functions
- append_trailing_char_if_absent
- ascii
- char
- char_length
- character_length
- concat
- concat_ws
- ends_with
- find_in_set
- group_concat
- hex
- hex_decode_binary
- hex_decode_string
- instr
- lcase
- left
- length
- locate
- lower
- lpad
- ltrim
- money_format
- null_or_empty
- parse_url
- repeat
- replace
- reverse
- right
- rpad
- rtrim
- space
- split
- split_part
- substring_index
- starts_with
- strleft
- strright
- str_to_map
- substring
- trim
- ucase
- unhex
- upper
- url_decode
- url_encode
- Pattern Matching Functions
- JSON Functions
- Overview of JSON functions and operators
- JSON operators
- JSON constructor functions
- JSON query and processing functions
- Bit Functions
- Bitmap Functions
- Array Functions
- all_match
- any_match
- array_agg
- array_append
- array_avg
- array_concat
- array_contains
- array_contains_all
- array_cum_sum
- array_difference
- array_distinct
- array_filter
- array_generate
- array_intersect
- array_join
- array_length
- array_map
- array_max
- array_min
- array_position
- array_remove
- array_slice
- array_sort
- array_sortby
- array_sum
- arrays_overlap
- array_to_bitmap
- cardinality
- element_at
- reverse
- unnest
- Map Functions
- Binary Functions
- cast function
- hash function
- Cryptographic Functions
- Math Functions
- Pattern Matching Functions
- Percentile Functions
- Scalar Functions
- Struct Functions
- Table Functions
- Utility Functions
- AUTO_INCREMENT
- Generated columns
- System variables
- System limits
- Information Schema
- Overview
- be_bvars
- be_cloud_native_compactions
- be_compactions
- character_sets
- collations
- column_privileges
- columns
- engines
- events
- global_variables
- key_column_usage
- load_tracking_logs
- loads
- materialized_views
- partitions
- pipe_files
- pipes
- referential_constraints
- routines
- schema_privileges
- schemata
- session_variables
- statistics
- table_constraints
- table_privileges
- tables
- tables_config
- task_runs
- tasks
- triggers
- user_privileges
- views
- System Metadatabase
- API
- Overview
- Actions
- Clusters
- Create and Manage Clusters
- Query Clusters
- Identity and Access Management
- Organization and Account
- Usage and Billing
- Clusters
- Terraform Provider
- Run scripts
Scale a CelerData cluster
CelerData supports scaling clusters with no downtime. As your workloads grow or drop, you can view the details about a cluster and then decide whether to scale your cluster to maintain the necessary performance levels at minimum costs.
Both classic and elastic clusters support vertical scaling, horizontal scaling, and storage scaling.
NOTE
CelerData supports deploying classic clusters on both AWS Cloud and Azure Cloud, but it supports deploying elastic clusters only on AWS Cloud.
Introduction to scaling operations
Vertical scaling
You can vertically scale your cluster up or down by upgrading or downgrading the instance type of cluster nodes to increase or decrease computing power and storage capacity. Consider a scale-up in the following scenarios:
Your workloads are hitting CPU or I/O limits, which increase query latency and decrease concurrency, but storage capacity is sufficient.
You need to quickly react to fix performance issues that cannot be resolved by using classic optimization techniques.
Horizontal scaling
You can horizontally scale your cluster out or in by adding or removing cluster nodes to increase or decrease computing power and storage capacity. Consider a scale-out in the following scenarios:
Your workloads are hitting CPU, I/O, and storage limits, which increase query latency and decrease concurrency, but storage capacity is sufficient.
You have maxed out your performance requirements, even in the highest performance tier of your service.
Your data cannot fit into the current number of nodes.
Storage scaling
You can scale the storage of your cluster up or down to suit the needs of spikes and dips in cluster activity as your data volume changes.
You can only scale the disk size for BE nodes in classic clusters. For FE nodes in classic clusters and Coordinator Nodes in elastic clusters, you can edit the disk IOPS and throughput of the disks in addition to the disk size.
Scale a classic cluster
For a classic cluster, CelerData supports vertical scaling, horizontal scaling, and storage scaling.
Vertical scaling
Take note of the following points:
- If your cluster uses EBS volumes as storage, the cluster nodes will restart on a rolling basis during a scale-up and you may experience query or data loading failures. Therefore, we recommend that you perform a scale-up during off-peak hours.
- If your cluster uses instance store volumes as storage, the amount of time taken by a scale-up varies depending on the volume of data in your cluster.
Follow these steps:
Sign in to the CelerData Cloud BYOC console.
On the Clusters page, click the cluster that you want to scale.
On the cluster details page, click Manage and choose Edit cluster.
NOTE
- You can only scale clusters that are in the Running state. If a cluster is in not in the Running state, the Edit cluster menu item is disabled.
- If you are scaling a cluster created in your Free Developer Tier, a dialog box is displayed, prompting you to unlock the cluster before you can continue. For more information, see Use Free Developer Tier.
On the page that appears, select the type of node that you want to scale from the Node type drop-down list, select Scale up/down from the Operation type drop-down list, select the instance type that you want to scale to, and then click Subscribe.
In the message that appears, confirm your scaling settings and click Subscribe.
The cluster enters the Updating state.
CelerData requires some time to launch instances of the new instance type and migrates your data and workloads from the original instances to the new instances, during which charges to you are still calculated based on the original instance type.
When the scaling operation is complete, the cluster returns to the Running state.
Horizontal scaling
For a scale-out or scale-in, you can set the number of FE nodes only to 1, 3, or 5, but we recommend that the number of BE nodes be greater than or equal to 3 for production environments.
Follow these steps:
Sign in to the CelerData Cloud BYOC console.
On the Clusters page, click the cluster that you want to scale.
On the cluster details page, click Manage and choose Edit cluster.
NOTE
- You can only scale clusters that are in the Running state. If a cluster is in not in the Running state, the Edit cluster menu item is disabled.
- If you are scaling a cluster created in your Free Developer Tier, a dialog box is displayed, prompting you to unlock the cluster before you can continue. For more information, see Use Free Developer Tier.
On the page that appears, select the type of node that you want to scale from the Node type drop-down list, select Scale in/out from the Operation type drop-down list, specify the number of nodes that you want to have, and then click Subscribe.
In the message that appears, confirm your scaling settings and click Subscribe.
The cluster enters the Updating state.
CelerData requires some time to release or launch instances of the current instance type, during which charges to you are still calculated based on the original number of nodes.
When the scaling operation is complete, the cluster returns to the Running state.
Storage scaling
For BE nodes, you can only scale the disk size. For FE nodes, you can edit the disk IOPS and throughput of the disks in addition to the disk size.
Follow these steps:
Sign in to the CelerData Cloud BYOC console.
On the Clusters page, click the cluster that you want to scale.
On the cluster details page, click Manage and choose Edit cluster.
NOTE
- You can only scale clusters that are in the Running state. If a cluster is in not in the Running state, the Edit cluster menu item is disabled.
- If you are scaling a cluster created in your Free Developer Tier, a dialog box is displayed, prompting you to unlock the cluster before you can continue. For more information, see Use Free Developer Tier.
On the page that appears, select the type of node for which you want to change the storage size from the Node type drop-down list, and select Edit storage from the Operation type drop-down list. Then, specify the Disk IOPS and Disk throughput if you have selected FE node as the Node type, specify Disk size for the storage you want to scale, and click Subscribe.
NOTE
- The minimum disk IOPS per FE node is 3000.
- The minimum disk throughput per FE node is 150 MB/s.
- The minimum disk size per FE node is 30 GB.
- The minimum storage size per BE node is 500 GB.
In the message that appears, confirm your scaling settings and click Subscribe.
The cluster enters the Updating state.
CelerData requires some time to release or launch storage resources, during which charges to you are still calculated based on the original storage size.
When the scaling operation is complete, the cluster returns to the Running state.
Scale an elastic cluster
For an elastic cluster, CelerData supports vertical scaling, horizontal scaling, and Coordinator Node storage scaling.
Vertical scaling
Take note of the following points:
- If your cluster uses EBS volumes as storage, the cluster nodes will restart on a rolling basis during a scale-up and you may experience query or data loading failures. Therefore, we recommend that you perform a scale-up during off-peak hours.
- If your cluster uses instance store volumes as storage, the amount of time taken by a scale-up varies depending on the volume of data in your cluster.
Follow these steps:
Sign in to the CelerData Cloud BYOC console.
On the Clusters page, click the cluster that you want to scale.
On the cluster details page, click Manage and choose Edit cluster.
NOTE
You can only scale clusters that are in the Running state. If a cluster is in not in the Running state, the Edit cluster menu item is disabled.
On the page that appears, select the type of node that you want to scale from the Node type drop-down list, select Scale up/down from the Operation type drop-down list, and select the name of the warehouse if you have selected Compute Node as the Node type. Then, select the instance type that you want to scale to, and then click Subscribe.
In the message that appears, confirm your scaling settings and click Subscribe.
The cluster enters the Updating state.
CelerData requires some time to launch instances of the new instance type and migrates your data and workloads from the original instances to the new instances, during which charges to you are still calculated based on the original instance type.
When the scaling operation is complete, the cluster returns to the Running state.
Horizontal scaling
For a scale-out or scale-in, you can set the number of Coordinator Nodes only to 1, 3, or 5. You can edit the number of Compute Nodes in a warehouse.
Follow these steps:
Sign in to the CelerData Cloud BYOC console.
On the Clusters page, click the cluster that you want to scale.
On the cluster details page, click Manage and choose Edit cluster.
NOTE
You can only scale clusters that are in the Running state. If a cluster is in not in the Running state, the Edit cluster menu item is disabled.
On the page that appears, select the type of node that you want to scale from the Node type drop-down list, select Scale in/out from the Operation type drop-down list, and select the name of the warehouse if you have selected Compute Node as the Node type. Then, specify the number of nodes that you want to have, and then click Subscribe.
In the message that appears, confirm your scaling settings and click Subscribe.
The cluster enters the Updating state.
CelerData requires some time to release or launch instances of the current instance type, during which charges to you are still calculated based on the original number of nodes.
When the scaling operation is complete, the cluster returns to the Running state.
Storage scaling
You can scale the storage only for Coordinator Nodes. In addition to the disk size, you can edit the disk IOPS and throughput of the disks.
Follow these steps:
Sign in to the CelerData Cloud BYOC console.
On the Clusters page, click the cluster that you want to scale.
On the cluster details page, click Manage and choose Edit cluster.
NOTE
You can only scale clusters that are in the Running state. If a cluster is in not in the Running state, the Edit cluster menu item is disabled.
On the page that appears, select Coordinator Node from the Node type drop-down list, select Edit storage from the Operation type drop-down list, specify the Disk IOPS, Disk throughput, and Disk size for the storage you want to scale, and then click Subscribe.
NOTE
- The minimum disk IOPS per Coordinator Node is 3000.
- The minimum disk throughput per Coordinator Node is 150 MB/s.
- The minimum disk size per Coordinator Node is 30 GB.
In the message that appears, confirm your scaling settings and click Subscribe.
The cluster enters the Updating state.
CelerData requires some time to release or launch storage resources, during which charges to you are still calculated based on the original storage size.
When the scaling operation is complete, the cluster returns to the Running state.