跳到主要内容

NineData 社区版

本文详细介绍 NineData 社区版,包括社区版的产品定位以及和企业版的多维度对比,帮助您快速了解社区版。

什么是 NineData 社区版?

NineData 社区版是玖章算术推出的永久免费一键安装的数据管理解决方案,专为开发者、初创团队、教育机构及个人用户设计。包含 NineData 的数据库 DevOps数据复制数据库对比三个核心功能。

  • 数据库 DevOps:数据库 DevOps 具有数据源管理、数据查询、SQL 规范、SQL 审核、审批流程等强大功能,帮助用户快速完成多种环境的数据管理任务,助力企业数字化转型。

  • 数据复制:NineData 数据复制支持多种同异构数据源之间的离线、实时数据复制。适合数据迁移、数据库扩缩容、数据库版本升级、异地容灾、异地多活、数据仓库及数据湖数据集成等多种业务场景。

  • 数据库对比:NineData 数据库对比功能支持对两个数据源之间的内容进行一致性对比,不一致的情况下支持自动生成变更 SQL,实现数据与结构的一致性。

NineData 社区版是一个完全离线运行的本地化部署版本,无需连接任何云端服务或访问 NineData 网站,所有数据与操作 100% 留存于您的本地环境。特别适用于无法访问外网的内网环境,完美匹配小规模企业、个人项目或学习测试等场景。

在部署上,NineData 社区版基于 Docker 技术,用户通过一条简单的命令即可在本地电脑完成安装,无论有无经验皆可快速完成部署。

核心价值

永久免费,高效易用

社区版免费使用,10 分钟部署上线,全程可视化操作。

支持云虚拟机或本地部署

可部署在云上或者本地私有网络,满足敏感业务的数据合规要求。

数据管理更安全更高效

15 年经验沉淀,专业的数据库 DevOps 解决方案,让研发与 DBA 协同更高效,数据更安全。

高性能实时数据迁移同步

基于自研 CDC 技术,专业解决数据库迁移、同步、容灾等业务需求,支持每秒数万 TPS 实时数据复制。

社区版 vs 企业版(原 NineData 专属集群)

对比维度社区版企业版
核心定位开发者/初创团队/个人开发者中大型企业/生产环境
部署方式Docker 单机部署Docker 单机部署/分布式集群
数据库 DevOps10 个数据源(功能与专业版一致)按许可证动态扩展(无限制)
数据复制10 个任务(含 2 个增量任务)按许可证动态扩展(无限制)
数据对比上限 10 任务无上限
部署复杂度⭐⭐⭐⭐⭐ 单命令部署⭐⭐⭐⭐ 具备升降配、增加节点等能力
资源消耗单机集群(跨机房容灾 + 异地多活)
技术支持文档 + 微信群7x24 专属技术支持 + SLA 服务保障
费用永久免费按需付费

NineData 社区版与主流工具全方位对比

对比项目NineData 社区版ArcheryYearningNavicatFlywayLiquibase
基础能力更新迭代频率高(持续交付,周度迭代)中(季度级更新、开源社区驱动)中(不定期更新、依赖社区贡献)中(每年大版本、季度小更新)中(定期功能增强,约半年一次)中(定期维护,约季度更新)
部署模式Docker 部署Docker 部署Docker 部署桌面应用CLI 集成 Java 集成CLI 集成 Java 集成
支持数据源国产数据库、数仓、多云数据库(如AWS、阿里云等)、MySQL、PG、Oracle、SQL Server、Db2 等MySQL、PG、Redis 等MySQL、PGMySQL、PG、Oracle、SQL Server 等MySQL、PG、Oracle 等主流数据库主流数据库(类似 Flyway)
登录方式账号密码/第三方登录/SSO(LDAP)Web 账号/LDAP/OAuthWeb 账号/LDAP本地账号/许可证无(命令行)无(命令行/代码)
SQL IDE支持语言中英文中文为主中文多语言英文英文
SQL 窗口支持(强)支持支持支持(强)XX
对象可视化管理支持部分支持(表结构)有限支持(图形化)XX
查询结果集操作导出、编辑导出、编辑导出导出、编辑、图表XX
会话隔离支持支持支持支持XX
SQL 审核与发布SQL 变更发布工单+自动化流程工单审批+执行工单审批直接执行直接执行迁移脚本直接执行脚本
变更自动备份支持支持支持手动备份XX
审批流程多级审批,可对接外部审批流程多级审批简单审批XXX
Online DDL原生支持依赖 PT-OSC 等工具依赖外部工具XXX
Online DML支持XXXXX
内置 SQL 规范多种数据库类型 200+ 内置规则/自定义MySQL 部分规则MySQL 部分规则XXX
移动审批支持XXXXX
发布流程编排支持XXXXX
SQL 代码审核强(自动化审核)一般(自定义规则)一般(内置规则)XXX
数据安全敏感数据保护智能数据分类分级,完善的数据脱敏 + 加密支持手动设置,但可轻易绕过支持手动设置,但可轻易绕过XXX
权限授权模式RBAC + ABAC、管理员授权 + 主动申请RBAC、管理员授权 + 主动申请RBAC、管理员授权XXX
权限模型细粒度权限(库/表/敏感列/模块/操作)项目级隔离用户级权限本地权限XX
操作审计全链路审计完整日志基础日志XXX
高级数据处理数据导入多格式导入,语法级别可控支持 CSV/SQL支持 CSV多种格式(Excel、CSV等)通过迁移脚本通过脚本
数据导出多格式导出,文件加密、水印保护支持 CSV支持 CSV多种格式导出XX
数据归档与清理自动归档(MySQL、PG)手动(MySQL)X手动XX
数据追踪与回滚自动解析 Binlog 逆向生成XXXXX
数据生成支持,仿真模版自定义XX支持测试数据生成XX
性能诊断慢 SQL 性能分析深度分析 + 优化建议(MySQL、PG、Oracle、Db2)支持(MySQL)基础分析XX
会话管理查看/Kill会话查看/Kill会话查看会话查看/Kill会话XX

