OBCP准备
文章目录
【注意】最后更新于 April 9, 2022,文中内容可能已过时,请谨慎使用。
多看、多问、多总结,肯定是可以攻克的。
文章地址:https://wangcy6.github.io/post/oceanbase/obcp_2/
环境说明
- 单机单节点部署
|
|
挑战01 阅读资料
1. 疑问与思考
- 索引不是key,如何保证唯一性?
2. input
-
- 实验:https://www.yuque.com/yiyezhou/rgak0e/cl41r7
-
7.1 OceanBase 数据库 SQL 诊断和优化
视频地址: https://open.oceanbase.com/docs/videoCenter/5900015'
-
pdf 对应的doc:
-
4.4 局部索引与全局索引 5.data-distribution-and-link-management/1.partition-table-and-partitioned-index-management/6.create-an-index-on-a-partition-table/1.local-index.md ✅
-
docs/docs/docs-cn/6.administrator-guide/5.data-distribution-and-link-management/1.partition-table-and-partitioned-index-management/6.create-an-index-on-a-partition-table/2.global-index.md ✅
-
docs/docs/docs-cn/12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/1.optimizer-hint-1.md ✅
-
docs/docs/docs-cn/12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/2.plan-binding-1.md ✅
-
OceanBase 社区版入门教程第九期 如何快速拿下 OBCA & OBCP 认证
output:
-
obclient -uroot@tpcc -h127.0.0.1 -P2881 -p123456 -Dtpcc -c
-
全局索引允许指定自己的分区规则和分区个数,不一定需要跟表分区规则保持一致
-
想利用局部索引建立关于emp_name的唯一约束是无法实现的 .并且会在全局范围内造成CPU和IO资源的浪费
-
局部索引与全局索引的执行计划的比较
-
如果需要“不包含完整分区键”的唯一约束, 1. 用全局索引 2. 或者本地索引,且需要索引列上必须带上表的分区键
-
Hint只影响数据库优化器生成计划的逻辑,而不影响SQL语句本身的语义
|
|
3.小总
挑战02 OB 分布式事务高级技术
## 阅读资料
-
阅读 https://gw.alipayobjects.com/os/bmw-prod/ab80d72a-801b-4bb4-959f-81a6fa282485.pdf
-
阅读 Paxos + 两阶段提交协议 docs/docs/docs-cn/5.overview/5.transaction-management-1/5.distributed-transactions.md
-
https://gw.alipayobjects.com/os/bmw-prod/d5635d4b-9d2a-46c8-bab3-7527195f8635.pdf p67
-
阅读:https://zhuanlan.zhihu.com/p/78402011
输出
- OceanBase数据库是利用一个集中式服务来提供全局一致的版本号。虽然集中 但是不会出现单点故障。
- OceanBase两阶段提交协议 :. 业务数据模型设计原则:尽量避免跨机分布式事务
- 让每个分布式事务的第一个参与者承担两阶段提交协议中协调者的工作
- 选举出另外一个副本代替原有参与者继续提供服务,并恢复原有参与者的状态
测试
|
|
day3:
问题是什么
-
假如客户端连接ob,如果leader挂掉,客户端不知道请求是否成功还是失败?重复请求 ob怎么处理
如何解决的
-
obproxy实验 p72
-
OceanBase弹性伸缩和分区负载均衡 杨传辉(日照)
杨传辉(日照) -《OceanBase弹性伸缩和分区负载均衡》 —— 墨天轮视频:https://www.modb.pro/video/389?slink
-
阅读:https://mp.weixin.qq.com/s/m3p5XI-7HbFZd8PPYEwybw
有什么收获
|
|
Day4:第七章:OB 备份恢复
问题是什么?
如何解决的
-
-
4.如何迁移数据到 OceanBase 社区版
-
-
实验 p77 https://gw.alipayobjects.com/os/bmw-prod/d5635d4b-9d2a-46c8-bab3-7527195f8635.pdf
有什么收获
- nothing
Day5:第8章节:
1. 问题
Commit Log,所有Partition共用,日志可能是乱序的, 记录事务、PartitionService提供的原始日志内容。此目 录下的日志基于Paxos协议在多个副本之间同步
- 同样是一致性协议,Paxos 和 Raft 的区别是什么?
2. 如何解决的
- 实验9。p84 https://gw.alipayobjects.com/os/bmw-prod/d5635d4b-9d2a-46c8-bab3-7527195f8635.pdf
- 通过/proc查看Linux内核态调用栈来定位问题
- docs/docs/docs-cn/6.administrator-guide/3.basic-database-management/2.zone-management/1.zone-management-overview.md
|
|
- OceanBase 社区版入门教程第九期 如何快速拿下 OBCA & OBCP 认证
https://open.oceanbase.com/blog/10900233?currentPage=2
摘要:
-
Zone 本身是一个逻辑概念,是对物理机进行管理的容器,一般是同一机房的一组机器的组合
-
分区主副本的选择策略由租户的
primary_zone
属性决定,在创建租户的命令中可以指定primary_zone
属性,也可以用ALTER
语句来修改。 -
每一份叫做分区的一个副本。每个副本,包括存储在磁盘上的静态数据(SSTable)、存储在内存的增量数据(MEMTable)
-
Clog 落盘
-
强一致:发生脑裂、网络分区、宕机、磁盘故障等异常时,在 Clog 写入位置上保证数据强一致,不丢失数据。
摘要:
- 一份数据存多份. 多副本保证了可靠性, 而副本之间的一致, 就需要paxos这类分布式一致性算法来保证.
- 主从异步复制是最简单的策略之一, 它很容易实现, 但存在一个问题: 客户端收到一个数据已经安全(OK)的信息, 跟数据真正安全(数据复制到全部的机器上)在时间上有一个空隙,
- 主从同步复制,缺点就是整个系统中有任何一个机器宕机, 写入就进行不下去了
- 半同步复制
OceanBase 社区版入门教程第九期 如何快速拿下 OBCA & OBCP 认证
https://open.oceanbase.com/blog/10900233?currentPage=2