- 2025-01-08KES(KingBaseES)集群部署实战
今天我们将探讨关于KES(KingBaseES)的集群部署方案。作为示例,我们将以读写分离(RWC)集群为例,快速在本地进行部署和安装,并深入了解KES的部署流程。在本章中,我们将采用Windows平台上的可视化部署工具来进行集群的安装和配置。然而,由于硬件资源有限,本次演示仅展示单节点的成功部署,其他节
- 2024-12-23【金仓产品知多少】一文带您了解金仓读写分离集群KingbaseES RWC
产品简介金仓数据库管理系统读写分离集群软件(简称KingbaseESRWC)在金仓数据守护集群软件的基础上增加了对应用透明的读写负载均衡能力。相比数据守护集群,该类集群中所有备库均可对外提供查询能力,从而减轻了主库的读负载压力,可实现更高的事务吞吐率;该软件支持在多个备库间进行
- 2024-08-05KingbaseES RAC部署案例之---SAN环境构建RAC
案例说明:通过iscsi共享存储作为数据库存储文件系统,构建KingbaseESRAC架构。适用版本:KingbaseESV008R006C008M030B0010操作系统版本:[root@node201KingbaseHA]#cat/etc/centos-releaseCentOSLinuxrelease7.9.2009(Core)集群架构:如下所示,node1和node2为集群节点:
- 2024-07-26KingbaseES数据库禁止某用户连接到数据库
一、权限介绍KingbaseES数据库中的权限控制主要分为两个层次:实例级别和数据库级别。实例级别的权限由sys_hba.conf文件控制,而数据库级别的权限则由数据库内部的权限系统控制。对于数据库以及实例的权限控制,这两者权限控制可以理解为粗粒度,细粒度。实例级别权限:这主要通过sys_hba
- 2024-07-26KingbaseES 等待事件之DataFileRead
等待事件含义IO:DataFileRead等待事件发生在会话连接等待后端进程从存储中读取所需页面,原因是该页面在共享内存中不可用或无法找到。所有查询和数据操作(DML)操作都访问缓冲池中的页面,语句包括SELECT、UPDATE和DELETE等。例如,UPDATE可以从表或索引中读取页面。如果请求或更新的页
- 2024-07-26KingbaseES 数据库WAL日志暴增问题处理
故障现象:kingbase数据库容量不足100G,业务繁忙程度小,但是每天产生112283个WAL日志,每个日志16M,生成约1.7T的归档日志分析过程:思路一:从数据库日志入手,分析过程如下:sys_log日志:2024-06-0223:54:05.497CST3130361b580b0.7a47182242021-12-1212
- 2024-07-26KingbaseES V8R6等待事件之 lwlock: CSNLogControlLock
一、原理CSN日志是数据库中用于记录事务提交顺序和事务状态的重要日志,为了解决高并发场景下获取快照时的性能瓶颈,引入CSN机制。CSN机制通过为每个非只读事务分配一个XID(事务号),并在事务提交时推进CSN,同时保存CSN与XID的映射关系在CSNLog中。CSNLogControlLock等待事件通常表示某
- 2024-07-26KingbaseES V8R6等待事件之 lock: transactionid
等待事件含义Lock:在数据库管理系统中,锁是用来确保数据完整性和一致性的重要机制。当一个事务需要修改数据时,它会请求一个锁来防止其他事务同时修改相同的数据,从而导致数据不一致。transactionid:这通常是一个唯一标识符,用于区分和跟踪数据库中的不同事务。每个事务都有一个唯一的
- 2024-07-26KingbaseES 更改 WAL 日志文件大小
一、引言WAL日志的目的:WAL(Write-AheadLogging)是KingbaseES数据库中的一个关键特性,用于确保在数据库崩溃或故障后能够恢复数据。WAL日志记录了数据库的所有更改,这样即使数据库突然宕机,也可以从WAL文件中恢复数据到一致性状态。命令的功能:sys_resetwal命令用于重置WAL日志,它可以
- 2024-07-26KingbaseES 数据库无响应问题分析
一、背景及理论阐述某项目数据库系统是集群环境,主库业务卡顿,应用反馈部分业务无法正常进行。在操作系统中,物理内存(RAM)是有限的资源,当内存需求超过物理内存的容量时,操作系统会使用页面调度机制来管理内存资源。页面调度涉及将不常用的内存页面(Page)移到磁盘上的交换空间(SwapSpace
- 2024-07-26KingbaseES 对象状态规则总结
KingbaseES的PLSQL对象包括函数、存储过程、触发器、包、包体、对象类型、对象类型体和匿名块,其中匿名块即用即销,不具有状态属性,SQL中存在依赖的常见对象是表,视图,索引,自定义类型,自定义操作符等等。在使用编码过程会存在相互引用和被引用,就会导致对象的增删改无法“顺利”进行,本文
- 2024-07-26KingbaseES 自定义操作符使用示例
本文详细介绍了KingbaseES中在兼容适配过程中,当遇到不支持的操作符,如何通过自定义方式解决兼容适配问题。Kingbase自定义操作符语法和用例如下:用例数据:createtabledemo(idnumeric(10,5));insertintodemovalues(1.1);insertintodemovalues(0);insertintodemoval
- 2024-04-03KingbaseES 为什么select主键列不走索引
背景有客户提出一个问题。一个类似这样的SQL语句,selectcount(id)from为什么执行计划用全表扫,不用索引。id列上有主键。分析test=#explain(analyze,buffers)selectcount(id)fromt1;QUERYPLAN---------------
- 2024-04-03KingbaseES删除重复数据的方法
前言Oracle数据库去除重复数据方法一般根据rowid进行去重,KingbaseES数据库如何去重呢?可以根据ctid去重。我们使用大数据量测试,因为一般生产环境数据量还是蛮大的。测试创建一张测试表,并插入一定量的重复数据,数据量21万,其中重复数据1万。createtabledel(idint,namevarcha
- 2024-04-03如何查看KingbaseES数据库占用操作系统内存情况
当遇到数据库内存告警,并且操作系统内存使用不足,需要分析内存占用的方法。KingbaseES数据库使用操作系统缓存机制,大量的内存很可能被BUFFER/CACHE占用了。从free命令可以看到总共有2.5G多内存,使用了291MB,free剩下1.7GB多,BUFF/CACHE占了474MB。available有1.3GB多,当前这台数据库服
- 2024-04-03KingbaseES数据库权限简写说明
前言为了方便,我们测试环境经常使用system用户执行测试,它拥有最高权限。角色基本上是用户和组的概念。你可以以角色身份登录,并且一个角色可以属于另一个角色。每个角色都有一个类似的属性,指示你是否可以作为该角色登录,以及该角色是否从所属角色继承权限。你可以使用命令将角色添
- 2024-04-03KingbaseES复制冲突中谁阻塞walreplay
背景回顾一下流复制冲突相关参数:hot_standby_feedback:从库反馈给主库快照,主库vacuum时不回收最老快照之后产生的垃圾,注:备库长查询将导致主库表膨胀。vacuum_defer_cleanup_age:当触发vacuum时,延迟指定事务后触发。recovery_min_apply_delay:如果将此参数设置为5分钟,则只
- 2024-04-03KingbaseES 数据库创建索引慢的可能原因
1.表大小如果表太大,数据很多,索引创建的时候,会导致创建索引的时间很慢。如果表很大,可以考虑重新设计表结构或拆分表。还可以考虑使用分区表,使子分区的数据减少,创建分区表也可以使索引变小,增加索引创建速度,有助于查询效率。2.索引类型不同类型的索引建立的速度可能会有所不同,因
- 2024-04-03KingbaseES 数据库IO优化方向总结
前言数据库中的IO性能是优化中的重中之重,根据木桶原理,解决了IO这个最容易引起业务堵塞的问题,就能解决绝大部分性能问题。下面从几个方面总结一下I/O优化问题。第一,使用相对速度快的高性能存储设备。一般会考虑使用固态硬盘(SSD)或RAID阵列以获得更快的读写速度。高性能低
- 2024-03-29KingbaseES中的OID和ROWID
一,数据库中OID每个表都有几个系统字段,其中有一个比较特殊的系统字段OID,使用\d并不会显示,且默认情况下创建也不会有OID。---本文验证版本test=#selectversion();test-#/version---------------------KingbaseESV008R006C007B0024onx86_64-pc-linux-gnu,compiledby
- 2024-03-29KingbaseES行级安全策略
什么是行级安全策略(RLS)?行安全策略就是对不同用户,不同行数据的可见性,和可修改性。是表权限的一种扩展。默认情况下表没有任何安全策略限制。这样用户根据自身对表持有的权限来操作表数据,对于查询或更新来说其中所有的行都是平等的。当在一个表上启用行安全性时,所有对该表的操
- 2024-03-29KingbaseES Reindex concurrently过程
前言KES中我们经常遇到表膨胀情况,然而索引也会膨胀,随着业务DML语句的增长,稍不留神索引就会膨胀的很严重,膨胀后的索引只有VACUUMFULL才会真正释放磁盘空间,对于新构建的索引往往比更新的旧索引提供更好的访问性能。所以,我们需要重建膨胀的索引。REINDEX命令需要ACCESSEXCLUSIVE
- 2024-03-29KingbaseES 索引unusable的使用
前言KingbaseES中,索引不可用原则介绍oracle数据库中,如果索引不可用(unusable),在进行DML操作时,会触发报错:索引不可用。在KES中如果设置索引不可用,插入数据不会报错,因为当索引被置为不可用状态后,如果要重新启动索引需要rebuild索引,此时会在新索引中重新组织表tuple数据。insert