摘要: Hikari是一个高性能的数据库连接池,它是Spring Boot 2.x中的默认数据源。 一、下载驱动 打开下面网址:选择对应平台的jdbc驱动程序。 人大金仓-成为世界卓越的数据库产品与服务提供商 (kingbase.com.cn) 这里以x86平台为例: 下载完成后目录里面包含以下文件:根据项 阅读全文
posted @ 2023-09-18 16:17 KINGBASE研究院 阅读(478) 评论(0) 推荐(0)
摘要: 一、Activiti介绍 Activiti是一个轻量级的java开源BPMN 2工作流引擎.目前以升级至7.x,支持与springboot2.x集成. 二、项目环境 Spring Boot版本2.2.5 Activiti 版本 7.1.x 源数据库:MySQL 5.7 目标数据库:KinbgaseE 阅读全文
posted @ 2023-09-18 16:16 KINGBASE研究院 阅读(796) 评论(0) 推荐(0)
摘要: 案例说明: KingbaseES V8R6集群节点之间通过ssh或securecmdd工具通讯,默认节点之间通过公钥和私钥方式认证,可以密码通讯;在执行集群节点扩容时,出现以下故障,节点之间仍需要输入密码进行连接 : 适用版本: KingbaseES V8R6 一、问题分析 1、测试节点secure 阅读全文
posted @ 2023-09-18 16:15 KINGBASE研究院 阅读(122) 评论(0) 推荐(0)
摘要: 文章概要: 本文在https://www.cnblogs.com/kingbase/p/15703611.html 一文的基础上总结了Kingbase ES中函数能支持的return语句,整体上兼容oracle的基础上,也和PG语法一样。 同时列举了sqlserevr表值函数和代码故障案例。 一,关 阅读全文
posted @ 2023-09-18 16:15 KINGBASE研究院 阅读(365) 评论(0) 推荐(0)
摘要: 文章概要: KES的SQL的语法暂时不兼容oracle的自定义聚合函数的创建语法和流程,但是可以使用KES已支持的语法改写。 本文整理和简单解析了自定义聚合函数的原理和解读了范例代码。 并根据客户代码进行了改写。 一,oracle自定义聚合函数的简析 oracle的自定义聚合函数需要实现4个ODCI 阅读全文
posted @ 2023-09-18 16:15 KINGBASE研究院 阅读(188) 评论(0) 推荐(0)
摘要: 文章概要: 本文对主要就PLSQL的异常传播进行知识性小结,分为四个部分,PLSQL异常传播小结,编写小案例验证5种传播规则,示例了一个容易理解出错的案例,以及使用goto结合异常处理的案例。 一,异常传播规则 PLSQL块结构,典型如下: declare --声明区域 begin --执行区域 e 阅读全文
posted @ 2023-09-18 16:15 KINGBASE研究院 阅读(156) 评论(0) 推荐(0)
摘要: 1、整体思路 针对业务系统的出现的慢sql 我们的优化步骤大概分为以下几步 1、识别高负载语句 2、收集性能相关的数据 3、确定性能问题产生的原因 4、实施优化手段 下面我们针对这几个步骤展开进行讲解 1、识别高负载语句 金仓数据库 kingbase ES针对满语句识别有以下几个工具 • sys_s 阅读全文
posted @ 2023-09-18 16:15 KINGBASE研究院 阅读(773) 评论(0) 推荐(0)
摘要: 针对操作系统性能瓶颈的判断和排查是数据库优化工作的一项重要技能,尤其是针对实例整体优化 操作系统的性能瓶颈排查无外乎四个方面 CPU、内存、磁盘、网络 针对这四个方面整理了一些相关心得和大家分享。 在判断系统瓶颈之前首先我们要知道操作系统资源的极限值在哪里 收集系统信息 首先CPU 我们更关心的时C 阅读全文
posted @ 2023-09-18 16:14 KINGBASE研究院 阅读(182) 评论(0) 推荐(0)
摘要: 针对数据库的性能瓶颈排查方法分为两个层次1、实例级别性能问题排查 2、语句级别性能问题排查 实例级别 实例级别性能问题排查用来分析数据库实例整体是否存在性能瓶颈,然后根据排除出的疑似问题进行实例级别参数的优化。 使用场景包括 1、压测场景下数据库整体优化 2、上线之前数据库整体调优 3、业务整体响应 阅读全文
posted @ 2023-09-18 16:14 KINGBASE研究院 阅读(635) 评论(0) 推荐(0)
摘要: 数据库使用过成中,时常会遇到需要返回一个结果集的情况,如何返回一个结果集,以及如何选择一个合适的方式返回结果集,是现场经常需要考虑的问题。 下面介绍KingbaseES中各种返回结果集的方式。 1.通过自定义类型方式,返回结果集 -- 测试数据:创建自定义类型 CREATE TYPE rctype 阅读全文
posted @ 2023-09-18 16:14 KINGBASE研究院 阅读(273) 评论(0) 推荐(0)
摘要: 案例说明: KingbaseES V8R6集群,备库作为repo-path节点,建立类型为‘cluster’模式的备份,在执行sys_backup.sh init时,出现“can not find primary node”故障。故障如下图所示: 适用版本: KingbaseES V8R6 一、集群 阅读全文
posted @ 2023-09-18 16:14 KINGBASE研究院 阅读(296) 评论(0) 推荐(0)
摘要: 案例说明: 生产环境,在KingbaseES V8R6集群部署了postgis后,执行‘sys_monitor.sh start’启动集群时,出现动态库加载错误,如下所示: [kingbase@ecs-98no-0001 bin]$ ./sys_monitor.sh restart awk: sym 阅读全文
posted @ 2023-09-18 16:14 KINGBASE研究院 阅读(320) 评论(0) 推荐(0)
摘要: 案例说明: 默认在部署securecmdd工具后,在配置文件securecmdd_config中配置参数usePAM=yes,在有的系统主机环境,会导致securecmd客户端连接失败。 适用版本: KingbaseES V8R6 操作系统: 一、问题现象 通过securecmd客户端连接secur 阅读全文
posted @ 2023-09-18 16:13 KINGBASE研究院 阅读(651) 评论(0) 推荐(0)
摘要: 案例说明: KingbaseES V8R3集群主库数据库服务重启后,failover切换失败,分析failover失败的具体原因。 适用版本: KingbaseES V8R3 一、集群架构 node13 >主库(primary) node25 >管理备库(standby) node58 >备库(st 阅读全文
posted @ 2023-09-18 16:13 KINGBASE研究院 阅读(149) 评论(0) 推荐(0)
摘要: 案例说明: 通过案例描述KingbaseES V8R3集群异步、同步及全同步强一致性配置,本案例为一主二备的架构。 适用版本: KingbaseES V8R3 集群架构: 集群复制配置参数说明: 1)sync_flag [kingbase@node101 bin]$ cat ../etc/HAmod 阅读全文
posted @ 2023-09-18 16:13 KINGBASE研究院 阅读(254) 评论(0) 推荐(0)
摘要: 案例说明: 对KingbaseES V8R3集群,主库数据库服务down后,failover切换进行分析,详解其执行切换的过程,本案例可用于对KingbaseES V8R3集群failover故障的分析参考。 适用版本: KingbaseES V8R3 集群架构: node_id | hostnam 阅读全文
posted @ 2023-09-18 16:13 KINGBASE研究院 阅读(140) 评论(0) 推荐(0)
摘要: 案例说明: 在KingbaseES V8R6数据库通常备份建立的crond任务,默认由root用户建立,写入到/etc/cron.d/KINGBASECRON文件中,在有的生产环境限制了普通用户使用root的权限,创建计划任务可能失败,新的KingbaseES V8R6版本,将计划任务由数据库用户创 阅读全文
posted @ 2023-09-18 16:13 KINGBASE研究院 阅读(145) 评论(0) 推荐(0)
摘要: 案例说明: 在openEuler系统下通过脚本方式部署KingbaseES V8R6集群,脚本执行过程中,加载vip失败。本次故障问题,主要是因为openEuler系统shell和部署脚本的兼容性引起。 适用版本: KingbaseES V8R6 系统环境: openEuler-22.03-LTS 阅读全文
posted @ 2023-09-18 16:13 KINGBASE研究院 阅读(192) 评论(0) 推荐(0)
摘要: **案例说明:** sys_restore用于sys_dump备份的数据恢复,在实际的应用中有需求,将从sys_dump备份对象从原schema中转换到到另外的schema,sys_restore支持此需求的实现,但在应用中需要注意参数的使用。 **适用版本:** ` KingbaseES V8R6 阅读全文
posted @ 2023-09-18 16:12 KINGBASE研究院 阅读(611) 评论(0) 推荐(0)
摘要: KingbaseES V8R6集群运维案例之 sys_backup.sh init ‘xxxx invalid’故障 案例说明 在KingbaseES V8R6集群sys_backup.sh在cluster模式下执行备份初始化,出现 ‘xxxx invalid’故障。 适用版本: KingbaseE 阅读全文
posted @ 2023-09-18 16:08 KINGBASE研究院 阅读(69) 评论(0) 推荐(0)
摘要: KingbaseES V8R6集群案例 一主二备架构单个备库宕机事务影响测试 案例说明: 对于KingbaseES V8R6集群,在sync模式下,对于一主一备架构,如果备库宕机时,主库事务commit,会被hang住,在wal_sender_timeout参数(默认60s)超过阈值后,sync转为 阅读全文
posted @ 2023-09-18 16:07 KINGBASE研究院 阅读(110) 评论(0) 推荐(0)
摘要: KingbaseES V8R6集群部署案例之 脚本部署节点环境检查故障 案例说明: KingbaseES V8R6集群在部署前会对集群节点系统环境进行检测,检测失败后,将中断部署;其中一个检测项,检测节点上是否已经存在数据库服务。如果已经存在数据库服务,则部署将会中断。 适用版本: Kingbase 阅读全文
posted @ 2023-09-18 16:05 KINGBASE研究院 阅读(116) 评论(0) 推荐(0)
摘要: kingbaseES V8R3集群运维案例之 集群部署前后ssh端口修改 案例说明: kingbaseES V8R3集群部署读写分离的集群是使用ssh的默认端口(22)部署,当改为非默认端口时,在部署中或部署后会因kingbasecluster脚本ssh的连接而失败,现提出以下解决方案。 适用版本: 阅读全文
posted @ 2023-09-18 15:57 KINGBASE研究院 阅读(166) 评论(0) 推荐(0)
摘要: KingbaseES V8R6集群运维案例之 securecmd连接需要密码问题 案例说明: 在KingbaseES V8R6集群可以使用securecmdd代替sshd实现集群主机节点间的通讯,securecmdd通讯认证采用非对称加密方式(公钥和私钥),客户端连接服务器不需要输入密码认证身份,如 阅读全文
posted @ 2023-09-18 15:56 KINGBASE研究院 阅读(186) 评论(0) 推荐(0)
摘要: KingbaseES集群运维案例之 主备库failover后auto-recovery机制 案例说明: KingbaseES集群,在备库数据库服务down后,可以实现节点数据库服务的自动恢复;在集群触发failover的主备切换后,实现原主库自动被recovery为备库,重新加入到集群。对于King 阅读全文
posted @ 2023-09-18 15:54 KINGBASE研究院 阅读(231) 评论(0) 推荐(0)
摘要: 案例说明: 客户端访问KingbaseES数据库,需要建立身份的认证,sys_hba.conf相当于认证的黑白名单,可以通过配置sys_hba.conf允许或拒绝客户端对数据库服务器的访问。本案例通过配置sys_hba.conf描述在常见的生产案例中如何限制对集群的访问。 sys_hba.conf原 阅读全文
posted @ 2023-09-18 15:54 KINGBASE研究院 阅读(1170) 评论(0) 推荐(0)
摘要: KingbaseES V8R6集群运维案例--cluster模式备份sys_backup.sh init故障 案例说明: 通过脚本方式部署KingbaseES V8R6集群后,在‘cluster’模式备份,执行sys_backup.sh init时,出现“cannot contain // for 阅读全文
posted @ 2023-09-18 15:49 KINGBASE研究院 阅读(155) 评论(0) 推荐(0)
摘要: KingbaseES V8R6集群运维案例之 访问系统表‘unrecognized token: "false"’故障 案例说明: KingbaseES V8R6集群在升级补丁后,主备库访问系统表出现‘unrecognized token: "false"’故障,如下图所示: 适用版本: Kingb 阅读全文
posted @ 2023-09-18 15:48 KINGBASE研究院 阅读(150) 评论(0) 推荐(0)
摘要: KingbaseES V8R6运维案例之 数据库resetwal后启动失败 案例说明: KingbaseES V8R6集群触发failover切换后,原主库自动recovery失败,现在需要将原主库启动为单实例的数据库运行,在执行了resetwal后,启动数据库失败。sys_log记录以下故障信息: 阅读全文
posted @ 2023-09-18 15:46 KINGBASE研究院 阅读(282) 评论(0) 推荐(0)
摘要: KingbaseES V8R6运维案例之 数据库连接访问故障分析 案例说明: 在部署KingbaseES V8R6后,正常启动数据库服务,但是通过ksql连接数据库服务访问时,出现连接到postgresql socket的错误提示,如下图所示: 适用版本: KingbaseES V8R6 一、问题分 阅读全文
posted @ 2023-09-18 15:46 KINGBASE研究院 阅读(412) 评论(0) 推荐(0)
摘要: 案例分析: 在KingbaseES V8R6集群部署时,需要建立节点之间ssh互信(或者使用securecmdd工具),在有的生产环境,为了安全起见会修改ssh的默认端口;KingbaseES V8R6集群部署提供了脚本用于创建ssh互信,如果修改了系统的ssh端口号后,也需要修改对应的脚本。 适用 阅读全文
posted @ 2023-09-18 15:36 KINGBASE研究院 阅读(144) 评论(0) 推荐(0)
摘要: 1、group by 分组语句 在SQL中group by主要用来进行分组统计,分组字段放在group by的后面;分组结果一般需要借助聚合函数实现。 group by语法结构 1、常用语法 语法结构 SELECT column_name1,column_name2, … 聚合函数1,聚合函数2 , 阅读全文
posted @ 2023-09-18 15:19 KINGBASE研究院 阅读(641) 评论(0) 推荐(0)
摘要: 首先介绍一下sm4 算法 SM4 算法是对称加密算法,国标 GB/T 32907 对 SM4 对称加密算法进行了详细描述。SM4 算法密钥长度固定为128bit,加密解密采用相同的密钥,加解密速度较快,优于AES算法。 SM4算法首先将加密信息进行分组,分组后通过异或、S盒变换、移位等操作进行分组明 阅读全文
posted @ 2023-09-18 15:17 KINGBASE研究院 阅读(975) 评论(0) 推荐(0)
摘要: IO 资源作为目前服务器中最昂贵的资源之一,是目前绝大部分业务系统主要的瓶颈资源,原因就在于服务器相关的硬件资源中IO资源的性能提升是难度最大的。存储的发展步伐远低于内存和CPU的发展。 在数据库管理系统中,IO是十分宝贵的,所以在数据库管理系统中我们希望操作尽可能在内存中完成,如果在一次事务中发生 阅读全文
posted @ 2023-09-18 15:16 KINGBASE研究院 阅读(204) 评论(0) 推荐(0)
摘要: 今天遇到一个性能问题,再调优过程中发现耗时最久的计划是exist 部分涉及的三个表。 然后计划用left join 来替换exist,然后查询了很多资料,大部分都说exist和left join 性能差不多。 为了验证这一结论进行了如下实验 步骤如下 1、创建测试表 drop table app_f 阅读全文
posted @ 2023-09-18 15:13 KINGBASE研究院 阅读(409) 评论(0) 推荐(0)
摘要: 文章概要: 某项目将数据从 SQLSERVER 迁移到 KES。其中SQLSERVER中触发器用到了 TRIGGER_NESTLEVEL() 函数,KES并不能直接支持该函数。 起初在分析该问题时想复杂了本文做了一次记录。实际上在kes兼容sqlsevrer基础语法,直接简单使用SYS_TRIGGE 阅读全文
posted @ 2023-09-18 14:40 KINGBASE研究院 阅读(115) 评论(0) 推荐(0)
摘要: 前言 本文介绍游标在PLSQL和SQL层跨事务使用案例,及其案例一则。 本文验证版本: db0=# select version(); db0-# / version KingbaseES V008R006C007B0024 on x86_64-pc-linux-gnu, compiled by g 阅读全文
posted @ 2023-09-18 14:26 KINGBASE研究院 阅读(110) 评论(0) 推荐(0)
摘要: 文章概要: 本文对主要就KES和Oracle的PLSQL中关于存储过程参数模式异同进行介绍,列举和验证了存在的差异 (如果想直接看差异的结论可直接跳到末尾)。 一,存储过程的三种参数模式 重新回顾一下,PLSQL中存储过程的三种参数模式IN、OUT、INOUT 1,IN参数模式,也是默认的模式,在存 阅读全文
posted @ 2023-09-18 14:24 KINGBASE研究院 阅读(218) 评论(0) 推荐(0)
摘要: 文章概要: 基于前面的博文《Kingbase ES 自定义聚合函数和一次改写案例》这篇文章,我们只考虑了自定义聚合函数非并行的情况, 因此,本篇文章将着重解析一下使用PLPGSQL编写并行聚合函数,同时对比了非并行聚合函数的运行效果。 一,KES自定义聚合函数入门解析 如同前面的文章,KES能支持的 阅读全文
posted @ 2023-09-18 14:23 KINGBASE研究院 阅读(125) 评论(0) 推荐(0)
摘要: 目的 本文目的实现汉字首字母排序。 排序规则和字符集的关系如下。 select sys_encoding_to_char(collencoding) as encoding,collname,collcollate,collctype from sys_collation ; 按照UTF8字符集匹配 阅读全文
posted @ 2023-09-18 14:14 KINGBASE研究院 阅读(268) 评论(0) 推荐(0)
摘要: 自定义表空间的作用 使用多个表空间可以更灵活地执行数据库操作。当数据库具有多个表空间时,您可以: 1、将用户数据与系统表数据分开存储在不同性能的存储上,以减少I/O争用。 2、将一个应用程序的数据与另一个应用程序的数据分开,以防止在必须使表空间脱机时多个应用程序受到影响。 3、将不同表空间的数据文件 阅读全文
posted @ 2023-09-18 13:53 KINGBASE研究院 阅读(630) 评论(0) 推荐(0)
摘要: 背景 数据库日志有如下提示: WARNING: skipping "pivot_t1" only table or database owner can vacuum it 从提示可以看出,有用户对表pivot_t1进行vacuum操作时,出现了权限问题。 测试 TEST=# \c - ud; Yo 阅读全文
posted @ 2023-09-18 13:47 KINGBASE研究院 阅读(118) 评论(0) 推荐(0)
摘要: 背景 我们经常遇到两种情况下会重建索引,reindex 1、索引崩溃,由于软件或硬件问题导致索引内数据失效而不可用。 2、索引膨胀,当索引膨胀会占用过多磁盘空间,reindex可以解决此问题。 对于临时表和全局临时表而言,临时表可以进行reindex操作,而全局临时表不能进行此操作,原因是全局临时表 阅读全文
posted @ 2023-09-18 13:39 KINGBASE研究院 阅读(117) 评论(0) 推荐(0)
摘要: 前言 KingbaseES具有丰富的索引功能,对于运行一段时间的数据库,经常需要查看索引的使用大小,使用状态等。 尤其重复索引的存在,有时会因为索引过多而造成维护成本加大和减慢数据库的运行速度。 下面是经常使用的查看索引的sql。 1.查看表上索引个数,是否唯一,表与索引大小。 SELECT CON 阅读全文
posted @ 2023-09-18 13:38 KINGBASE研究院 阅读(1045) 评论(0) 推荐(0)
摘要: 前言 本文讨论一下KingbaseES数据库中如何计算数据库连接耗时。有这样一个场景,不借助第三方工具,在数据库服务端计算1000个数据库连接的总耗时,并取得每个连接耗时的平均值。怎样实现呢?我们可以借助kbbench工具。这是Kingbase数据库自带的一款客户端工具。 kbbench介绍 kbb 阅读全文
posted @ 2023-09-18 13:35 KINGBASE研究院 阅读(110) 评论(0) 推荐(0)
摘要: 前言 本文讨论在KingbaseES数据库服务器中批量加载数据的方法,以及空数据库中的初始数据加载和增量数据加载的最佳做法。 批量加载方法 以下数据加载方法按照从最耗时到最不耗时的顺序排列: 1.运行单记录 INSERT 命令。 2.在每次提交中分批成 100 到 1000 行。可以使用事务块在每次 阅读全文
posted @ 2023-09-18 13:34 KINGBASE研究院 阅读(358) 评论(0) 推荐(0)
摘要: 前言 队列理论在我们生活中的应用随处可见,例如我们去食堂打饭需要排队,我们生活中随处可见排队的场景。 在计算机领域中,性能诊断等地方使用队列理论的案例也很多。服务器硬件分为动态设备和静态设备。CPU和IO子系统属于动态设备,RAM属于静态设备,队列理论只对动态设备适用。 KingbaseES数据库中 阅读全文
posted @ 2023-09-18 13:33 KINGBASE研究院 阅读(151) 评论(0) 推荐(0)
摘要: 前言 数据库正常运行离不开I/O的使用,在操作系统上,I/O又离不开存储的性能及使用方式,我们可以在存储层利用raid条带化技术使IOPS达到最佳性能。 本篇文章有助于确认数据库I/O使用率过高的原因 ,以及解决方法。 确定I/O使用率过高的原因 1.需要数据库内置的sys_stat_stateme 阅读全文
posted @ 2023-09-18 13:32 KINGBASE研究院 阅读(205) 评论(0) 推荐(0)
摘要: 测试用户登录失败自动锁定 创建用户tee并授权。 TEST=# create user tee; CREATE ROLE TEST=# alter user tee with createdb; ALTER ROLE TEST=# TEST=# alter user tee with creater 阅读全文
posted @ 2023-09-18 13:32 KINGBASE研究院 阅读(520) 评论(0) 推荐(0)
摘要: 一、背景 在生产环境中,慢查询不仅影响系统、业务的正常处理。同时严重影响用户的使用感受。 二、表相关信息 2.1 表结构及索引: Table "yktcore.t_dtl_ymt" 栏位 | 类型 | 校对规则 | 可空的 | 预设 + + + + sys_sett_date | character 阅读全文
posted @ 2023-09-18 11:39 KINGBASE研究院 阅读(466) 评论(0) 推荐(0)
摘要: KingbaseES数据库使用kdb_database_link扩展常见问题 kdb_database_link主要功能是为了满足@link语法的适配,让用户应用的代码能够适用于更宽泛的产品而无需在移植时大量修改。 支持连接管理,在适当的时候关闭连接减少远程数据库的资源开销。 支持远程表(视图、物化 阅读全文
posted @ 2023-09-18 11:35 KINGBASE研究院 阅读(808) 评论(0) 推荐(0)