Skip to content

DM 国产适配要点

国产适配是指DM数据库与国内自主研发的软硬件产品进行兼容性测试和优化,确保在国产环境下稳定、高效运行。良好的国产适配能力是DM数据库在国内市场广泛应用的重要保障。

国产操作系统适配

1. 主流国产操作系统

DM数据库支持多种主流国产操作系统,包括:

操作系统版本架构支持
麒麟操作系统V10、V10 SP1、V10 SP2x86_64、aarch64、loongarch64
统信UOSV20、V20 SP1、V20 SP2x86_64、aarch64、loongarch64
红旗LinuxDCV7、DCV8x86_64、aarch64
中科方德方德桌面操作系统V4.0、方德服务器操作系统V4.0x86_64、aarch64
中标麒麟中标麒麟高级服务器操作系统V7.6、V7.7x86_64、aarch64

2. 适配要点

  • 内核版本:确保操作系统内核版本与DM数据库要求的最低内核版本兼容
  • 依赖库:安装DM数据库所需的依赖库,如glibc、libstdc++等
  • 系统参数:根据DM数据库的要求调整操作系统参数,如文件描述符限制、内存管理等
  • 时区设置:确保操作系统时区与数据库时区一致
  • 编码设置:建议使用UTF-8编码,确保中文显示正常

3. 安装注意事项

shell
# 在麒麟V10上安装DM数据库的示例

# 1. 检查系统依赖
yum install -y glibc-devel gcc gcc-c++ libstdc++-devel

# 2. 调整系统参数
# 修改文件描述符限制
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf

# 3. 关闭防火墙(或开放必要端口)
systemctl stop firewalld
systemctl disable firewalld

# 4. 安装DM数据库
./DMInstall.bin -i

国产CPU适配

1. 主流国产CPU架构

DM数据库支持多种主流国产CPU架构,包括:

CPU架构代表产品支持情况
ARM64 (aarch64)华为鲲鹏920、飞腾2000+/910完全支持
LoongArch (loongarch64)龙芯3A5000/3B5000完全支持
x86_64兆芯开先KX-6000系列完全支持
SW64申威处理器支持

2. 适配要点

  • 编译优化:针对不同CPU架构进行编译优化,提高数据库性能
  • 指令集支持:充分利用各CPU架构的特色指令集,如鲲鹏的NEON指令集、龙芯的LoongSIMD指令集
  • 内存管理:根据不同CPU架构的内存访问特性,调整内存管理参数
  • 并行处理:针对多核CPU优化并行处理能力

3. 性能优化建议

ini
# 针对鲲鹏920 CPU的性能优化参数(dm.ini)

# 内存参数
BUFFER = 16384    # 数据库缓冲区大小,根据物理内存调整
BUFFER_POOLS = 8   # 缓冲区池数量,建议设置为CPU核心数的1/4到1/2

# IO参数
IO_THR_GROUPS = 8  # IO线程组数量,建议设置为存储设备数量
IO_THR_PER_GROUP = 4  # 每个IO线程组的线程数

# 并发参数
MAX_SESSIONS = 2048  # 最大会话数
WORKER_THREADS = 16   # 工作线程数,建议设置为CPU核心数

国产中间件适配

1. 主流国产中间件

DM数据库与多种国产中间件兼容,包括:

中间件类型产品名称版本支持
应用服务器东方通TongWebV7.0、V7.1、V8.0
应用服务器金蝶ApusicV9.0、V10.0
应用服务器中创InforSuiteV8.0、V9.0
消息中间件东方通TongLINK/QV7.0、V8.0
消息中间件金蝶ApusicMQV6.0、V7.0
数据集成数梦工场DSPV3.0、V4.0

2. 适配要点

  • JDBC驱动:使用DM数据库提供的JDBC驱动,确保与中间件兼容
  • 连接池配置:合理配置中间件的数据库连接池参数,如最大连接数、连接超时时间等
  • 事务管理:确保中间件与DM数据库的事务管理机制兼容
  • SQL兼容性:针对中间件生成的SQL语句进行优化,确保在DM数据库上高效执行

3. 配置示例(东方通TongWeb)

