Slackbot
07/17/2026, 1:42 PMRocky
07/17/2026, 1:42 PMsql
CREATE WAREHOUSE <warehouse_name>;
* Switch Warehouse: You can specify which warehouse to use for your current session:
sql
SET WAREHOUSE = '<warehouse_name>';
* Manage/View Warehouses:
sql
SHOW WAREHOUSES;
SELECT current_warehouse();
* Benefits: This provides full physical isolation. Queries in one warehouse do not compete for CPU or Memory with queries in another.
2. Resource Groups (Internal Isolation)
If you are using a Shared-nothing architecture (standard BE nodes) or want more granular isolation within a single warehouse, you use Resource Groups. This feature allows you to isolate workloads by limiting CPU and memory at the software level.
* Create a Resource Group:
sql
CREATE RESOURCE GROUP <group_name>
TO (user='sales_user', role='analyst') -- Classifiers
WITH (
"exclusive_cpu_cores" = "10", -- Hard CPU isolation (v3.3.5+)
"mem_limit" = "20%", -- Memory limit
"concurrency_limit" = "10" -- Max concurrent queries
);
* Documentation Reference: You can find more details in the official docs under Administration Resource Management > Resource Group>.
Key Differences
Feature | Isolation Level | Deployment Mode | Version
Warehouse | Physical (Node-level) | Shared-data | 3.3+
Resource Group | Logical (CPU/Mem limits) | Both | 2.2+
Note: The CREATE WAREHOUSE syntax and management are primarily available for shared-data clusters. If you are running a standard shared-nothing cluster, Resource Groups are the primary way to achieve isolation.
References
• faq/shared_data_faq.md
• quick_start/shared-data.md
• deployment/shared_data/gcs.md
• administration/management/BE_configuration.md
• deployment/shared_data/azure.mdZurab Kiknavelidze
07/17/2026, 1:44 PMRocky
07/17/2026, 1:44 PMsql
CREATE WAREHOUSE <warehouse_name>;
* Show all Warehouses:
sql
SHOW WAREHOUSES;
* Drop a Warehouse:
sql
DROP WAREHOUSE <warehouse_name>;
2. Assigning Compute Nodes (CN) to a Warehouse
A warehouse is essentially a group of Compute Nodes (CN). When you add a new CN to the cluster, you can specify which warehouse it belongs to.
* Add a node to a specific warehouse:
sql
ALTER SYSTEM ADD COMPUTE NODE "host:port" WAREHOUSE "warehouse_name";
* View nodes and their warehouses:
sql
SHOW COMPUTE NODES;
This will show a Warehouse column indicating the assignment.
3. Using a Warehouse
Workload isolation is achieved by switching the session context or routing queries.
* Switch current session to a warehouse:
sql
SET WAREHOUSE = '<warehouse_name>';
* Verify current warehouse:
sql
SELECT current_warehouse();
4. Advanced Management
* Workload Isolation: Since each warehouse uses its own physical CN nodes, a heavy query in warehouse_a will not impact the CPU/Memory performance of warehouse_b.
* Compaction Isolation: You can designate a specific warehouse for background tasks like compaction to ensure they don't interfere with user queries.
sql
-- Example: Setting a warehouse for specific tasks (v3.3+)
SET GLOBAL compaction_warehouse = 'compaction_wh';
Documentation References
Detailed documentation for these commands is typically found in the SQL Reference or Administration sections for version 3.3 and later.
• StarRocks v3.3 Release Notes
• Compute-Storage Separation Overview
Note: If you are using a managed service (like StarRocks Cloud or CelerData), these warehouses are often managed via a UI, but the SQL commands above remain functional for session management.
References
• introduction/Architecture.md
• quick_start/shared-data.md
• deployment/shared_data/s3.md
• deployment/shared_data/gcs.md
• faq/shared_data_faq.md
References
• quick_start/shared-data.md
• deployment/shared_data/gcs.mdZurab Kiknavelidze
07/17/2026, 1:46 PMRocky
07/17/2026, 1:47 PMsql
CREATE WAREHOUSE <warehouse_name>;
* Assign Compute Nodes (CN) to a warehouse:
When adding nodes, you can bind them to a specific warehouse to ensure physical isolation:
sql
ALTER SYSTEM ADD COMPUTE NODE "host:port" WAREHOUSE "warehouse_name";
* Switch to a specific warehouse:
Queries in your current session will only run on the specified warehouse:
sql
SET WAREHOUSE = '<warehouse_name>';
* View status and metrics:
sql
SHOW WAREHOUSES; -- List all warehouses
SELECT * FROM information_schema.warehouse_metrics; -- Performance metrics per warehouse
SELECT * FROM information_schema.warehouse_queries; -- Active queries per warehouse
Why use this over Resource Groups?
* Warehouse: Provides physical isolation. Different warehouses use different sets of Compute Nodes (CNs). A heavy query in one warehouse cannot steal CPU or Memory from another.
* Resource Group: Provides logical isolation within a single warehouse/set of nodes using soft/hard limits on CPU and Memory.
If you are looking for a Snowflake-like experience where you have "Small", "Medium", or "Large" clusters for different departments, Multi-Warehouse is the correct feature.
References
• administration/management/resource_management/resource_group.mdZurab Kiknavelidze
07/17/2026, 1:48 PMRocky
07/17/2026, 1:49 PMsql
CREATE WAREHOUSE <warehouse_name>;
2. Assign nodes to the warehouse:
When adding a Compute Node (CN), bind it to the warehouse to ensure physical isolation.
sql
ALTER SYSTEM ADD COMPUTE NODE "host:port" WAREHOUSE "warehouse_name";
3. Switch to a specific warehouse in your session:
All subsequent queries in the session will run only on the nodes assigned to this warehouse.
sql
SET WAREHOUSE = '<warehouse_name>';
4. Verify current warehouse usage:
sql
SELECT current_warehouse();
SHOW WAREHOUSES;
Why you might see a 404
StarRocks recently updated its documentation structure for the 3.x and 4.0 release cycles. If .../compute_node/warehouse/ is failing, it is likely because the page was renamed to Compute Group (.../compute_node/compute_group/) to better reflect the underlying architecture of grouping Compute Nodes.
References
• sql-reference/information_schema/warehouse_queries.md
• sql-reference/sql-functions/utility-functions/current_warehouse.md
• sql-reference/sql-statements/cluster-management/nodes_processes/SHOW_COMPUTE_NODES.md
• faq/shared_data_faq.md
References
• administration/management/resource_management/resource_group.md