一个日志流在一个zone内的分片,可以分布在单个zone内的不同observer上吗?

假设3-3-3集群,unit_num等于2,zone1,zone2,zone3的分布,zone1内有observer1,observer2,observer3这三台机器,table1在LS1日志流上的分片,可以横跨observer吗(一个日志流,在zone1上承载的分片分布在observer1和observer2上)?

2 个赞

或者说,一个日志流LS1上的分区迁移到同一个zone的其它机器上了,那这个分区就不属于LS1了?属于LS2、LS3等其它日志流了?

@论坛小助手

不会,日志流个数=unit num * primary zone=2*3=6个。
相对于每个zone有6个日志流 一个zone内两台节点平分6个日志流。

根据给定的文档片段,一个日志流(Logstream)在同一个Zone内的分片(Tablet)可以分布在不同的Observer上。日志流的副本(Replica)是为了实现数据的高可用性和容灾,这些副本会在同一个Zone的不同Observer上分布。当一个分区(Partition)的数据需要迁移时,虽然分区可能会在同一个Zone内的不同Observer之间移动,但仍然属于同一个日志流(LS1)。分区的迁移不会改变其所属的日志流。因此,即使分区迁移到同一个Zone内的其他机器上,它仍然属于原来的日志流LS1。

更多信息请查看:

  1. 集群架构
  2. 日志流和副本概述
1 个赞

但是论坛小助手说一个日志流在同一个zone内的分片可以分布在不同的observer上。

AI回答的有问题,这种情况可以测试.
一个LS会有多个副本分布在不同zone下

根据OceanBase V4.x版本的架构设计,在一个Zone内部,一个日志流(Log Stream)承载的所有分片(Tablet)必须位于同一台Observer上,不能跨多台机器分布

不可以。
在 OceanBase V4.x 版本中,一个日志流(Log Stream)在同一个 Zone 内承载的所有分片(Tablet),必须位于同一台 OBServer 节点上 ,不能跨多台机器分布。

理论联系实际,做下实验就知道了

学习了