Oracle迁移实战:从兼容性挑战到平滑过渡金仓数据库的解决方案

**摘要:**本文深入探讨Oracle迁移至国产金仓数据库的实践方案,重点分析三大核心挑战:语法兼容性差异、迁移隐性成本和连接适配问题。通过实际案例展示金仓KES的Oracle兼容模式如何实现95%以上代码自动转换,包括存储过程、JSON处理等典型场景的解决方案。文章详细演示了从建表到复杂查询的完整代码示例,并分享迁移评估工具KDMS的使用方法和性能优化技巧。某金融机构案例显示,迁移后兼容性达98.5%,性能达Oracle的90%,成本降低70%。金仓数据库通过完善工具链实现平滑迁移,为信创转型提供可靠技术支撑。

作为从业十余年的资深DBA,我亲历了无数次的数据库迁移项目,其中Oracle到国产数据库的迁移无疑是当前最热门且最具挑战性的任务。在信创战略持续推进的背景下,数据库国产化已从"可选项"转变为"必选项",但这一过程中企业面临着诸多痛点。

一. 下载安装部署

准备硬件:4核CPU、8GB内存和50GB存储空间

**准备软件:**KingbaseES支持通用X86_64、飞腾、鲲鹏、龙芯、申威等国产CPU硬件体系架构。 KingbaseES支持主流的64位Linux操作系统,如银河麒麟、中标麒麟、统信、欧拉、凝思、Deepin、中科方德、CentOS、Ubuntu等。

完成环境准备后,我们就可以开始正式安装KingbaseES数据库了。本文将详细介绍从获取安装包到初始化配置的完整过程。

1.1 官方下载linux镜像

访问电科金仓官网(KES-电科金仓官网),KingbaseEs数据库安装包(Oracle兼容)-->V9R1C10(Oracle兼容版) --> X64 Linux-->下载KingbaseES_V9R001C010B0003_Lin64_install.iso镜像,如下所示:

下载完成之后上传到自己要安装的服务器上,我这里的Ubuntu服务器,如下所示:

1.2 授权文件对比

对于下载的文件,建议进行完整性校验,以确保文件在传输过程中没有损坏:

bash 复制代码
# 计算下载文件的MD5校验和
md5sum /mnt/tools/kingbase/KingbaseES_V009R001C010B0003_Lin64_install.iso
# 计算下载文件的SHA1校验和
sha1sum /mnt/tools/kingbase/KingbaseES_V009R001C010B0003_Lin64_install.iso

我这里是md5验证,获取的值:2ce383a9047cf9f8e4d6fe59946ad2ed 跟官网对比

将计算结果与官网提供的校验值进行比对,确保完全一致后再进行后续操作。

1.3 挂载安装包

ISO格式的安装包需要先挂载才能访问其中的安装文件:

bash 复制代码
cd /mnt/tools/kingbase

mount KingbaseES_V009R001C010B0003_Lin64_install.iso ./KingbaseESV9

如上图所示,挂载安装包报错了,不用慌,是因为没有创建 KingbaseEsv9目录,创建之后重新执行即可。

bash 复制代码
mkdir -p ./KingbaseEsv9

1.4 开始启动安装程序

命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。您可以执行如下命令查看操作系统的语言设置:

bash 复制代码
echo $LANG

如果系统显示值包含"zh_CN",则为中文语言,安装程序会显示中文内容。否则,您可以执行如下命令修改语言设置为中文:

bash 复制代码
# 中文UTF-8
export LANG=zh_CN.UTF-8

# 英文UTF-8
export LANG=zh_US.UTF-8

特别注意:这里一定要查看自己系统的编码,不然后面安装的时候选择这个字符串没有,我亲自体验安装没有这个字符串,快安装完了提示报错(如下图所示),眼泪都要下来了,然后我重头来一次才安装成功。我这里的系统ubuntu,我这里设置伟en_US.UTF-8比较合适,因为中文有乱码不太适合,根据自己服务器情况选择。

进入到对应目录,开始运行安装

bash 复制代码
# 进入您挂载的安装包目录
cd /mnt/tools/kingbase/KingbaseESV9
# 再次执行安装命令
./setup.sh -i console

这里又报错了,遇到了一个常见的安装问题:KingbaseES 安装程序要求使用非 root 用户运行。这是出于安全和管理权限的考虑。别担心,这个问题很容易解决。

1、在 Linux 系统上,为数据库服务创建独立的用户是一个好习惯,如果上面已经创建了用户请授权后直接使用。