xml
<!-- 东方通TongWeb配置DM数据库数据源示例 -->
<data-source>
    <name>DMDataSource</name>
    <jndi-name>jdbc/dm</jndi-name>
    <driver-class>dm.jdbc.driver.DmDriver</driver-class>
    <url>jdbc:dm://localhost:5236</url>
    <username>SYSDBA</username>
    <password>SYSDBA</password>
    <max-pool-size>100</max-pool-size>
    <min-pool-size>10</min-pool-size>
    <initial-pool-size>20</initial-pool-size>
    <max-idle-time>3600</max-idle-time>
    <validation-query>SELECT 1 FROM DUAL</validation-query>
    <validation-query-timeout>5</validation-query-timeout>
    <test-on-borrow>true</test-on-borrow>
    <test-on-return>false</test-on-return>
    <test-while-idle>true</test-while-idle>
    <time-between-eviction-runs-millis>30000</time-between-eviction-runs-millis>
    <num-tests-per-eviction-run>10</num-tests-per-eviction-run>
    <min-evictable-idle-time-millis>1800000</min-evictable-idle-time-millis>
</data-source>

国产安全产品适配

1. 主流国产安全产品

DM数据库与多种国产安全产品兼容,包括:

安全产品类型产品名称适配情况
防火墙华为USG系列、天融信NGFW兼容
入侵检测/防御绿盟IDS/IPS、启明星辰IDS兼容
数据库审计安恒DAS、启明星辰DBAudit兼容
数据加密信安世纪SM系列、格尔软件加密产品兼容
身份认证吉大正元CA、航天信息身份认证兼容

2. 适配要点

  • 网络安全:确保DM数据库的网络通信与防火墙、入侵检测系统兼容
  • 审计日志:支持将审计日志导出到第三方审计系统
  • 数据加密:支持国密算法(SM2、SM3、SM4),与国产加密产品兼容
  • 身份认证:支持集成第三方身份认证系统,如CA认证、USB Key认证

3. 安全配置示例

ini
# DM数据库启用国密算法配置(dm.ini)

# 加密算法配置
ENCRYPT_NAME = SM4  # 数据加密算法,支持SM4、AES等
HASH_NAME = SM3     # 哈希算法,支持SM3、SHA256等
PUBLIC_KEY_ALG_NAME = SM2  # 公钥算法,支持SM2、RSA等

# 审计配置
AUDIT_ENABLE = 1    # 启用审计
AUDIT_FILE_PATH = /opt/dmdbms/audit  # 审计文件路径
AUDIT_SPACE_LIMIT = 1024  # 单个审计文件大小限制(MB)

适配测试与验证

1. 测试环境准备

  • 硬件环境:使用目标国产CPU和服务器
  • 软件环境:安装目标国产操作系统、中间件和安全产品
  • 测试工具:准备性能测试工具、功能测试工具和兼容性测试工具

2. 测试内容

  • 功能测试:验证DM数据库在国产环境下的基本功能是否正常
  • 性能测试:测试DM数据库在国产环境下的性能表现,包括并发处理能力、响应时间等
  • 稳定性测试:进行长时间运行测试,验证DM数据库的稳定性
  • 兼容性测试:测试DM数据库与国产中间件、安全产品的兼容性
  • 压力测试:测试DM数据库在高负载下的表现

3. 测试工具

  • 性能测试工具:DM性能测试工具、SysBench、TPCC工具
  • 功能测试工具:DM功能测试工具、自定义测试脚本
  • 兼容性测试:中间件自带的兼容性测试工具
  • 监控工具:DM企业管理器、国产监控工具

4. 测试报告

测试完成后,生成详细的测试报告,包括:

  • 测试环境信息
  • 测试内容和测试用例
  • 测试结果和分析
  • 问题和解决方案
  • 优化建议

不同版本的差异

DM 7 vs DM 8

特性DM 7DM 8
国产CPU支持支持x86_64、aarch64支持x86_64、aarch64、loongarch64、sw64
国产操作系统支持支持主流国产操作系统支持更多国产操作系统版本,如麒麟V10 SP2、统信V20 SP2
国密算法支持基本支持SM2、SM3、SM4增强支持国密算法,提供更完善的国密解决方案
国产中间件适配支持主流国产中间件支持更多国产中间件版本,适配程度更高
性能优化针对国产环境基本优化针对不同国产CPU架构进行深度优化

DM 8.1 新特性

  • 增强了对龙芯LoongArch架构的支持
  • 优化了在鲲鹏920 CPU上的性能
  • 新增了对统信UOS V20 SP2的支持
  • 增强了与东方通TongWeb V8.0的适配
  • 优化了国密算法的性能

最佳实践

1. 环境规划

  • 硬件选型:根据业务需求选择合适的国产服务器和存储设备
  • 操作系统版本:选择DM数据库官方认证的操作系统版本
  • 中间件版本:选择与DM数据库兼容的中间件版本
  • 安全产品:选择支持国密算法的安全产品

