管理副本
管理 StarRocks 集群中的数据副本。
存算一体
概述
对于存算一体集群中的内表,StarRocks 采用多副本策略来保证数据的高可用性。当您创建表时,必须通过配置 replication_num (默认值:3)属性(Property)指定表的副本数量。发起导入事务后,数据会同时导入到指定数量的副本中,即在数据写入多数副本后,事务才会返回成功。详情请参考导入数据安全等级(Write quorum)。StarRocks 允许您设置导入更少的副本即可返回导入成功,从而实现更好的导入性能。
StarRocks 将多个副本存储 在不同的 BE 节点上。例如,如果您想要为一个表存储三个副本,则必须在 StarRocks 集群中部署至少三个 BE 节点。如果任何副本发生故障,StarRocks 会从另一个 BE 节点克隆一个健康的副本的部分或全部数据来修复故障的副本。StarRocks 采用多版本并发控制(MVCC)技术,通过复制这些多版本数据的物理副本,保证版本修复的高效进行。
多副本写入

导入事务的常规流程如下:
-
客户端提交导入请求至 FE。
-
FE 节点选择一个 BE 节点作为该导入事务的 Coordinator BE 节点,并为该事务生成执行计划。
-
Coordinator 节点从客户端读取要导入的数据。
-
Coordinator 节点将数据分发到所有副本的 Tablet 中。
说明
Tablet 是表的逻辑分片。一张表可以有多个 Tablet,每个 Tablet 有
replication_num个副本。一张表中 Tablet 的数量由建表属性bucket_size决定。 -
数据导入并存储到所有 Tablet 后,FE 将导入的数据变为可见。
-
FE 向客户端返回导入成功。
以上流程确保了即使在极端情况下服务可用性依然不受影响。