OceanBase
文章平均质量分 80
柯西极限存在准则
现任于西安华为研究所,阿里云社区专家博主,从事DBA的ISFJ+摩羯
展开
-
OBCP部分考点总结
参与者或者协调者宕机,全部参与者发送prepare ok,客户端会commit原创 2023-05-06 17:25:18 · 1016 阅读 · 0 评论 -
OBCP题目及解析
44.为减少执行计划生成次数,OceanBase使用了执行计划缓存,为了能将SQL请求在执行计划缓存中命中相同的计划,OceanBase优化器将SQL进行参数化(将SQL中的常量转换为参数),然后使用参数化的SQL文本作为键值在执行计划缓存中获取执行计划,达到参数不同的SQL能够共用相同的计划目的,如下场景中的常量,哪些是不能参数化的?__all_virtual_tenant_memstore_info中的freeze_cnt的统计数对应的是参数minor_freeze_times的值。原创 2023-05-05 17:09:21 · 2653 阅读 · 0 评论 -
OBCA题库(最新版)
最新OBCA题库原创 2023-04-10 10:14:34 · 2390 阅读 · 0 评论 -
OBCP第八章 OB运维、监控与异常处理-灾难恢复
回收站:回收站在原理上说就是一个数据字典表,放置用户删除的数据库对象信息。用户删除的东西被放入回收站后,其实仍然占据着物理空间,除非您手动进行清除( PURGE )或者对象定期被数据库系统删除原创 2023-04-06 10:12:10 · 649 阅读 · 0 评论 -
OBCP第八章 OB运维、监控与异常处理-常见异常处理
在遇到连接问题时,需要清楚整个系统的架构,对整个连接链路进行排查。通常情况下应用连接到数据库的完整链路是从应用服务器到 OBProxy 再到 OB 集群,此外还可能涉及负载均衡、DNS 解析、网络等原创 2023-04-04 17:41:17 · 506 阅读 · 0 评论 -
OBCP第八章 OB运维、监控与异常处理-数据库监控
OceanBase 数据库为多租户架构,租户分为两种类型:普通租户以及 sys 租户。OceanBase 数据库系统表都存储在 sys 租户,且主键中存储租户号(tenant_id),区分每个租户的内容。每个租户内部创建一个该租户数据的只读视图原创 2023-04-04 15:14:42 · 1467 阅读 · 0 评论 -
OBCP第八章 OB运维、监控与异常处理-日常运维操作
白屏: 集群、Zone、Observer 常用运维操作 常用运维操作OceanBase从Partition的多个副本中选出主对外提供服务。为避免Paxos的活锁问题,OceanBase 采用一种基于时钟的选举算法选主检查 NTP 状态:运行 ntpstat 检查 NTP 服务器状态。如果结果为 synchronised to NTP server,则可以认定 NTP 的配置处于同步状态检查 NTP 的偏移量:多次执行 ntpq -p|grep -E “\*|\=|remote“ 命令,确保可以看到稳定的 o原创 2023-04-03 15:08:45 · 695 阅读 · 0 评论 -
OBCP第八章 OB运维、监控与异常处理-日志查询
OceanBase数据库在运行过程中会自动生成日志;通过查看和分析日志,可以了解OceanBase数据库的启动和运行状态原创 2023-04-03 11:38:15 · 532 阅读 · 0 评论 -
OBCP第八章-运维、监控与异常处理-用户权限管理
数据库用户管理操作包括创建用户、删除用户、修改密码、修改用户名、锁定用户、用户授权和撤销授权等原创 2023-04-03 10:01:12 · 395 阅读 · 0 评论 -
OBCP第七章 OB迁移-备份恢复技术架构及操作方法
日志归档是指日志数据的自动归档功能,OBServer 会定期将日志数据归档到指定的备份路径。这个动作是全自动的,不需要外部定期触发。原创 2023-04-02 23:30:00 · 1250 阅读 · 0 评论 -
OBCP第七章 OB迁移、备份与恢复-迁移服务
OceanBase 迁移服务(OceanBase Migration Service,OMS)是 OceanBase 提供的一种支持同构或异构RDBMS与OceanBase之间进行数据交互的服务,具备在线迁移存量数据和实时同步增量数据的能力。原创 2023-03-31 16:48:26 · 841 阅读 · 0 评论 -
OBProxy 路由策略与使用运维-常见问题
OBProxy 有自己的慢查询日志打印功能,通过 OBProxy 的以下两个配置项可控制打印到日志中的 SQL 或事务的处理时间阈值。原创 2023-03-31 15:58:10 · 519 阅读 · 0 评论 -
OBProxy 路由策略与使用运维-使用和运维
OBProxy无状态,即使宕机重启也不会影响数据一致性,所以OBProxy在部署时都带有一个守护进程,周期性检查OBProxy的健康程度,一旦发现宕机就立即重启OBProxy原创 2023-03-31 14:54:45 · 493 阅读 · 0 评论 -
OBProxy 路由策略与使用运维-路由实现
LDC是指proxy按照根据城市/机房等信息就近路由访问observer, 这需要observer设置好自身所处的机房和城市信息, 需要proxy提供自身所处的机房信息。原创 2023-03-31 14:24:17 · 624 阅读 · 0 评论 -
OBProxy路由策略与使用运维-部署
ObProxy可以通过指定config server提供的config_url来启动,config server服务可以协助获取该集群的配置信息。同一个config server可以保存多个OB集群的RSList信息,使obproxy能为多个OB集群同时提供服务原创 2023-03-31 09:54:14 · 437 阅读 · 0 评论 -
OBProxy路由策略与使用运维-简介
OceanBase数据库是分布式数据库,每个表甚至每个表的不同分区都可能存放在不同的机器上。想要对表进行读写,必须先要定位到数据所属的表或是分区的主副本位置,然后才能执行相应的SQL DML语句,这在应用层面而言是几乎不可能做到的原创 2023-03-31 09:36:33 · 462 阅读 · 0 评论 -
OBCP第五章 OBProxy路由策略与使用运维-简介
OceanBase数据库是分布式数据库,每个表甚至每个表的不同分区都可能存放在不同的机器上。想要对表进行读写,必须 先要定位到数据所属的表或是分区的主副本位置,然后才能执行相应的SQL DML语句,这在应用层面而言是几乎不可能做到的原创 2023-03-30 17:52:27 · 365 阅读 · 0 评论 -
OBCP第五章 分布式事务高级技术-分布式两阶段提交
2PC是一个非常经典的强一致、中心化的原子提交协议。中心化指的是协调者(Coordinator),强一致性指的是需要所有参与者(participant)均要执行成功才算成功,否则回滚。原创 2023-03-30 17:28:13 · 734 阅读 · 0 评论 -
OBCP第五章 分布式事务高级技术-分布式两阶段提交
“快照隔离级别(Snapshot Isolation)”和“多版本并发控制(Multi-VersionConcurrency Control,简称MVCC)”两种技术的大致含义是:为数据库中的数据维护多个版本号(即多个快照),当数据被修改的时候,可以利用不同的版本号区分出正在被修改的内容和修改之前的内容,以此实现对同一份数据的多个版本做并发访问,避免了经典实现中“锁”机制引发的读写冲突问题。原创 2023-03-30 16:50:05 · 425 阅读 · 0 评论 -
OBCP第四章 SQL调优-SQL执行性能监控
基于虚拟表__all_virtual_sql_audit的视图, 该虚拟表对应的数据存放在一个可配置的内存空间中。由于存放这些记录的内存是有限的,因此到达一定内存使用量,会触发淘汰原创 2023-03-30 15:51:21 · 466 阅读 · 0 评论 -
OBCP第四章 SQL调优-Hint
如果使用MySQL的客户端执行带Hint的SQL语句,需要使用-c选项登陆,否则MySQL客户端会将Hint作为注释从用户SQL中去除,导致系统无法收到用户Hint原创 2023-03-29 17:58:40 · 659 阅读 · 0 评论 -
OBCP第四章 SQL调优-局部索引与全局索引
OceanBase的每一张表都有主键,并在内部以主键为序组织数据。如果在创建用户表时不显式指定主键,系统会自动为表生成隐藏主键,隐藏主键不可被查询原创 2023-03-29 14:25:26 · 473 阅读 · 0 评论 -
OBCP第四章 SQL调优-索引
访问路径是指数据库中访问表的方法,即使用哪个索引来访问表。原创 2023-03-29 10:13:01 · 215 阅读 · 0 评论 -
OBCP第四章 SQL调优-分区
OceanBase数据库把普通的表的数据按照一定的规则划分到不同的区块内,同一区块的数据物理上存储在一起。这种划分区块的表叫做分区表,其中的每一个区块称作分区。原创 2023-03-28 14:38:13 · 758 阅读 · 0 评论 -
OBCP第三章 SQL引擎技术-执行计划缓存
一次完整的语法解析、语义分析、查询改写、查询优化、代码生成的SQL编译流程称为一次“硬解析”,硬解析生成执行计划的过程比较耗时(一般为毫秒级),这对于OLTP语句来说是很难接受的原创 2023-03-27 17:48:49 · 133 阅读 · 0 评论 -
OBCP第三章 SQL引擎高级技术-执行计划
SQL 是一种“描述型”语言。与“过程型”语言不同,用户在使用 SQL 时,只描述了“要做什么”,而不是“怎么做”原创 2023-03-27 16:51:20 · 388 阅读 · 0 评论 -
OBCP第三章、SQL引擎高级技术-查询改写
数据库中的查询改写(query rewrite)把一个 SQL 改写成另外一个更加容易优化的SQL。原创 2023-03-27 15:16:56 · 135 阅读 · 0 评论 -
OBCP第三章 SQL引擎高级技术-DDL语句处理
OceanBase数据库支持传统数据库的DDL语句,DDL类型的SQL语句不会被优化器处理,而是作为command发送到RootServer,由RootServer进行处理,比如典型的建表语句。原创 2023-03-24 17:55:49 · 133 阅读 · 0 评论 -
OBCP第三章 SQL引擎高级技术-DML语句处理
数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心原创 2023-03-24 17:40:48 · 76 阅读 · 0 评论 -
OBCP第三章 SQL引擎高级技术-SQL请求执行流程
在收到用户发送的SQL请求串后,Parser会将字符串分成一个个的“单词”,并根据预先设定好的语法规则解析整个请求,将SQL请求字符串转换成带有语法结构信息的内存数据结构,我们称为“语法树”(Syntax Tree)原创 2023-03-24 11:05:26 · 109 阅读 · 0 评论 -
OceanBase存储引擎高级技术——内存数据落盘策略-合并和转储
LSM Tree(The Log-Structured Merge-Tree)核心特点是利用顺序写来提高写性能原创 2023-03-22 23:26:45 · 3014 阅读 · 0 评论 -
OBCP第二章 OB存储引擎高级技术
memory_limit的默认单位为MB例如,memory_limit='40G'表示设置OceanBase 数据库进程的使用内存上限40GB。场景1:memory_limit=0,因此由memory_limit_percentage确定observer内存大小,即100GB*80% = 80GB。场景2:memory_limit='90GB',因此observer内存上限就是90GB,memory_limit_percentage参数失效。租户可用的总内存 “observer内存上限”-“系统内部内存”原创 2023-03-21 16:44:26 · 279 阅读 · 0 评论 -
OBCP第一章:OB分布式架构高级技术
资源单元是资源分配的最小单元,同一个Unit不能跨节点(OBServer),每个租户在一台observer上只能有一个unit原创 2023-03-21 15:15:24 · 759 阅读 · 0 评论 -
第七章:OCP工具简介
OceanBase 云平台(OceanBase Cloud Platform,OCP)是以 OceanBase 为核心的企业级数据库管理平台。不仅对 OceanBase 集群和租户等组件提供全生命周期的管理服务,同时也对 OceanBase 相关的资源(主机、网络和软件包等)提供管理服务,让DBA能够更加高效地管理 OceanBase 集群,降低企业的IT运维成本。原创 2023-03-20 16:07:50 · 1795 阅读 · 0 评论 -
第六章:参数和变量
ODC 提供了可视化界面,可以清晰直观的查看与修改当前数 据库支持的变量。原创 2023-03-20 15:12:39 · 995 阅读 · 0 评论 -
第五章:OB Server的备份恢复
支持 OSS、NFS 和 COS 三种备份介质,提供了备份、恢复、管理三大功能。支持手动删除指定的备份和自动过期备份的功能 物理备份由数据备份和日志归档两个功能。数据备份指备份基线数据,包括全量备份和增量备份;日志归档指日志数据的自动归档功能。原创 2023-03-20 11:20:23 · 280 阅读 · 0 评论 -
第五章:OB Server的存储引擎
传统数据库有随机写、写放大等问题原创 2023-03-20 10:43:45 · 1391 阅读 · 0 评论 -
第五章:OB Server的SQL引擎
同一个集群,同时支持MySQL和Oracle原创 2023-03-16 14:10:49 · 638 阅读 · 0 评论 -
第四章:OceanBase集群技术架构(分布式事务、MVCC、事务隔离级别)
事务在修改数据或者查询数据的时候,无论请求源自哪台物理 机器,都会从这个集中式的服务处获取版本号,保证所有的版本号单调向前并且和真实世界的时间顺序保持一致。和传统的数据库的单点全共享架构不同,OceanBase是一个原生的分布式架构,采用了多点无共享的架构,在实现全局一致的快照隔离和多版本并发控制时,会面临分布式架构所带来的技术挑战。幻读:指的是在同一事务内,在操作过程中进行两次查询,第二次查询的结果包含了第一次查询中 未出现的数据或者缺少了第一次查询中出现的数据(期间被别的事务插入或者删除了数据)原创 2023-03-15 17:38:28 · 1920 阅读 · 0 评论 -
第四章:OceanBase集群技术架构(数据可靠及高可用)
OceanBase RPO=0 RTO原创 2023-03-15 15:33:09 · 1484 阅读 · 0 评论