会挽雕弓如满月,西北望,射天狼。|

园龄:粉丝:关注:

OceanBase 分布式存储管理

分布式存储管理

分区表管理

定义

  • 把普通的表的数据按照一定的规则划分到不同的区块内,同一区块的数据物理上存储在一起。
  • 每个分区还能按照一定的规则再拆分成多个分区,这种分区表叫做二级分区表。

分区分类

  • range分区,最常见是按日/周/月分区
  • list
  • hash
  • key
  • 组合

创建分区表

创建分区表索引

副本管理

概述

  • OceanBase 数据库是以表分区( Partition )为原子粒度进行管理的。

为了数据安全和提供高可用的数据服务,每个分区数据在物理上存储多份,每一份叫做分区的一个副本。
每个副本,包括存储在磁盘上的静态数据( SSTable )、存储在内存的增量数据( MemTable )以及记录事务的日志三类主要的数据。
根据存储数据种类的不同,副本有几种不同的类型,以支持不同业务在在数据安全,性能伸缩性,可用性,成本等之间的选择。

基础信息

  • Log

本文中主要指与事务相关的 Clog 日志。

  • MEMTable

表示目前内存中已经被读写更改过的数据,也可称之为内存表。

  • SSTable

表示存储在磁盘中的基线数据。
当数据被事务读取或修改时,会暂存在 MEMTable 中。
合并发生时 MEMTable 中的数据会和 SSTable 中的数据进行合并形成更新版本的 SSTable。

副本类型

  • 全能型

目前支持的普通副本,拥有事务日志、MEMTable 和 SSTable 等全部完整的数据和功能。

  • 日志性副本

只包含日志的副本。

  • 只读型

可以在业务对读取数据的一致性要求不高的时候提供只读服务。

新增副本

Locality管理

  • Locality 描述了表或租户下副本的分布情况。

  • 查看
    SELECT tenant_name,locality FROM oceanbase.gv$tenant;

  • 修改表的 Locality

  • 修改租户的 Locality

分区副本均衡

本文作者:武平宁

本文链接:https://www.cnblogs.com/dewan/p/16349053.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   武平宁  阅读(231)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起