分区
副本
根据存储数据种类的不同,副本有几种不同的类型,以支持不同业务在在数据安全,性能伸缩性,可用性,成本等之间进行取舍折中
类型 | Log | MemTable | SSTable | 数据安全 |
---|---|---|---|---|
全能型 | 有,参与投票 | 有 | 有 | 高 |
日志型 | 有,参与投票 | 无 | 无 | 低 |
只读型 | 有,但不属于paxos组,只是listener | 有 | 有 | 中 |
通过多副本同步Redo Log确保数据持久化
“非”计算节点,无状态
__all_virtual_sys_task_status
表,是否有comment like '%partition migration%'
的任务__all_virtual_sys_task_status
表,是否有comment like '%partition migration%'
的任务举例:Follower从副本故障
两阶段提交包括以下两个阶段:
提交准备阶段(Prepare Phase):在这个阶段,事务的协调者(Coordinator)向所有参与者(Participants)发送准备提交的请求。参与者接收到请求后,会执行事务的操作,并将事务的日志记录到本地的redo log中。如果所有参与者都成功地执行了事务并准备好提交,那么它们会向协调者发送“同意”(Agree)的响应。
提交确认阶段(Commit Phase):在这个阶段,协调者根据参与者的响应情况来决定是否提交事务。如果所有参与者都返回了“同意”,那么协调者会向所有参与者发送提交的指令,参与者接收到后会正式将事务提交并将其结果持久化到磁盘。如果有任何一个参与者返回了“否决”(Abort),那么协调者会向所有参与者发送中止的指令,参与者接收到后会撤销事务的操作。
OceanBase两阶段提交协议特点
MVCC核心功能
事务并发问题
OceanBase支持多种事务隔离级别