看到这样一句话,说是tablet可以动态调整大小限制。
这里又有个默认值128MB?
到底会动态调整吗?
没这个参数
auto_split_tablet_size
参数用于控制 Tablet 自动分裂的大小。继续补充总结:
Tablet 是 OceanBase 中的逻辑存储单元,由多个 SSTable 组成。
每个 SSTable 由多个 宏块 组成。
每个 宏块 由多个 微块 组成。
每个 微块 由多个 数据页 组成。
分区 (Partition) 是逻辑上的数据划分。
Tablet 是物理存储"单元",负责实际存储数据。
SSTable 是Tablet 的物理存储"实现"。
我是4.2.1版本,难怪没有
下面是官方4.3.1的描述:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000819416
所以要说版本,很多地方都自相矛盾(1:1 1:n 自动分裂这些),应该是某个版本引进的feature。
只是感觉有点乱,不知道以哪个为准。
用户创建的单分区表会对应一个实际的Tablet,用户创建的多分区表每个分区会对应一个Tablet,表上的索引也会对应实际存储的Tablet,如果是单分区索引,则对应一个实际的Tablet,如果是多分区索引,则每个索引分区对应一个Tablet。表(Table)、分区(Partition)作为用户创建的逻辑对象,而Tablet作为实际承载数据的物理存储单位。
这个分区数据够大的情况下,是由多个tablet承载的吧?默认超过128MB。
说的这些都明白理解,就是分区和tablet的对应关系,有的地方看到说是1:1,有些地方说是1:N,超过一定阈值会自动分裂,还会动态调整。到底是怎样的?
我认为是这个意思,现在看到很多官方文档都是描述的1:1,一一对应
我们学习是都是1:1,会不会在v4.3.4之后加这个参数后,就是1:N了呢。
sorry, 这个理解没问题,我的意思,一个分区对一个tablet,如果分区无限增大,会分裂多个tablet,来存放这个分区?
老师,言外之意分区表中,这里应该是每个表和tablet的对应关系是1:N
现在讨论的是分区partition和分片tablet的关系,个人觉得跟是否是分区表没有关系。
auto_split_tablet_size-V4.3.5-OceanBase 数据库文档-分布式数据库使用文档
我严重怀疑这个是一个分区数据大了,分多个tablet,像TiDB region=96MB一样。
TiDB region 默认96MB,自动分裂和合并。
3.x和4.x的不同 4.x引入的tablet的概念 3.x是分区概念 你把文档提供一下 我看看