跳到主要内容

SequoiaDB替换MongoDB文档

一、环境检查

最小安装需求

验证项目CPU内存磁盘备注
功能兼容性验证4C8G-
性能验证8C16GSSD内存磁盘比不超过 1:6

CPU 指令集要求

在 x86 架构 CPU 中,需要支持 avx2 指令集,可以通过命令检测:

cat /proc/cpuinfo | grep -i avx2

国产 CPU 支持

  • 鲲鹏 920
  • 海光 7285

注意: 飞腾系列芯片中,不支持 FT-2000 及早期型号。其它飞腾型号目前未经验证。

操作系统

  • 麒麟 V10
  • UOS 20
  • openEuler 22.03 LTS SP3
  • RHEL / CentOS 8, and 9 (7 需要手工升级 openssl 到 1.1.1f 及以上版本) • SLES 12 and 15
  • Ubuntu LTS 18.04, 20.04, and 22.04(支持wsl2)

二、下载数据库

打开巨杉数据库的官网(https://download.sequoiadb.com/cn/)进行下载。

注:下载需要填写你的公司资料来申请授权

三、安装数据库

软件包安装

以下使用 sequoiadb-dds-3.4.14-linux_x86_64-poc-installer.run 作为安装包名示例 安装用户必须为 root

  1. 授予安装包权限
chmod u+x sequoiadb-dds-3.4.14-linux_x86_64-poc-installer.run
  1. 进行安装

按照提示执行对应操作,所有配置项使用默认值

./sequoiadb-dds-3.4.14-linux_x86_64-poc-installer.run
  1. 在"产品激活"中,输入事先申请的密钥

  1. 创建数据目录及赋给 sdbadmin:sdbadmin_group 用户

数据目录以"/data/db"为例,用户可以根据实际情况进行修改。若使用其它路径,注意启动节点时需要修改 dbpath 参数

mkdir /data/db
chown sdbadmin:sdbadmin_group /data/db
  1. 切换到 sequoiadb-dds 安装用户
su - sdbadmi
  1. 部署节点

该模式启动节点,默认不开启鉴权功能

a. 以独立模式启动节点

sdb_dds_ctl initdb --dbpath /data/db --port 27017 --bindip=0.0.0.0
sdb_dds_ctl start --port 27017

b. 以副本集模式启动节点(示例中假设节点部署服务器 IP 为 192.168.18.34)

#创建节点
sdb_dds_ctl initdb --replname=rs0 --port=17000 --dbpath=/data/17000
sdb_dds_ctl initdb --replname=rs0 --port=18000 --dbpath=/data/18000
sdb_dds_ctl initdb --replname=rs0 --port=19000 --dbpath=/data/19000
#启动节点
sdb_dds_ctl start --all
#登陆节点对副本集进行初始化
rs.initiate({_id:"rs0",members:[{_id:0,host:"192.168.18.34:17000"},{_id:1,host:"192.168.18.34:18000"},{_id:2,host:"192.168.18.34:19000"}]})
  1. 查看数据库状态, status 为 running 则启动正常
sdb_dds_ctl list

更多 sdb_dds_ctl 参数详见--help

  1. 关闭或更新所在机器的防火墙等安全策略

四、迁移数据

使用 Navicat 迁移

使用 Navicat 可以直接通过 MongoDB 协议连接巨杉数据库,参考如下:

新安装的服务器一般是没有数据库的,可以右键新建一个

然后打开 Navicat 的数据传输功能

选择原来的MongoDB数据库和目标的巨杉数据库

点击下一步后,选择运行期间的全部集合(或自定义)

点击 下一步 后,确认没问题即可点击开始 按钮

一段时间后,即可传输成功

使用 mongodump 迁移

  1. 使用 mongodump 将数据从原 MongoDB 导出数据

  2. 切换到 dds 安装用户,默认为 sdbadmin

su - sdbadmin
  1. 通过 mongorestore 导入数据

更多参数详见 mongorestore --help

mongorestore /data/db-data/output-db-data

五、驱动兼容说明

  1. sequoiadb-dds 兼容 MongoDB 6.0 协议。可使用官方驱动直接访问数据库。

  2. 若驱动版本低于推荐版本,可能导致部分功能不可用。建议以实际的应用测试结果进行评估。目前生产中确实存在驱动版本低于推荐版本的案例。

GO

Go Version: 1.10+

Go Driver Version: 1.10+

Java

Jdk Version: jdk8+

Java Driver Version: 4.7+

C#

.NET Core: 2.0+ / .NET: 4.7+

C# Driver Version: 2.16+

Node.js

Node.js: v1.2+

Node.js Driver