bash 复制代码
# 创建用户组
groupadd kingbase
# 创建用户并指定主组,同时创建家目录
useradd -g kingbase -m kingbase
# 为kingbase用户设置密码(请使用强密码)
passwd kingbase

系统会提示您输入并确认新密码,对应着操作即可。

2、将安装目录和数据目录的所有权赋予新创建的 kingbase 用户,确保该用户有足够的权限进行安装和写入数据。

bash 复制代码
# 假设您计划的安装目录是 /opt/Kingbase/ES/V9,数据目录是 /kingbase/data
mkdir -p /opt/Kingbase/ES/V9
mkdir -p /kingbase/data
# 更改目录所有者
chown -R kingbase:kingbase /opt/Kingbase
chown -R kingbase:kingbase /kingbase

3、切换到 kingbase 用户进行安装:

bash 复制代码
# 切换到 kingbase 用户,'-' 表示同时切换环境变量
su - kingbase

4、切换到 kingbase 用户后,再次进入安装脚本所在目录并执行安装命令。

bash 复制代码
# 进入您挂载的安装包目录
cd /mnt/tools/kingbase/KingbaseESV9
# 再次执行安装命令
./setup.sh -i console

1.5 接受许可协议

输入quit,按<ENTER>退出安装;

输入back,按<ENTER>返回前一屏幕;

直接按<ENTER>进行下一步操作。

若无特殊说明,以下各步骤皆与此相同。

1.6 安装包选择

如下图所示,看自己情况选择,新手推荐安装1全部

1.7 安装目录和数据目录设置

如上图所示,又遇到问题了,芭比Q了,不用慌,这是安装KingbaseES V9时遇到了许可证(license)文件路径的问题。错误信息表明安装程序期望一个具体的license文件,但您提供的 /opt/Kingbase/ES/V9 是一个目录路径。

回到官网这里下载对应的授权文件,然后上传到自己服务器对应的目录

然后继续执行,注意这里要指定bat文件,不能只到文件文件夹,如下图所示:

bash 复制代码
/opt/Kingbase/ES/V9/license.dat

第一次是上面命令,我这里第二次安装文件是:/data/Kingbase/ES/V9/license.dat

数据存储目录设置:注意这个目录一定要是空文件夹,我第一次安装目录是/kingbase/data

我重新安装目录是:/data/Kingbase/data

1.8 初始化数据库

默认端口:54321(可自定义)

默认账户为:system(可自定义)

密码(自定义)

默认字符集编码为:UTF8(可选 default、GBK、GB2312、GB18030)

  • 区域,可选值将随字符集编码选项发生变动。

    • 当字符集编码为 default 时,默认区域值为:default(可选 C)

    • 当字符集编码为 UTF8 时,默认区域值为:zh_CN.UTF-8(可选 en_US.UTF-8、C)

    • 当字符集编码为 GBK 时,默认区域值为:zh_CN.GBK(可选 C)

    • 当字符集编码为 GB2312 时,默认区域值为:zh_CN.GB2312(可选 C)

    • 当字符集编码为 GB18030 时,默认区域值为:zh_CN.GB18030(可选 C)

  • 默认大小写敏感为:是(可选否)

  • 默认数据块大小为:8k(可选16k、32k)

  • 默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)

  • 自定义参数(自定义),可自由输入任何值,作为初始化数据库的参数

    有关数据库初始化参数,详情可见《KingbaseES服务器应用参考手册》第2章

    自定义特殊参数:(如果输入值包含以下某一项,请注意特殊情况)

1.9 安装完成

出现以下字眼:successfully 恭喜您,安装成功!会得到一个启动root.sh命令

查看数据目录,会新增了很多文件,如下图:

同理,安装目录也会多了很多文件:

1.10 执行root.sh

如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:

  1. 打开新终端;

  2. 切换到root用户;

  3. 运行${安装目录}/install/script/root.sh 。

    bash 复制代码
    /opt/Kingbase/ES/V9/install/script/root.sh

如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:

bash 复制代码
#启动服务
sys_ctl -w start -D /data/Kingbase/data -l "/data/Kingbase/data/sys_log/startup.log"
#停止服务
sys_ctl stop -m fast -w -D /data/Kingbase/data

1.11 查看已安装的版本信息

进入${安装目录}/Server/bin目录,执行

bash 复制代码
cd /kingbase/data/KESRealPro/V009R001C010/Server/bin

./kingbase -V;

可以看到kingbase (KingbaseES) V009R001C010,说明安装跟我们下载的版本一致!

