摘要: 一、原理 CSN日志是数据库中用于记录事务提交顺序和事务状态的重要日志,为了解决高并发场景下获取快照时的性能瓶颈,引入CSN机制。CSN机制通过为每个非只读事务分配一个XID(事务号),并在事务提交时推进CSN,同时保存CSN与XID的映射关系在CSNLog中。 CSNLogControlLock等 阅读全文
posted @ 2024-07-26 11:06 KINGBASE研究院 阅读(263) 评论(0) 推荐(0)
摘要: 等待事件含义 Lock:在数据库管理系统中,锁是用来确保数据完整性和一致性的重要机制。当一个事务需要修改数据时,它会请求一个锁来防止其他事务同时修改相同的数据,从而导致数据不一致。 transactionid:这通常是一个唯一标识符,用于区分和跟踪数据库中的不同事务。每个事务都有一个唯一的ID,这样 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(349) 评论(0) 推荐(0)
摘要: 一、引言 WAL日志的目的:WAL(Write-Ahead Logging)是KingbaseES数据库中的一个关键特性,用于确保在数据库崩溃或故障后能够恢复数据。WAL日志记录了数据库的所有更改,这样即使数据库突然宕机,也可以从WAL文件中恢复数据到一致性状态。 命令的功能:sys_resetwa 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(292) 评论(0) 推荐(0)
摘要: 一、背景及理论阐述 某项目数据库系统是集群环境,主库业务卡顿,应用反馈部分业务无法正常进行。 在操作系统中,物理内存(RAM)是有限的资源,当内存需求超过物理内存的容量时,操作系统会使用页面调度机制来管理内存资源。页面调度涉及将不常用的内存页面(Page)移到磁盘上的交换空间(Swap Space) 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(284) 评论(0) 推荐(0)
摘要: KingbaseES 的PLSQL对象包括函数、存储过程、触发器、包、包体、对象类型、对象类型体和匿名块,其中匿名块即用即销,不具有状态属性,SQL中存在依赖的常见对象是表,视图,索引,自定义类型,自定义操作符等等。在使用编码过程会存在相互引用和被引用,就会导致对象的增删改无法“顺利”进行,本文针对 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(191) 评论(0) 推荐(0)
摘要: 本文详细介绍了KingbaseES中在兼容适配过程中,当遇到不支持的操作符,如何通过自定义方式解决兼容适配问题。 Kingbase自定义操作符语法和用例如下: 用例数据: create table demo(id numeric(10,5)); insert into demo values(1.1 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(236) 评论(0) 推荐(0)
摘要: 针对已有的列,如何修改为非空,并且指定默认值? 熟悉Oracle的DBA都知道,如果在将列从可空修改为非空时,必须确保已有的列不含有空值,如: SQL> create table tab01(id integer,name varchar(100),city varchar(100)); Table 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(257) 评论(0) 推荐(0)
摘要: 熟悉Oracle的DBA就知道,Oracle早期11g版本在增加非空列(default or not null default)时,需要回写表,也就是需要针对每一行的记录进行修改。Oracle12c 开始,修改或增加非空字段都无需更新数据表。对于KingbaseES ,增加非空列同样不需要更新数据, 阅读全文
posted @ 2024-07-26 11:05 KINGBASE研究院 阅读(120) 评论(0) 推荐(0)
摘要: 一、权限介绍 KingbaseES数据库中的权限控制主要分为两个层次:实例级别和数据库级别。实例级别的权限由sys_hba.conf文件控制,而数据库级别的权限则由数据库内部的权限系统控制。对于数据库以及实例的权限控制,这两者权限控制可以理解为粗粒度,细粒度。 实例级别权限:这主要通过sys_hba 阅读全文
posted @ 2024-07-26 11:04 KINGBASE研究院 阅读(310) 评论(0) 推荐(0)
摘要: 等待事件含义 IO:DataFileRead等待事件发生在会话连接等待后端进程从存储中读取所需页面,原因是该页面在共享内存中不可用或无法找到。 所有查询和数据操作(DML)操作都访问缓冲池中的页面,语句包括SELECT、UPDATE和DELETE等。例如,UPDATE可以从表或索引中读取页面。如果请 阅读全文
posted @ 2024-07-26 11:04 KINGBASE研究院 阅读(131) 评论(0) 推荐(0)