<@U0A71G31CDV> Do BE nodes support all CN-node wor...
# questions-and-troubleshooting
c
@Rocky Do BE nodes support all CN-node workloads?
r
No, BE nodes do not support all CN-node workloads, primarily due to their architectural differences and the specific design of the "shared-data" (cloud-native) architecture. While BE (Backend) and CN (Compute) nodes share most of the same code for SQL execution, they serve different roles: 1. Architectural Constraints * Shared-Data (Cloud-Native) Mode: In a StarRocks shared-data cluster (where data is stored in object storage like S3), BE nodes are replaced by CN nodes. The shared-data architecture is designed to work with CN nodes as stateless compute units. BE nodes, which are designed for shared-nothing storage, are not used in this architecture. * Shared-Nothing Mode: In a traditional shared-nothing cluster, BE nodes are the primary workers. While you can add CN nodes to a shared-nothing cluster to handle specific compute-heavy tasks (like Data Lake queries), BE nodes are required to manage and store the actual data replicas (tablets). 2. Operational Workloads (Elasticity) A key "workload" for CN nodes is rapid elastic scaling. * CN Nodes: Because they are stateless (they don't store the master copy of any data), they can be added or removed from a cluster in seconds without any data migration. This makes them ideal for handling bursty query workloads or temporary data lake analytics. * BE Nodes: BE nodes are stateful. Adding or removing a BE node triggers data rebalancing, as StarRocks must move tablet replicas to ensure data distribution. Therefore, BE nodes cannot support the "instant-on/off" elastic scaling workload that CN nodes provide. 3. Feature Overlap vs. Specialization Feature | BE Node | CN Node Internal Table Storage | Yes (Primary storage) | No (Only caches data) Data Lake Queries | Yes | Yes (Optimized for this) Shared-Data Architecture | No | Yes Stateless Scaling | No | Yes Local Data Caching | Yes (via storage) | Yes (via local disk/SSD) Summary If your "workload" is strictly SQL execution (e.g., querying a Hive table), both can do it. However, if the workload involves Cloud-Native storage or stateless elasticity, the BE node cannot fulfill the role of a CN node. For more details, you can refer to the StarRocks Architecture Documentation. Referencestable_design/table_design.mdintroduction/Architecture.mddata_source/External_table.mddata_source/catalog/catalog_overview.md