当前位置: 首页 > news >正文

异构数据库兼容力测评:KingbaseES 与 MySQL 的语法・功能・性能全场景验证解析

一、安装kingbase(mysql兼容版)

下载地址:https://www.kingbase.com.cn/download.html

下载安装包和授权文件
在这里插入图片描述
在这里插入图片描述
检查系统基本信息

[root@localhost ~]# cat /etc/os-release
[root@localhost ~]# free -m
[root@localhost ~]# df -hl

在这里插入图片描述

配置内核参数

[root@localhost ~]# vi /etc/sysctl.conf
添加以下内容
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
[root@localhost ~]#sysctl -p

在这里插入图片描述
设置系统资源限制

[root@localhost ~]# vi /etc/security/limits.conf
添加以下内容
* soft nofile 65536
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
* soft core unlimited
* hard core unlimited

创建数据库专用安装用户

[root@localhost ~]# useradd -m kingbase
[root@localhost ~]# passwd kingbase #这里密码要输入强密码

创建安装目录

[root@localhost ~]# sudo mkdir -p /opt/Kingbase/ES/V9
[root@localhost ~]# sudo chown -R kingbase:kingbase /opt/Kingbase/ES/V9
[root@localhost ~]# sudo chmod -R 755 /opt/Kingbase/ES/V9
[root@localhost ~]# mkdir -p /opt/Kingbase/ES/V9/data
[root@localhost ~]# sudo chown -R kingbase:kingbase /opt/Kingbase/ES/V9/data
[root@localhost ~]# sudo chmod -R 755 /opt/Kingbase/ES/V9/data

创建数据目录

[root@localhost ~]# sudo mkdir -p /data/kingbase
[root@localhost ~]# sudo chown -R kingbase:kingbase /data/kingbase
[root@localhost ~]# sudo chmod -R 750 /data/kingbase

挂载安装包

[root@localhost ~]# mkdir -p /mnt/kingbase
[root@localhost ~]# mount KingbaseES_V009R003C011B0003_Lin64_install.iso /mnt/kingbase/

命令行安装步骤

[root@localhost ~]# su - kingbase
[kingbase@localhost ~]$ cd /mnt/kingbase
[kingbase@localhost kingbase]$ sh setup.sh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里授权文件要给kingbase的权限,要不然会报错
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@localhost V9]# /opt/Kingbase/ES/V9/install/script/root.sh

在这里插入图片描述
在这里插入图片描述
到这里就完成安装了
查看服务状态

[kingbase@localhost kingbase]$ ps -ef | grep kingbase

在这里插入图片描述

[kingbase@localhost kingbase]$ /opt/Kingbase/ES/V9/Server/bin/sys_ctl -w start -D /data/kingbase/ #启动数据库
[kingbase@localhost kingbase]$ /opt/Kingbase/ES/V9/Server/bin/sys_ctl stop -m fast -w -D /data/kingbase/#停止数据库

登录数据库

[kingbase@localhost kingbase]$ /opt/Kingbase/ES/V9/Server/bin/ksql -p 54321 -U system -d kingbase

在这里插入图片描述
在这里插入图片描述

二、测试兼容性

创建测试数据

-- 1. 创建customers表
CREATE TABLE customers (id INT PRIMARY KEY,name VARCHAR(50),credit DECIMAL(10,2)
);-- 2. 创建orders表
CREATE TABLE orders (id INT PRIMARY KEY,cust_id INT REFERENCES customers(id),status VARCHAR(20),amount DECIMAL(10,2)
);-- 3. 插入测试数据
INSERT INTO customers (id, name, credit) VALUES
(1001, 'Alice', 5000.00),
(1002, 'Bob', 3000.00);INSERT INTO orders (id, cust_id, status, amount) VALUES
(2001, 1001, 'pending', 100.00),
(2002, 1001, 'pending', 200.00),
(2003, 1002, 'shipped', 150.00);

(1)金仓数据库:
在这里插入图片描述

kingbase=# show tables;

(2)MySQL数据库

在这里插入图片描述
一、验证多表更新兼容性

-- 验证多表更新兼容性
UPDATE orders o, customers c
SET o.status = 'shipped', c.credit = c.credit - o.amount
WHERE o.cust_id = c.id AND o.id = 2001;-- 检查更新结果
SELECT * FROM orders WHERE id = 2001;
SELECT * FROM customers WHERE id = 1001;

(1)金仓数据库
在这里插入图片描述
(2)MySQL数据库
在这里插入图片描述
二、INSERT IGNORE语句
金仓和MySQL数据库上创建测试数据

CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO users (id, name) VALUES (1, 'Alice');

执行INSERT IGNORE语句

INSERT IGNORE INTO users (id, name) VALUES (1, 'Alice'), (1, 'Bob') ;

(1)金仓数据库
在这里插入图片描述
(2)MySQL数据库
在这里插入图片描述

三、LIMIT语句

UPDATE customers
SET credit = 5000.00
WHERE id = 1001
LIMIT 2;

(1)金仓数据库
在这里插入图片描述
(2)MySQL数据库
在这里插入图片描述
四、INSERT ON DUPLICATE KEY UPDATE语句

-- 测试UPSERT功能(冲突时更新)
INSERT INTO users (id, name) VALUES (1, 'Bob') 
ON DUPLICATE KEY UPDATE name = 'Updated';-- 验证更新结果
SELECT * FROM users WHERE id=1;

(1)金仓数据库
在这里插入图片描述
(2)MySQL数据库
在这里插入图片描述
五、REPLACE INTO语句

-- 测试替换插入
REPLACE INTO users (id, name) VALUES (2, 'Charlie'), (1, 'Replaced');-- 验证结果
SELECT * FROM users ORDER BY id;

(1)金仓数据库
在这里插入图片描述

(2)MySQL数据库
在这里插入图片描述
六、LOAD DATA INFILE 语句

LOAD DATA INFILE '/data/kingbase/t.txt' INTO TABLE t;

在这里插入图片描述

(1)金仓数据库
在这里插入图片描述
(2)MySQL数据库
在这里插入图片描述
七、GROUP BY WITH ROLLUP语句

CREATE TABLE sales (region VARCHAR(20),product VARCHAR(20),year INT,month INT,amount DECIMAL(10,2)
);INSERT INTO sales (region, product, year, month, amount) VALUES
('North', 'Phone', 2023, 1, 1000.00),
('North', 'Phone', 2023, 2, 1500.00),
('North', 'Laptop', 2023, 1, 2000.00),
('North', 'Laptop', 2023, 2, 2500.00),
('South', 'Phone', 2023, 1, 800.00),
('South', 'Phone', 2023, 2, 1200.00),
('South', 'Tablet', 2023, 1, 1500.00),
('South', 'Tablet', 2023, 2, 1800.00),
('East', 'Phone', 2023, 1, 900.00);

测试语句

SELECT year, month, product,SUM(amount) AS total_sales,COUNT(*) AS transactions
FROM sales
GROUP BY year, month, product WITH ROLLUP;

(1)金仓数据库
在这里插入图片描述
在这里插入图片描述
(2)MySQL数据库
在这里插入图片描述

http://www.dtcms.com/a/335184.html

相关文章:

  • MySQL性能优化:10个关键参数调整指南
  • ISO27001 高阶架构 之 支持 -2
  • 概率论基础教程第3章条件概率与独立性(三)
  • 从频繁告警到平稳发布:服务冷启动 CPU 风暴优化实践00
  • implement libwhich for Windows
  • 全面解析Tomcat生命周期原理及其关键实现细节
  • 牛 CDR3 单抗:抗病毒领域的 “纳米级精准导弹”
  • 掌握长尾关键词优化SEO技巧
  • [创业之路-550]:公司半年度经营分析会 - 常见差距与根因分析示例
  • Hugging Face 与 NLP
  • 【JavaEE】(13) Spring Web MVC 入门
  • (论文速读)低光照图像增强综述(一)
  • Web全栈项目中健康检查API的作用(现代云原生应用标准实践)(health check、healthcheck、livenessProbe、健康探针)
  • 从舒适度提升到能耗降低再到安全保障,楼宇自控作用关键
  • 机器学习——PCA算法
  • 《软件工程导论》实验报告五 设计建模工具的使用(一)类图
  • 单目 BEV有哪些开源项目
  • redis基本类型之哈希
  • 《后室Backrooms》中文版,购物误入异空间,怪物追逐,第一人称冒险逃生
  • 模版模版模版
  • 类的生命周期与加载过程
  • 地理信息系统教程(汤国安老师书)—— 第二章课后习题
  • 掌握提示词工程:让大模型更懂你的需求
  • vue:vue3 watch 属性
  • Nacos Server 3.0.x安装教程
  • JAVA面试汇总(四)JVM(一)
  • 软件包管理-源代码安装
  • GaussDB 数据库架构师修炼(十三)安全管理(4)-数据库审计
  • Win11更新0x80073712错误解决方法
  • 优雅草星云物联网项目私有化定制技术解析:RS485接口与工业通讯协议-优雅草卓伊凡