部署方式

前提条件

  • 服务器中已安装 Docker。
  • 服务器架构为 Intel x86_64,规格至少为 4 核 CPU / 16 GB 内存 / 200 GB 磁盘空间。

操作步骤

  1. 登录服务器的命令行窗口,执行如下命令:

    docker run -p 9999:9999 --privileged -v /opt/ninedata:/u01 --name ninedata -d swr.cn-east-3.myhuaweicloud.com/ninedata/ninedata:latest

    参数说明

    • -p 9999:9999:NineData 通过 9999 端口提供服务,此参数将容器的 9999 端口(冒号后)映射到服务器(冒号前),确保客户端浏览器可以直接访问到 NineData 服务。
    • --privileged:赋予容器运行和访问的系统权限。
    • -v /opt/ninedata:/u01:将服务器的 /opt/ninedata 目录挂载到容器的 /u01 目录,用于存放数据。
    • --name ninedata:设置容器名称为 ninedata,可自行指定其他容器名称。
    • -d swr.cn-east-3.myhuaweicloud.com/ninedata/ninedata:latest:NineData 的镜像地址,用于拉取 NineData 的镜像文件。
    提示

    NineData 提供了多地域镜像下载,您可以就近选择,替换上方命令中 -d 后面的镜像地址,以获取更快的下载速度。

    • 华北-北京:swr.cn-north-4.myhuaweicloud.com/ninedata/ninedata:latest

    • 华东-上海:swr.cn-east-3.myhuaweicloud.com/ninedata/ninedata:latest

    • 华南-广州:swr.cn-south-1.myhuaweicloud.com/ninedata/ninedata:latest

    • NineData Docker Hub 官方地址:ninedata/ninedata:latest

  2. 容器启动完成后,NineData 服务会自动在容器内部署并初始化服务,该过程预计需要 5 ~ 10 分钟。通过 docker logs -f ninedata 命令可以查看初始化进度,等待屏幕中打印出如下提示,即代表 NineData 服务已经顺利启动。

    image-20250310171459303

    提示

    如果在步骤一中指定了其他容器名称,则需要把上述命令中的 ninedata 更换成您实际的容器名。

  3. 在浏览器中输入 NineData 的连接地址即可打开 NineData 控制台的登录页,NineData 服务默认端口号为 9999,初始管理员账号与密码均为 admin。首次登录后页面会弹出修改密码窗口,请立即更改管理员密码。

    image-20250310171539071

常见问题

  • Q:浏览器突然无法打开社区版 NineData 控制台,提示 504 错误是什么原因?
    • 可能原因:可能是服务器磁盘不足导致。
    • 解决方法:请适当扩容磁盘空间后执行 docker restart <容器 ID>,等待约 10 分钟启动完成即可。
  • Q:执行 docker logs -f ninedata 后,屏幕出现 You can view detailed logs in the /u01/server.log 的提示,然后就卡死了,是什么原因?
    • 可能原因:此次部署可能并不是第一次部署,前次部署用于存放 NineData 文件的目录下可能有残留文件,例如 /opt/ninedata 目录。
    • 解决方法:需清除前次部署目录后按照本文档重新执行部署步骤。
  • Q:NineData 容器拉起失败,server.log 中有"Failed to start ContainerManager" err="cannot enter cgroupv2 \"/sys/fs/cgroup/kubepods\" with domain controllers -- it is in an invalid state" 报错是什么原因?
    • 可能原因:较新的 Linux 发行版默认启用 CGroup v2,Docker 如果尝试创建子 CGroup 将会触发 invalid state 错误,导致容器拉起失败。
    • 解决方法:在 Docker run 命令后面接 参数,共享使用宿主机的 CGroup 命名空间即可。例如:docker run --cgroupns=host -p 9999:9999 --privileged -v /opt/ninedata:/u01 --name ninedata -d swr.cn-east-3.myhuaweicloud.com/ninedata/ninedata:latest