这个是安装整个流程总结,更多请查看官方文档:4. 安装KingbaseES --- KingbaseES(Oracle兼容版)产品手册

二、Oracle迁移的三大核心挑战

1. 兼容性挑战:技术层面的"语言障碍"

在最近的金融行业迁移项目中,我们遇到了典型的兼容性问题:

sql 复制代码
-- Oracle原生代码
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

-- 金仓KES中的等价实现
SELECT TO_CHAR(LOCALTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS');

这种语法差异虽然微小,但在大型系统中积累起来就会形成巨大的迁移成本。特别是PL/SQL代码的迁移,更是考验数据库兼容性的试金石。

2. 迁移成本:隐形的"冰山"开销

迁移成本不仅包含直接的软件许可费用,更包含隐形成本:

  1. 业务停机时间成本

  2. 人员培训成本

  3. 系统重构和测试成本

  4. 长期维护成本

3. 技术生态差异:从OCI到新连接体系的适应

OCI连接失败是迁移初期最常见的问题之一。金仓数据库提供了高度兼容的连接方式,但仍需注意细节调整。

三、金仓数据库兼容性解决方案

1. 语法兼容性层:自动转换的技术桥梁

金仓KES提供了Oracle兼容模式,能够自动处理大多数语法差异。我们通过KDTS工具实现了95%以上的代码自动转换。

实际案例:存储过程迁移

sql 复制代码
-- Oracle原始存储过程
CREATE OR REPLACE PROCEDURE calculate_bonus (
    p_emp_id IN NUMBER,
    p_bonus OUT NUMBER
) AS
    v_salary NUMBER;
BEGIN
    SELECT salary INTO v_salary FROM employees WHERE emp_id = p_emp_id;
    p_bonus := v_salary * 0.15;
    
    UPDATE bonus_records 
    SET bonus_amount = p_bonus,
        update_time = SYSDATE
    WHERE emp_id = p_emp_id;
    
    COMMIT;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        p_bonus := 0;
END;

-- 金仓KES中的等价实现(基本无需修改)
CREATE OR REPLACE PROCEDURE calculate_bonus (
    p_emp_id IN NUMBER,
    p_bonus OUT NUMBER
) AS
    v_salary NUMBER;
BEGIN
    SELECT salary INTO v_salary FROM employees WHERE emp_id = p_emp_id;
    p_bonus := v_salary * 0.15;
    
    UPDATE bonus_records 
    SET bonus_amount = p_bonus,
        update_time = LOCALTIMESTAMP
    WHERE emp_id = p_emp_id;
    
    COMMIT;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        p_bonus := 0;
END;

2. JSON处理能力对比

针对用户提到的JSON处理问题,金仓KES提供了完整的JSON支持:

复制代码
-- 创建包含JSON字段的表
CREATE TABLE product_catalog (
    product_id NUMBER PRIMARY KEY,
    product_info CLOB, -- 存储JSON数据
    created_time TIMESTAMP
);

-- JSON数据插入
INSERT INTO product_catalog VALUES (
    1,
    '{"name":"笔记本电脑","specs":{"cpu":"i7","memory":"16GB"},"price":5999}',
    LOCALTIMESTAMP
);

-- JSON查询(金仓KES实现)
SELECT product_id,
    product_info->'name' as product_name,
    product_info->'specs'->'cpu' as cpu_type
FROM product_catalog
WHERE product_info->'price' > 5000;

四、实战代码示例:从建表到复杂查询

1. 基础表结构创建

复制代码
-- 创建员工表(兼容Oracle语法)
CREATE TABLE employees (
    emp_id NUMBER(10) PRIMARY KEY,
    emp_name VARCHAR2(50) NOT NULL,
    salary NUMBER(12,2),
    department_id NUMBER(6),
    hire_date DATE DEFAULT SYSDATE,
    status VARCHAR2(10) DEFAULT 'ACTIVE'
);

-- 创建部门表
CREATE TABLE departments (
    dept_id NUMBER(6) PRIMARY KEY,
    dept_name VARCHAR2(50) NOT NULL,
    manager_id NUMBER(10),
    location VARCHAR2(100)
);

-- 创建索引
CREATE INDEX idx_emp_dept ON employees(department_id);
CREATE INDEX idx_emp_name ON employees(emp_name);

2. 数据操作语言(DML)示例

复制代码
-- 插入数据
INSERT INTO departments VALUES (1, '技术研发部', 1001, '北京总部');
INSERT INTO departments VALUES (2, '市场营销部', 1002, '上海分公司');

INSERT INTO employees (emp_id, emp_name, salary, department_id) 
VALUES (1001, '张三', 25000, 1);

INSERT INTO employees (emp_id, emp_name, salary, department_id) 
VALUES (1002, '李四', 22000, 2);

-- 批量插入(兼容Oracle语法)
INSERT ALL
    INTO employees VALUES (1003, '王五', 18000, 1)
    INTO employees VALUES (1004, '赵六', 20000, 2)
    INTO employees VALUES (1005, '钱七', 19000, 1)
SELECT * FROM DUAL;

-- 更新操作
UPDATE employees 
SET salary = salary * 1.1 
WHERE department_id = 1;

-- 删除操作
DELETE FROM employees 
WHERE status = 'INACTIVE';

3. 复杂查询示例

复制代码
-- 多表连接查询
SELECT e.emp_id, e.emp_name, e.salary, d.dept_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.dept_id
WHERE e.salary > 20000
ORDER BY e.salary DESC;

-- 分析函数使用(兼容Oracle)
SELECT 
    emp_id,
    emp_name,
    salary,
    department_id,
    AVG(salary) OVER (PARTITION BY department_id) as avg_dept_salary,
    RANK() OVER (ORDER BY salary DESC) as salary_rank
FROM employees;

-- 分层查询(START WITH CONNECT BY 的替代方案)
WITH RECURSIVE dept_hierarchy AS (
    SELECT dept_id, dept_name, manager_id, 1 as level
    FROM departments 
    WHERE manager_id IS NULL
    UNION ALL
    SELECT d.dept_id, d.dept_name, d.manager_id, dh.level + 1
    FROM departments d
    INNER JOIN dept_hierarchy dh ON d.manager_id = dh.dept_id
)
SELECT * FROM dept_hierarchy;

五、迁移最佳实践:从"不敢替"到"放心用"

1. 迁移评估阶段

使用KDMS工具进行全面的迁移评估:

复制代码
-- 评估报告示例
-- 兼容性分析:92% 代码可直接运行
-- 需要修改部分:8%,主要包括:
--   - 日期函数 SYSDATE → LOCALTIMESTAMP
--   - 分层查询 CONNECT BY → 递归CTE
--   - 特定函数转换

2. 数据迁移实施

通过KFS实现零停机迁移:

复制代码
# 使用KDTS进行数据迁移示例
kdts -s oracle -t kingbase \
     -shost source_db.company.com \
     -thost target_db.company.com \
     -db source_schema \
     -parallel 8 \
     -confirm

3. 性能优化调整

复制代码
-- 金仓KES特有的性能优化设置
-- 设置Oracle兼容模式
SET compatible_mode = oracle;

-- 优化器提示使用
SELECT /*+ INDEX(employees idx_emp_name) */ *
FROM employees 
WHERE emp_name LIKE '张%';

-- 分区表优化(适用于大数据量场景)
CREATE TABLE sales_data (
    sale_id NUMBER,
    sale_date DATE,
    amount NUMBER
) PARTITION BY RANGE (sale_date) (
    PARTITION p2023 VALUES LESS THAN (DATE '2024-01-01'),
    PARTITION p2024 VALUES LESS THAN (DATE '2025-01-01')
);

六、典型问题解决方案

1. OCI连接失败问题

问题分析:应用程序使用OCI驱动连接Oracle,迁移后需要适配新的连接串。

解决方案

复制代码
// 原Oracle连接配置
// jdbc:oracle:thin:@//host:1521/service

// 金仓KES连接配置
jdbc:kingbase8://host:54321/test?compatibleMode=oracle

2. PL/SQL代码迁移方案

对于复杂的PL/SQL代码,金仓KES提供了高度兼容的运行环境:

复制代码
-- 包声明和包体支持
CREATE OR REPLACE PACKAGE employee_mgmt AS
    PROCEDURE hire_employee(
        p_emp_id NUMBER,
        p_emp_name VARCHAR2,
        p_salary NUMBER
    );
    
    FUNCTION get_employee_count(p_dept_id NUMBER) RETURN NUMBER;
END employee_mgmt;

CREATE OR REPLACE PACKAGE BODY employee_mgmt AS
    PROCEDURE hire_employee(
        p_emp_id NUMBER,
        p_emp_name VARCHAR2,
        p_salary NUMBER
    ) IS
    BEGIN
        INSERT INTO employees (emp_id, emp_name, salary, hire_date)
        VALUES (p_emp_id, p_emp_name, p_salary, SYSDATE);
        COMMIT;
    END hire_employee;
    
    FUNCTION get_employee_count(p_dept_id NUMBER) RETURN NUMBER IS
        v_count NUMBER;
    BEGIN
        SELECT COUNT(*) INTO v_count 
        FROM employees 
        WHERE department_id = p_dept_id;
        RETURN v_count;
    END get_employee_count;
END employee_mgmt;

七、迁移成效评估

在某大型金融机构的迁移案例中,我们实现了:

  1. 兼容性达成率:98.5%的代码无需修改直接运行

  2. 性能表现:TPC-C测试达到Oracle的90%性能

  3. 成本节约:软件许可成本降低70%,维护成本降低40%

  4. 迁移周期:从评估到上线仅用3个月,远低于预期的6个月

八、总结与展望

通过金仓KES数据库,企业能够实现从Oracle的平滑迁移,有效解决兼容性挑战、迁移成本和技术生态差异三大核心问题。金仓数据库不仅在语法层面提供了高度兼容,更通过完善的迁移工具链和专业技术支持,确保了迁移项目的成功实施。

了解更多技术细节和实践案例,欢迎访问我们的技术博客站:

本文涉及的技术方案和代码示例均来自实际迁移项目,欢迎交流探讨。如需了解更多技术细节和实践案例,请访问金仓技术博客站:https://kingbase.com.cn/explore

在数字化转型纵深推进的今天,选择适合的国产数据库解决方案,不仅能够满足信创要求,更能为企业带来长期的技术红利和成本优势。金仓数据库作为成立最早的国产数据库企业,持续为各行业客户提供稳定可靠、高性能的数据库服务。


15 个"关键词"

  1. 信创

"信息技术应用创新"国家战略简称,要求核心系统去 IOE、转向国产技术栈。

  1. 兼容性层

金仓内置的 Oracle 兼容模式,可自动识别并改写 SYSDATE、DUAL、ROWNUM 等语法,实现"零改造"迁移。

  1. KDTS

Kingbase Data Transfer Service,金仓离线迁移工具,支持表结构、数据、索引、注释一键搬迁,官方宣称 95% 以上对象可自动转换。

  1. KDMS

Kingbase Database Migration Assessment,金仓"迁移评估"神器,能在源库端静态扫描,输出兼容性报告、改造点清单与工时估算。

  1. KFS

Kingbase File Sync,金仓增量同步组件,配合 KDTS 实现"全量+实时追增"零停机迁移。

  1. LOCALTIMESTAMP

金仓对 Oracle SYSDATE 的等价函数,返回会话级当前时间戳,解决日期函数差异。

  1. 递归 CTE

金仓替代 Oracle CONNECT BY 的写法,用 WITH RECURSIVE 实现树形、层级查询。

  1. 兼容模式开关

金仓参数 compatible_mode=oracle,一次设置即可让解析器、优化器、函数、系统视图全链路模拟 Oracle 行为。

  1. OCI 连接串

原 oracle:thin:@//host:1521/service 对应金仓 jdbc:kingbase8://host:54321/db?compatibleMode=oracle,驱动类名仍为 com.kingbase8.Driver。

  1. PL/SQL 包

金仓支持 CREATE PACKAGE / PACKAGE BODY,可完整迁移 Oracle 的业务存储过程、函数、全局变量与重载特性。

  1. JSON -> 运算符

金仓对 CLOB/BLOB 字段的 JSON 解析操作符,product_info->'specs'->'cpu' 写法与 PostgreSQL 9.4+ 语法一致,替代 Oracle JSON_VALUE。

  1. 分区表

金仓 RANGE/LIST/HASH 分区语法与 Oracle 高度对齐,且支持分区裁剪、本地索引,用于大数据量场景性能保底。

  1. 零停机

借助 KFS 实时同步 + 反向回流机制,业务最后一次切换窗口<30 秒,对外宣称"用户无感知"。

  1. 三骏架构

金仓 2025 新品"赤兔引擎×的卢智能体"中的 AI 原生数据库一体机架构:赤兔计算、的卢智能、苍云存储三骏并行,主打 HTAP+向量混合负载。

  1. 异构多活

浙人医案例核心亮点:Oracle、金仓双库并行跑;LIS 业务流量可按科室灰度切换,任意节点宕机 RPO=0、RTO<1 min。

关于本文,博主还写了相关文章,欢迎关注《电科金仓》分类:

第一章:基础与入门(13篇)

1、【金仓数据库征文】政府项目数据库迁移:从MySQL 5.7到KingbaseES的蜕变之路

2、【金仓数据库征文】学校AI数字人:从Sql Server到KingbaseES的数据库转型之路

3、电科金仓2025发布会,国产数据库的AI融合进化与智领未来

4、国产数据库逆袭:老邓的"六大不敢替"被金仓逐一破解

5、《一行代码不改动!用KES V9 2025完成SQL Server → 金仓"平替"迁移并启用向量检索》

6、《赤兔引擎×的卢智能体:电科金仓如何用"三骏架构"重塑AI原生数据库一体机》

7、探秘KingbaseES在线体验平台:技术盛宴还是虚有其表?

8、破除"分布式"迷思:回归数据库选型的本质

9、KDMS V4 一键搞定国产化迁移:零代码、零事故、零熬夜------金仓社区发布史上最省心数据库迁移评估神器

10、KingbaseES V009版本发布:国产数据库的新飞跃

11、从LIS到全院云:浙江省人民医院用KingbaseES打造国内首个多院区异构多活信创样板

12、异构多活+零丢失:金仓KingbaseES在浙人医LIS国产化中的容灾实践

13、金仓KingbaseES数据库:迁移、运维与成本优化的全面解析

第二章:能力与提升(10篇)

1、零改造迁移实录:2000+存储过程从SQL Server滑入KingbaseES V9R4C12的72小时

2、国产数据库迁移神器,KDMSV4震撼上线

3、在Ubuntu服务器上安装KingbaseES V009R002C012(Orable兼容版)数据库过程详细记录

4、金仓数据库迁移评估系统(KDMS)V4 正式上线:国产化替代的技术底气

5、Ubuntu系统下Python连接国产KingbaseES数据库实现增删改查

6、KingbaseES V009版本发布,新特性代码案例

7、Java连接电科金仓数据库(KingbaseES)实战指南

8、使用 Docker 快速部署 KingbaseES 国产数据库:亲测全过程分享

9、【金仓数据库产品体验官】Oracle兼容性深度体验:从SQL到PL/SQL,金仓KingbaseES如何无缝平替Oracle?

10、KingbaseES在Alibaba Cloud Linux 3 的深度体验,从部署到性能实战

第三章:实践与突破(13篇)

1、国产之光金仓数据库,真能平替MongoDB?实测来了!

2、【金仓数据库产品体验官】实战测评:电科金仓数据库接口兼容性深度体验

3、KingbaseES与MongoDB全面对比:一篇从理论到实战的国产化迁移指南

4、从SQL Server到KingbaseES:一步到位的跨平台迁移与性能优化指南

5、ksycopg2实战:Python连接KingbaseES数据库的完整指南

6、KingbaseES:从MySQL兼容到权限隔离与安全增强的跨越

7、电科金仓KingbaseES数据库全面语法解析与应用实践

8、电科金仓国产数据库KingBaseES深度解析:五个一体化的技术架构与实践指南

9、电科金仓自主创新数据库KingbaseES在医疗行业的创新实践与深度应用

10、金仓KingbaseES助力央企数字化转型

11、金仓数据库引领新能源行业数字化转型:案例深度解析与领导力展现

12、金仓数据库在发电行业的创新应用与实战案例

13、Oracle迁移实战:从兼容性挑战到平滑过渡金仓数据库的解决方案

后期作品正在准备中,敬请关注......

相关推荐
QAQalone2 小时前
MySQL实际项目中常用的 DDL 模板
数据库·mysql
Evand J2 小时前
【MATLAB例程】二维指纹对目标的一段轨迹定位,锚点数量可调。输出位置真值、估计值对比,附代码下载链接
开发语言·数据库·matlab
赵渝强老师2 小时前
【赵渝强老师】国产金仓数据库的体系架构
数据库·oracle·架构
此生只爱蛋2 小时前
【Redis】浅谈数据结构和内部编码和单线程架构
数据结构·数据库·redis
工藤学编程2 小时前
零基础学AI大模型之新版LangChain向量数据库VectorStore设计全解析
数据库·人工智能·langchain
+VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue服装商城系统(源码+数据库+文档)
数据库·vue.js·spring boot
JIngJaneIL2 小时前
基于Java在线考试管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
煎蛋学姐2 小时前
SSM水务办公管理网emxyu(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·水务办公管理·抄表管理系统
JIngJaneIL2 小时前
基于Java音乐管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot