一、什么是云数据库MongoDB
云数据库MongoDB版完全兼容MongoDB协议,提供稳定可靠、弹性伸缩的数据库服务,同时提供容灾、备份、恢复、监控和告警等功能。
云数据库MongoDB版具有以下基本特点:
- 自动搭建基于三副本的MongoDB副本集供用户使用,容灾切换、故障迁移等高级功能为用户整体打包好,对用户完全透明。
- 提供基于多个副本集(每个副本集沿用三副本模式)组成的集群版实例,轻松扩展读写性能,用户可以方便快捷地构建MongoDB分布式数据库系统。
- 提供一键式的数据库备份、恢复功能。用户可以通过控制台一键式地进行数据库的常规备份及数据库回溯功能。
- 提供多达20种的性能指标监控及报警功能,数据库性能数据尽收眼底。
- 提供可视化的数据管理工具, 方便用户运维。
有需要购买阿里云产品的朋友,先领取阿里云幸运券,再购买云数据库MongoDB,领取使用后可有返现优惠。
二、云数据库MongoDB系统架构原理
单节点架构
MongoDB单节点架构,是对副本集和集群结构的补充。单节点主要为有开发、测试等环境及其他非企业核心数据存储诉求的场景所研发的。用户能够以
更低的入门价格获取云数据库MongoDB在各项运维支持、内核级优化上的产品优势。单节点架构可以根据各类场景的差异适配对应的产品形态,为企业降低更
多的成本支出。
副本集架构
云数据库MongoDB版自动搭建好三节点的副本集供用户使用,用户可以直接操作Primary节点和一个Secondary节点。系统架构如下图所示:
- HA控制系统:实例高可用探测模块,用于探测监听MongoDB实例的运行状况。如果判断主节点实例不可用,进行主备节点的切换操作,保证MongoDB实例的高可用。
- 日志收集:进行MongoDB运行情况的日志收集,包括实例慢日志查询以及访问控制日志等。
- 监控系统:进行MongoDB实例性能监控信息的收集工作,包括基础指标、磁盘容量、网络请求以及操作次数等核心信息。
- 在线迁移系统:当实例所运行的物理机出现故障,在线迁移系统会根据备份系统中的备份文件进行实例重新搭建,保证业务不受影响。
- 备份系统:针对MongoDB实例进行备份处理,并且将生成的备份文件存储至OSS系统上进行保存。目前MongoDB备份系统支持用户自定义备份设置和临时备份,并且保存7天内的备份文件。
- 任务控制:云数据库MongoDB实例支持多种管理控制任务,如创建实例、变更配置以及备份实例等。任务系统会根据用户下发的操作指令,进行灵活控制并进行任务跟踪及出错管理。
集群版架构
云数据库MongoDB版支持集群版本,集群版与三节点副本集版复用系统架构,沿用副本集架构图中的HA控制系统、日志收集系统、监控系统、在线迁移系统、备份系统及任务控制系统。
集群版提供Mongos(服务代理)、Shard(分片服务器)、ConfigServer三个组件。用户可以自由的选择Mongos和Shard节点的个数和配置,组建服务能力不同的MongoDB集群,产品形态架构如下图所示:
说明:
- Mongos为单节点配置,用户可以购买多个Mongos实现负载均衡及故障转移,单个集群版实例可支持2-32个Mongos节点。详情请参见:正确连接 MongoDB 集群的使用方法。
- Shard节点是分片服务器,当前架构是三节点副本集。支持配置升降级,但不支持改变副本集内个数。单个集群版实例可支持2-32个Shard节点。
- ConfigServer为集群必备组件,默认为1核2GB配置,20GB存储空间,当前不支持配置升降级。
- 集群支持新增Mongos和Shard节点,但是不支持通过原生命令新增,需要通过控制台新购Mongos和Shard节点。
- Shard和ConfigServer均不提供域名访问,用户不可以直接连接访问对其操作,所有数据操作均需要连接Mongos进行下发。
- 集群模式必须新购,当前不支持将现有三节点副本集直接升级到集群版。
三、云数据库MongoDB实例规格
因物理硬件资源的迭代演进,2017年7月10日起,新购及变更实例规格后,实例将采用新的规格参数。详情请见以下说明。
规格类型 | 规格类型 | 规格信息 | 规格代码 | 最大连接数 | 最大IOPS | 存储空间 |
---|---|---|---|---|---|---|
三节点 | 通用规格 | 1核2G | dds.mongo.mid | 500 | 1000 | 10-2000GB |
2核4G | dds.mongo.standard | 1000 | 2000 | |||
4核8G | dds.mongo.large | 2000 | 4000 | |||
8核16G | dds.mongo.xlarge | 4000 | 8000 | |||
8核32G | dds.mongo.2xlarge | 8000 | 14000 | |||
16核64G | dds.mongo.4xlarge | 16000 | 16000 | |||
独享规格 | 2核16G | mongo.x8.medium | 2500 | 4500 | 250GB | |
4核32G | mongo.x8.large | 5000 | 9000 | 500GB | ||
8核64G | mongo.x8.xlarge | 10000 | 18000 | 1000GB | ||
16核128G | mongo.x8.2xlarge | 20000 | 36000 | 2000GB | ||
32核256G | mongo.x8.4xlarge | 40000 | 72000 | 2000GB | ||
独占物理机 | 60核440G | dds.mongo.2xmonopolize | 100000 | 100000 | 3000GB | |
单节点 | 通用规格 | 1核2G | dds.n2.small.1 | 2000 | min{30 * 存储空间,20000} | 20-2000GB |
2核4G | dds.sn2.medium.1 | 4000 | ||||
2核8G | dds.sn4.large.1 | 6000 | ||||
4核8G | dds.sn2.large.1 | 6000 | ||||
4核16G | dds.sn4.xlarge.1 | 8000 | ||||
8核16G | dds.sn2.xlarge.1 | 8000 |
MongoDB Sharding规格参数 | ||||
节点类型 | 规格类型 | 规格信息 | 规格代码 | 最大连接数 |
---|---|---|---|---|
Mongos | 通用规格 | 1核2G | dds.mongos.mid | 1000 |
2核4G | dds.mongos.standard | 2000 | ||
4核8G | dds.mongos.large | 4000 | ||
8核16G | dds.mongos.xlarge | 8000 | ||
8核32G | dds.mongos.2xlarge | 16000 | ||
16核64G | dds.mongos.4xlarge | 16000 |
节点类型 | 规格类型 | 规格信息 | 规格代码 | 最大IOPS |
---|---|---|---|---|
Shard | 通用规格 | 1核2G | dds.shard.mid | 1000 |
2核4G | dds.shard.standard | 2000 | ||
4核8G | dds.shard.large | 4000 | ||
8核16G | dds.shard.xlarge | 8000 | ||
8核32G | dds.shard.2xlarge | 14000 | ||
16核64G | dds.shard.4xlarge | 16000 | ||
Configserver | 通用规格 | 1核2G | dds.cs.mid | 1000 |
2017年7月10日前的实例,且之后未进行过实例规格变更,将继续采用以下规格参数。
MongoDB副本集规格参数 | ||||
Mongodb副本集 | 规格信息 | 规格代码 | 最大连接数 | 最大IOPS |
---|---|---|---|---|
通用规格 | 1核2G | dds.mongo.mid | 200 | 800 |
2核4G | dds.mongo.standard | 400 | 1600 | |
4核8G | dds.mongo.large | 1000 | 3200 | |
8核16G | dds.mongo.xlarge | 2000 | 6400 | |
8核32G | dds.mongo.2xlarge | 4000 | 12800 | |
16核64G | dds.mongo.4xlarge | 8000 | 12800 | |
独享规格 | 2核16G | mongo.x8.medium | 2000 | 4500 |
4核32G | mongo.x8.large | 4000 | 9000 | |
8核64G | mongo.x8.xlarge | 8000 | 18000 | |
16核128G | mongo.x8.2xlarge | 16000 | 36000 | |
32核256G | mongo.x8.4xlarge | 32000 | 72000 | |
独占物理机 | 60核440G | dds.mongo.2xmonopolize | 36000 | 40000 |
MongoDB Sharding规格参数 | ||||
节点类型 | 规格类型 | 规格信息 | 规格代码 | 最大连接数 |
---|---|---|---|---|
Mongos | 通用规格 | 1核2G | dds.mongos.mid | 200 |
2核4G | dds.mongos.standard | 400 | ||
4核8G | dds.mongos.large | 1000 | ||
8核16G | dds.mongos.xlarge | 2000 | ||
8核32G | dds.mongos.2xlarge | 4000 | ||
16核64G | dds.mongos.4xlarge | 8000 |
节点类型 | 规格类型 | 规格信息 | 规格代码 | 最大IOPS |
---|---|---|---|---|
Shard | 通用规格 | 1核2G | dds.shard.mid | 800 |
2核4G | dds.shard.standard | 1600 | ||
4核8G | dds.shard.large | 3200 | ||
8核16G | dds.shard.xlarge | 6400 | ||
8核32G | dds.shard.2xlarge | 12800 | ||
16核64G | dds.shard.4xlarge | 12800 | ||
Configserver | 通用规格 | 1核2G | dds.cs.mid | 800 |
四、云数据库MongoDB功能特性
- 轻松使用MongoDB服务
- 快速创建:几步简单操作,即可拥有一台MongoDB云数据库。
- 快速升级: 实例配置支持弹性扩展、在线升级,轻松提升实例性能。
- 管理控制台:专业的管理控制台,包含实例管理、账号管理、性能监控、备份和恢复、阈值报警、安全控制等功能。
- 备份与恢复
- 自动备份:云数据库MongoDB支持用户自行设置备份周期。备份开始时间可根据自己的业务低峰灵活配置,所有备份文件免费保留7天。
- 临时备份:用户可以临时性发起备份操作,备份文件免费保留7天。
- 数据恢复:利用备份文件,用户可以直接覆盖型恢复至现有实例。
- 备份文件下载:云数据库会将用户的备份文件免费保留7天,在此期间用户可登录管理控制台,将备份文件下载至本地。
- 根据备份集创建实例:可根据备份文件在控制台上一键式创建实例,实现快速部署的需求。
- 全面监控云数据库MongoDB提供多达20种系统性能监控项,包括磁盘容量、IOPS、连接数、CPU利用率、网络流量、TPS、QPS、缓存命中率等,用户可获取最长1年内实例的运行状态信息。
- 安全保障IP白名单:提供对实例进行IP过滤功能,用户可登录云数据库MongoDB管理控制台进行IP白名单设置,设置后便可实现最高级的访问安全保护,IP白名单最多可配置1000条。
- 专业工具支持DMS是阿里云为云上数据库定制的基于WEB的数据库管理平台,可帮助普通开发人员、SA、DBA通过浏览器安全、方便地完成数据库管理和维护操作。
- 售后无忧如果在使用云数据库时遇到问题,可以拨打电话95187或者提交售后工单寻求帮助,专业售后工程师团队将提供7*24小时不间断的技术服务。
五、云数据库MongoDB产品优势
- 高可用
- 三节点副本集高可用架构,提供极高的业务可用性保障。云数据库MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务
器上,自动同步数据。Primary和Secondary节点提供服务,当Primary节点出现故障,系统自动选举新的Primary节点,当
Secondary节点不可用,由备用节点接管服务。 - 自动备份,一键式数据恢复,解决99.99%以上的系统故障。每天自动备份数据并上传至对象存储OSS,提高数据容灾能力的同时有效降低磁盘空间占用。通过备份文件将实例数据恢复至原实例,有效防范因误操作等原因对业务数据造成不可逆的影响。
- 三节点副本集高可用架构,提供极高的业务可用性保障。云数据库MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务
- 高安全多层安全防护体系,为您抵御90%以上的网络攻击。
- DDoS防护:在网络入口实时监测,当发现超大流量攻击时,对源IP进行清洗,清洗无效情况下可以触发黑洞机制。
- IP白名单配置:最多支持配置1000个允许连接MongoDB实例的服务器IP地址,从访问源进行直接的风险控制。
- 易用性完善的性能监控,为您分担60%以上的运维工作。提供CPU利用率、IOPS、连接数、磁盘空间等实例信息实时监控及报警,随时随地了解实例动态。
- 扩展性
- 副本集模式弹性扩容云数据库MongoDB支持三节点的副本集模式,支持弹性扩容。当前实例配置无法满足应用的性能要求,或者当前实例的配置过高,您可以变更实例的配置。变更过程完全透明,对业务无影响。
- 集群模式应对业务高峰云数据库MongoDB支持集群版本。用户可以自行选择多个Mongos和多个shard节点。当业务变化,当前实例配置无
法满足应用的性能要求,或者当前实例的配置过高,您可以变更Mongos和Shard节点的配置。变更过程完全透明,对业务无影响。也可以随时增加或删除
Mongos和Shard节点的个数,已满足业务变化的需求。
六、云数据库MongoDB应用场景
- 读写分离MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务器上,自动同步数据。Primary和Secondary节点提供服务。两个节点分别提供独立域名,配合MongoDB Driver可自行实现读取压力分配。
- 业务灵活多变由于MongoDB采用No-Schema的方式,对于初创型的业务非常适用,免去变更表结构的
痛苦。用户可以将模式固定的结构化数据存储在RDS中,模式灵活的业务存储在MongoDB中,高热数据存储在云数据库Memcache或云数据库
Redis中,实现对业务数据高效存取,相应降低成本投入。 - 移动应用云数据库MongoDB版支持二维空间索引,可以完美的支撑基于位置查询的移动类APP的业务需求。同时MongoDB动态模式存储方式非常适合存储多重系统的异构数据,满足移动APP应用的需求。
- 物联网应用云数据库MongoDB版性能极高,具备异步数据写入功能,特定场景下可达到内存数据库的性能,非
常适合物联网高并发写入的场景。同时MongoDB的map-reduce功能也可以将大量数据进行聚合分析。云数据库MongoDB版支持集群版本,可
动态扩容和增加Mongos和Shard组件的配置和个数,性能及存储空间可实现无限扩展。非常适合物联网海量数据及高并发性能场景 - 核心日志系统云数据库MongoDB版在异步落盘场景下可提供极高的插入性能,具备内存数据库的处理能力。MongoDB提供二级索引功能满足动态查询的需求,并且可以利用map-reduce的聚合框架进行多维度的数据分析。
先领取阿里云1888元优惠券:【一键领取】
阿里云数据库rds购买:阿里云数据库MongoDB