文档首页 > > 最佳实践> DDS增强版实例使用须知

DDS增强版实例使用须知

分享
更新时间: 2019/11/13 GMT+08:00

简介

本文介绍了使用文档数据库服务(Document Database Service,简称DDS)增强版实例的注意事项。增强版基于DDS社区版3.4版本,完全兼容MongoDB社区版接口,采用存储与计算分离架构,在性能、节点扩容和集群容错方面进行了优化。

连接数据库实例

mongo shell连接增强版实例,分为SSL开启和SSL关闭两种方式。为了提升数据在网络传输过程中的安全性,建议采用SSL方式。

  • SSL开启

    申请增强版实例时,默认开启SSL模式,表示需要通过SSL方式连接数据库实例。SSL连接需要使用安全证书,您可以登录管理控制台,在实例的基本信息页面下载证书。

    通过mongo shell连接实例时,需要添加“--sslAllowInvalidHostnames”选项。若使用第三方可视化工具连接实例,需要勾选“Invalid Hostnames”。

    mongo shell连接实例的命令如下:

    mongo mongodb://username:passwd@mognos_ip:port/test?authSource=admin --ssl -sslCAFile path/ca.crt --sslAllowInvalidHostnames
    • username为数据库用户名。
    • passwd为数据库用户名对应的密码。如果密码中包含特殊字符“@”和 “:”,请分别用“%40”和“%3A”替换。
    • mongos_ip为mongos节点的IP,可在实例基本信息页面的“节点信息”处获取。若通过外网访问实例,需要为mongos节点绑定弹性IP,此时mongos_ip为绑定的弹性IP。
    • port为数据库实例的端口号,可在实例基本信息页面的“实例信息”处获取。
    • path为安全证书ca.crt的存放路径。
    • 增强版集群实例仅支持连接mongos节点,不支持直接连接shard节点。
  • SSL关闭

    SSL方式一定程度上会影响性能,可以选择在实例的基本信息页面关闭SSL。

    mongo shell连接实例的命令如下:

    mongo mongodb://username:passwd@mognos_ip:port/test?authSource=admin

    命令中变量的取值请参见•SSL开启

命令使用限制

  • 使用Shard Collection(分片集合)可以获得更好的负载均衡效果,充分发挥集群能力,获得更优性能。除非必要,不建议使用Non-Shard Collection(非分片集合)。
  • 增强版不支持将Non-Shard Collection转换成Shard Collection。
  • 不支持系统表(例如:mydb.system.users)和普通用户表(例如:mydb.tab)之间的rename操作。
  • 当已使用的磁盘容量超过购买的存储容量配额的80%时,增强版实例会由读写模式自动转入只读模式。此时,删除表、删除数据、数据写入等操作都会被限制,待扩容存储后才可自动恢复为读写模式,功能使用将不受限制。

本地导入数据到实例

使用mongorestore工具将本地数据导入到 增强版实例,需要注意以下内容,以便提高数据导入性能。
  1. 不使用mongoresotre工具自动创建集合的功能,手动在目标库中创建Shard Collection。

    针对非必须使用Non-Shard Collection的场景,如果源数据库中使用Non-Shard Collection,建议在导入数据之前在目标库提前创建Shard Collection。

    mongo shell命令示例:

    sh.shardCollection("mydb.mytab",{_id:"hashed"})

    命令中的“_id”为Shard Key,如果需要选择其他Shard Key,请参见官方文档:https://docs.mongodb.com/v3.4/core/sharding-shard-key/#choosing-a-shard-key

  2. 不使用mongoresotre工具自动创建索引的功能,手动在目标库中创建索引。

    mongo shell命令示例:

    mydb.mytab.createIndex({field_name:1})

    mongoresotre工具可能会通过前台自动创建索引,此时,若导入的数据量过大,将导致长时间锁库,直到索引创建完成后才能释放。

  3. 在mongodump工具导出的数据文件目录下,删除“admin”和“config”文件夹,避免覆盖目标库的用户信息和集群元数据信息。
  4. 使用mongorestore工具导入数据,需添加选项“-- noIndexRestore”和“--noOptionsRestore”。导入命令示例如下:
    mongorestore --uri mongodb://username:passwd@mongos1_ip:port,mongos2_ip:port /admin --noIndexRestore --noOptionRestore --numInsertionWorkers PerCollection 16 dump_path
    • 导入数据前,建议关闭SSL。
    • username为数据库用户名。
    • passwd为数据库用户名对应的密码。
    • mongos1_ipmongos2_ip均为mongos节点IP,可在实例基本信息页面的“节点信息”处获取。
    • port为数据库实例的端口号,可在实例基本信息页面的“实例信息”处获取。
    • 16为待导入数据的并发线程数。
    • dump_path为待导入数据文件的存放路径。
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问