2. 安装配置

  • 安装方式:使用DM数据库提供的针对不同CPU架构的安装包
  • 参数调整:根据国产环境的特点调整DM数据库参数
  • 依赖库:确保安装所有必要的依赖库
  • 安全配置:启用必要的安全功能,如审计、加密等

3. 性能优化

  • 内存配置:根据物理内存大小调整数据库缓冲区大小
  • IO优化:根据存储设备的特性调整IO参数
  • 并发优化:根据CPU核心数调整并发参数
  • SQL优化:优化应用程序中的SQL语句,提高执行效率

4. 监控与维护

  • 监控工具:使用DM企业管理器或国产监控工具监控数据库运行状态
  • 定期备份:制定合理的备份策略,确保数据安全
  • 定期更新:及时更新DM数据库补丁,修复已知问题
  • 故障处理:制定故障处理预案,确保快速恢复

5. 应用开发

  • 驱动选择:使用DM数据库提供的最新JDBC驱动
  • SQL兼容性:编写兼容DM数据库的SQL语句,避免使用特定数据库的语法
  • 连接池配置:合理配置连接池参数,提高连接复用率
  • 事务管理:合理使用事务,避免长事务

常见问题(FAQ)

Q1: 在麒麟V10上安装DM数据库时,提示缺少依赖库怎么办?

A1: 可以使用以下命令安装缺少的依赖库:

shell
# 安装常用依赖库
yum install -y glibc-devel gcc gcc-c++ libstdc++-devel make openssl-devel

# 如果是aarch64架构,可能还需要安装:
yum install -y libaio-devel

Q2: 在飞腾CPU上运行DM数据库,性能不如预期怎么办?

A2: 可以尝试以下优化措施:

  • 调整数据库缓冲区大小,建议设置为物理内存的40%-60%
  • 调整工作线程数,建议设置为CPU核心数
  • 优化IO参数,根据存储设备特性调整IO线程数
  • 检查存储设备性能,确保存储设备能够满足需求

Q3: DM数据库与东方通TongWeb连接时,出现连接超时怎么办?

A3: 可以尝试以下解决方案:

  • 检查数据库服务器是否正常运行
  • 检查网络连接是否正常,防火墙是否开放了数据库端口
  • 调整中间件连接池参数,如增加连接超时时间、减少连接池大小
  • 检查数据库最大会话数设置,确保不超过限制

Q4: 在龙芯CPU上,DM数据库无法启动怎么办?

A4: 可以尝试以下解决方案:

  • 检查是否使用了针对龙芯架构编译的DM数据库安装包
  • 检查操作系统内核版本是否与DM数据库要求兼容
  • 检查数据库配置文件是否正确
  • 查看数据库日志,定位具体错误原因

Q5: DM数据库如何启用国密算法?

A5: 可以通过修改dm.ini配置文件启用国密算法:

ini
ENCRYPT_NAME = SM4
HASH_NAME = SM3
PUBLIC_KEY_ALG_NAME = SM2

修改后需要重启数据库生效。

Q6: DM数据库如何集成第三方身份认证系统?

A6: DM数据库支持通过外部认证接口集成第三方身份认证系统,具体步骤如下:

  • 开发外部认证插件
  • 配置DM数据库使用外部认证
  • 测试认证功能

详细步骤请参考DM数据库官方文档中的"外部认证"章节。

未来发展趋势

1. 更广泛的适配支持

随着国产软硬件生态的不断发展,DM数据库将支持更多的国产操作系统、CPU架构、中间件和安全产品,进一步完善国产适配能力。

2. 深度优化

针对不同国产CPU架构的特点,进行更深度的性能优化,充分发挥国产硬件的性能优势。

3. 生态融合

加强与国产软硬件厂商的合作,共同打造完善的国产生态体系,提供一体化的解决方案。

4. 标准兼容

积极参与国内数据库标准制定,推动国产数据库标准的统一,提高不同国产数据库之间的兼容性。

5. 云原生支持

加强在国产云平台上的适配和优化,支持云原生部署,如容器化部署、Kubernetes部署等。

在进行国产适配时,需要充分考虑硬件环境、软件环境和业务需求,制定合理的适配策略和优化方案。同时,定期进行适配测试和验证,确保DM数据库在国产环境下的稳定运行。

随着国产化替代进程的加速,DM数据库将继续加强国产适配能力,为国家关键信息基础设施的建设提供可靠的数据库支撑。