[Feature][Linkis] Domestic localization support and adaptation
- Dominant language
- Java
- Stars
- 3.4k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
### Linkis Component
linkis-dist
### What happened
**English:**
Linkis needs to support domestic (Chinese) localization requirements, including compatibility with domestic operating systems, databases, and middleware to meet enterprise信创 (Information Technology Application Innovation) compliance requirements.
**Background:**
Many Chinese government agencies and enterprises require IT systems to use domestic technology stacks for security and independence reasons. This includes:
- Domestic operating systems (e.g., Kylin, UOS, openEuler)
- Domestic databases (e.g., DaMeng, KingBase, GaussDB, OceanBase)
- Domestic middleware (e.g., TongWeb, BES)
- Domestic CPU architectures (e.g., ARM, MIPS, LoongArch)
---
**中文:**
Linkis需要支持国产化需求,包括与国产操作系统、数据库和中间件的兼容性,以满足企业信创(信息技术应用创新)合规要求。
**背景:**
许多中国政府机构和企业出于安全和自主可控的原因,要求IT系统使用国产技术栈。这包括:
- 国产操作系统(如麒麟、统信UOS、openEuler)
- 国产数据库(如达梦、人大金仓、高斯、OceanBase)
- 国产中间件(如东方通、宝兰德)
- 国产CPU架构(如ARM、MIPS、龙芯)
### What you expected to happen
**English:**
Linkis should fully support domestic technology ecosystem:
1. **Operating System Compatibility:**
- Kylin OS (银河麒麟)
- UOS (统信UOS)
- openEuler (欧拉)
- Other Linux distributions based on domestic CPUs
2. **Database Compatibility:**
- DaMeng (达梦 DM)
- KingBase (人大金仓 KingbaseES)
- GaussDB (高斯数据库)
- OceanBase (蚂蚁OceanBase)
3. **Middleware Compatibility:**
- TongWeb (东方通)
- BES (宝兰德)
- See issue #5305 for BES support
4. **CPU Architecture Support:**
- ARM64 (鲲鹏、飞腾)
- MIPS (龙芯)
- x86_64 compatibility maintained
---
**中文:**
Linkis应该全面支持国产技术生态系统:
1. **操作系统兼容性:**
- 银河麒麟 (Kylin OS)
- 统信UOS (UOS)
- 欧拉 (openEuler)
- 其他基于国产CPU的Linux发行版
2. **数据库兼容性:**
- 达梦数据库 (DaMeng DM)
- 人大金仓 (KingbaseES)
- 高斯数据库 (GaussDB)
- 蚂蚁OceanBase (OceanBase)
3. **中间件兼容性:**
- 东方通 (TongWeb)
- 宝兰德 (BES)
- 参见 #5305 关于宝兰德支持
4. **CPU架构支持:**
- ARM64 (鲲鹏、飞腾)
- MIPS (龙芯)
- 保持x86_64兼容性
### How to reproduce
**English:**
Current limitations:
1. Linkis is primarily tested on CentOS/Ubuntu with MySQL/Oracle
2. Limited testing on domestic operating systems
3. Database drivers for domestic databases not included
4. No official documentation for domestic technology stack deployment
---
**中文:**
当前限制:
1. Linkis主要在CentOS/Ubuntu上使用MySQL/Oracle测试
2. 在国产操作系统上的测试有限
3. 未包含国产数据库的驱动程序
4. 没有针对国产技术栈部署的官方文档
### Anything else
**English:**
**Implementation Plan:**
**Phase 1: Database Support**
1. **Add domestic database drivers:**
```xml
com.dameng
DmJdbcDriver18
8.1.2.192
com.kingbase8
kingbase8
8.6.0
com.huawei.gaussdb
gsjdbc4
505.1.0
```
2. **Update SQL scripts for compatibility:**
- Create database-specific DDL scripts
- Handle SQL dialect differences
- Test on each domestic database
**Phase 2: Operating System & Architecture**
1. **Build and test on domestic OS:**
- Kylin OS testing environment
- UOS testing environment
- ARM/MIPS architecture builds
2. **CPU architecture optimization:**
- Native builds for ARM64
- Performance tuning for different architectures
- JVM optimization for specific CPUs
**Phase 3: Documentation & Certification**
1. **Create deployment guides:**
- Step-by-step installation on domestic platforms
- Configuration best practices
- Troubleshooting guide
2. **Compatibility matrix:**
| Component | Domestic Option | Status |
|-----------|----------------|--------|
| OS | Kylin, UOS, openEuler | ⏳ Testing |
| Database | DaMeng, KingBase, GaussDB | ⏳ In Progress |
| Middleware | TongWeb, BES | 📋 Planned |
| CPU | ARM64, MIPS | ⏳ Testing |
**Certification Considerations:**
- Apply for信创certification if needed
- Participate in domestic technology ecosystem testing
- List Linkis in domestic software catalog
**Technical Challenges:**
1. JDBC driver differences and SQL dialect variations
2. Character encoding issues (GB18030 vs UTF-8)
3. Performance differences on different CPU architectures
4. Third-party dependency compatibility
---
**中文:**
**实施计划:**
**阶段1:数据库支持**
1. **添加国产数据库驱动:**
```xml
com.dameng
DmJdbcDriver18
8.1.2.192
com.kingbase8
kingbase8
8.6.0
com.huawei.gaussdb
gsjdbc4
505.1.0
```
2. **更新SQL脚本以实现兼容性:**
- 创建特定数据库的DDL脚本
- 处理SQL方言差异
- 在每个国产数据库上测试
**阶段2:操作系统和架构**
1. **在国产OS上构建和测试:**
- 麒麟OS测试环境
- UOS测试环境
- ARM/MIPS架构构建
2. **CPU架构优化:**
- ARM64原生构建
- 不同架构的性能调优
- 特定CPU的JVM优化
**阶段3:文档和认证**
1. **创建部署指南:**
- 国产平台上的分步安装
- 配置最佳实践
- 故障排除指南
2. **兼容性矩阵:**
| 组件 | 国产选项 | 状态 |
|-----------|----------------|--------|
| 操作系统 | 麒麟、UOS、欧拉 | ⏳ 测试中 |
| 数据库 | 达梦、金仓、高斯 | ⏳ 进行中 |
| 中间件 | 东方通、宝兰德 | 📋 已计划 |
| CPU | ARM64、MIPS | ⏳ 测试中 |
**认证考虑:**
- 如需要,申请信创认证
- 参与国产技术生态测试
- 将Linkis列入国产软件目录
**技术挑战:**
1. JDBC驱动差异和SQL方言变化
2. 字符编码问题(GB18030 vs UTF-8)
3. 不同CPU架构上的性能差异
4. 第三方依赖兼容性
### Are you willing to submit a PR?
- [ ] Yes I am willing to submit a PR!
Contributor guide
Research direction
The issue identifies linkis-dist but no specific source files or tests. Start by mapping its existing JDBC dependencies, SQL scripts, and deployment configuration, then split the broad request into a scoped compatibility target. Done would require defined support and reproducible tests for each selected database, operating system, middleware, or CPU architecture.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, linux, sql
- Domain
- backend, databases, infrastructure, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100