引言
在金融、政务、能源、军工等关键行业,一个硬性门槛正在变得不可回避:信创(信息技术应用创新)。
信创的本质是「自主可控」——从底层芯片、操作系统、数据库到中间件,逐步替换国外技术栈,构建国产技术体系。这不是政治口号,而是国家关键信息基础设施的安全要求。
对于 BI 这类数据分析平台,信创适配意味着:能不能跑在国产 CPU 上?能不能用国产数据库做数据源?能不能在国产操作系统上稳定运行?
衡石 BI 作为企业级数据分析平台,已经完成了从芯片、操作系统、数据库到中间件的全栈信创适配,形成了可复制的国产化部署方案。本文将深入解析这套适配技术体系。
一、信创适配的技术挑战
1.1 为什么 BI 适配信创不简单
很多人以为「Java/Go 写的程序,换个 Linux 发行版就能跑」——这是理想情况,现实复杂得多。
挑战一:CPU 指令集差异
国产 CPU(鲲鹏、飞腾基于 ARM 架构,海光、兆芯基于 x86 架构)与 Intel/AMD 在指令集上有差异。如果 BI 平台依赖的某些组件(如特定的 C++ 扩展、机器学习推理库)只编译了 x86 版本,在 ARM 架构上直接跑不起来。
挑战二:操作系统兼容
国产操作系统(麒麟、统信 UOS)虽然基于 Linux,但内核版本、glibc 版本、系统库可能与通用发行版不同。某些依赖特定系统调用或库版本的组件会出现兼容问题。
挑战三:数据库驱动
国产数据库(达梦、人大金仓、OceanBase、GaussDB、TiDB)的 JDBC/ODBC 驱动与 Oracle/MySQL 不完全兼容。SQL 方言、数据类型映射、事务行为都可能有差异。BI 平台的数据连接层需要逐一适配。
挑战四:中间件替代
信创环境通常要求用国产中间件(东方通 TongWeb、宝兰德 BES)替代国外 WebLogic/Tomcat。BI 平台的部署架构需要适配国产应用服务器的特性。
1.2 适配的多层次性
信创适配不是「全有或全无」,而是分层次:
L1 能跑:在国产 CPU + 国产 OS 上能启动,基本功能可用
L2 好用:性能接近 Intel 环境,核心功能完整
L3 全栈:数据链路全国产(国产数据库做数据源、国产缓存、国产消息队列),无国外组件依赖
衡石的目标是在 L3 层次提供完整的信创方案。
二、衡石 BI 信创适配的技术架构
2.1 芯片层适配
衡石 BI 的核心计算引擎(查询加速、向量化执行)需要在不同 CPU 架构上编译优化:
ARM 架构(鲲鹏 920、飞腾 FT-2000+):
核心组件交叉编译为 ARM64 目标
针对 ARM 架构的 SIMD 指令(NEON)做向量化优化
在鲲鹏 920 上实测查询性能达到同频 x86 的 85-92%
x86 架构(海光 C86、兆芯):
复用 x86 的 AVX 指令集优化路径
在海光 C86 上性能与 Intel 同代产品接近
关键工程实践:衡石采用「一次源码、多架构构建」——通过 CI 流水线为 ARM64 和 x86_64 分别构建镜像,确保两边功能一致。不维护两套代码,只维护两套构建配置。
2.2 操作系统层适配
麒麟软件 V10(银河麒麟):
基于 CentOS 8 衍生,内核 4.19
适配重点:内核参数调优(文件句柄数、网络栈参数)、系统库依赖对齐
统信 UOS(UnionTech OS):
基于 Debian 衍生,内核 4.19/5.10
适配重点:服务注册方式(systemd 单元文件)、权限模型(UOS 的安全模块)
工程实践:衡石 BI 以容器化方式部署(Docker/Kubernetes),OS 适配主要聚焦在宿主机内核参数和容器运行时(如国产容器引擎)的兼容性。容器化大幅降低了 OS 差异带来的适配工作量。
2.3 数据库层适配
这是信创适配中工作量最大的部分。衡石 BI 的数据连接层需要逐一适配国产数据库:
达梦 DM8:
JDBC 驱动适配:达梦的 JDBC 驱动类名、连接串格式与 Oracle 类似但有差异
SQL 方言适配:达梦兼容 Oracle 方言,但部分函数(如层级查询 CONNECT BY)需要验证
类型映射:达梦的 NUMBER、VARCHAR2 等类型与 BI 内部类型的映射校验
人大金仓 KingbaseES:
兼容 PostgreSQL 协议,适配工作量相对小
适配重点:Kingbase 的扩展数据类型(如 GIS 类型)的处理
OceanBase:
MySQL 兼容模式和 Oracle 兼容模式两种适配
分布式架构下的连接路由(OBProxy)配置
GaussDB(华为):
兼容 PostgreSQL 协议
适配重点:GaussDB 特有的分布式表(Hash 分布、Range 分布)的查询下推优化
TiDB:
MySQL 兼容协议
适配重点:TiDB 的分布式执行计划特征(避免大表 JOIN 导致的性能问题)
适配方法论:衡石为每类数据库建立「适配测试矩阵」——覆盖连接、基础查询、聚合、窗口函数、数据类型、事务、权限 7 个维度的测试用例。每次数据库版本升级都跑一遍矩阵,确保兼容。
2.4 中间件层适配
国产应用服务器:衡石 BI 支持部署在东方通 TongWeb、宝兰德 BES 上,替换默认的 Tomcat。适配重点包括:
数据源配置方式(JNDI vs 直接配置)
会话共享机制(集群部署时的 Session 复制)
日志框架集成(对接国产日志平台的格式)
国产缓存与消息队列:
缓存:支持用国产 Redis 兼容方案(如 Tendis)替代原生 Redis
消息队列:支持用 RocketMQ 替代 Kafka 做异步任务队列
三、信创环境下的性能优化
3.1 性能基准对比
衡石在信创环境和 Intel x86 环境上做了同规格性能对比(同核数、同内存):
场景 | Intel x86 | 鲲鹏 920 (ARM) | 海光 C86 (x86) |
单表聚合(1000万行) | 1.2s | 1.4s | 1.3s |
多表 JOIN(3 表) | 3.5s | 4.1s | 3.8s |
仪表盘加载(8 图表) | 0.9s | 1.1s | 1.0s |
并发查询(50 QPS) | 稳定 | 稳定 | 稳定 |
结论:信创环境的性能差距在 10-20% 以内,对于绝大多数企业分析场景完全可接受。
3.2 信创专属优化
针对国产硬件特性,衡石做了专属优化:
ARM 架构的内存访问优化:ARM 架构的缓存行大小与 x86 不同,衡石调整了查询引擎的内存对齐策略,减少 Cache Miss。
国产 NVMe 存储的 IO 优化:国产服务器的存储控制器特性不同,衡石调整了数据文件的预读策略和并发 IO 度。
鲲鹏处理器的 NUMA 亲和性:在多路鲲鹏服务器上,衡石将查询进程绑定到就近的 NUMA 节点,减少跨节点内存访问延迟。
3.3 国产化 OLAP 引擎选择
信创场景下的查询加速引擎选择也很重要。衡石支持对接国产 OLAP 引擎:
StarRocks(国产开源):在信创环境上性能优异,衡石将其作为首选的查询加速层
Doris(国产开源,百度系):同样优秀,适合中等规模场景
TiDB(国产):HTAP 场景适用
对于强信创要求客户,衡石推荐「国产数据库(达梦/Kingbase)+ 国产 OLAP(StarRocks/Doris)」的组合,实现数据链路全自主可控。
四、信创部署参考架构
4.1 标准信创部署架构
一个典型的金融客户信创部署架构:
硬件层:鲲鹏 920 服务器(2 路 64 核)× 3 台(主节点 + 2 个工作节点)
操作系统层:银河麒麟 V10
数据库层:
业务数据源:达梦 DM8(客户已有)
分析加速层:StarRocks(部署在信创服务器上)
中间件层:东方通 TongWeb(应用服务器)
BI 层:衡石 BI 容器化部署在 Kubernetes(国产 K8s 发行版,如 Euler 的 KubeOS)
整体特征:从芯片到 BI 应用,全栈无国外核心组件。
4.2 混合架构(过渡期)
很多客户处于信创过渡期——核心系统还在 x86 + Oracle,但新建系统已经用国产栈。衡石支持混合架构:
BI 平台本身部署在信创环境
数据源同时连接国产数据库(达梦)和国外数据库(Oracle)
通过衡石的数据集成能力,将 Oracle 数据同步到 StarRocks,分析查询统一走 StarRocks
这种架构让客户可以渐进式迁移,不必一次性切换。
4.3 信创认证与合规
衡石 BI 已完成多项信创认证:
与麒麟、统信操作系统的兼容性互认证
与鲲鹏、飞腾处理器的兼容性互认证
与达梦、人大金仓、OceanBase 数据库的兼容性互认证
进入多家政企客户的信创产品目录
这些认证不是「贴牌」——需要真正的产品测试、性能验证、安全扫描。认证过程本身就是信创适配质量的背书。
五、信创项目的实施要点
5.1 适配验证清单
信创项目启动前,建议做完整的适配验证:
CPU 架构确认(ARM vs x86)及对应构建镜像
OS 版本确认及内核参数调优
数据库类型及版本确认,跑适配测试矩阵
中间件替换方案确认
性能基准测试(与现有环境对比,确认差距在可接受范围)
安全扫描(国产漏洞扫描工具,确认无高危漏洞)
5.2 常见坑
坑 1:只看「能启动」就以为适配完成
某项目在麒麟上启动 BI 成功,就宣布信创适配完成。结果上线后发现:图表导出 PDF 功能报错(依赖的系统字体缺失)、定时任务不执行(systemd 单元配置错误)。这些「非核心功能」的适配遗漏在上线后才暴露。
避坑:适配验证必须覆盖完整功能矩阵,不能只看核心查询。
坑 2:忽略国产数据库的性能特征
在 Oracle 上跑得好好的复杂报表,迁移到达梦后慢了 5 倍。原因是达梦的执行计划与 Oracle 不同,某些 JOIN 顺序未优化。
避坑:迁移前做 SQL 性能对比,对慢查询做国产数据库专属优化(索引调整、SQL 改写)。
坑 3:信创环境缺乏运维经验
信创服务器的监控工具、日志分析工具与团队熟悉的 Intel 环境不同,出了问题不知道从哪查。
避坑:项目初期安排信创环境专项培训,并准备国产运维工具链(如国产 APM、国产日志平台)的接入方案。
六、总结
信创不是「为了国产而国产」,而是关键信息基础设施自主可控的必然路径。BI 作为企业的数据决策中枢,如果在信创大潮中掉队,将直接被关键行业客户排除在外。
衡石 BI 的信创适配,三个核心策略:
全栈覆盖:从芯片、OS、数据库到中间件,完整适配而非局部替换
容器化化解差异:以容器化部署降低 OS 层适配工作量,聚焦在数据库和引擎层的深度适配
性能可接受:信创环境性能差距控制在 10-20%,满足企业分析场景需求
当 BI 平台从底层芯片到上层应用都跑在自主可控的技术栈上,企业才能真正做到「数据不出境、系统不被卡脖子」。