本文档详细介绍MongoDB Serverless版的架构、实现以及应用场景。

产品定义

MongoDB是当今主流的NoSQL数据库,也是功能强大、社区完善的文档数据库,但是由于产品形态偏中大型客户,起配门槛高,对于小企业或个人开发者不够友好。针对这个问题,阿里云推出了MongoDB Serverless形态,该形态是通过内核和代理层面实现命名空间及存储空间隔离的多租户MongoDB数据库服务,提供代理、网络资源、命名空间、存储空间的垂直资源隔离能力,同时提供计算资源按需计费能力,具有资源用量低、简单易用、弹性灵活、价格低廉等优点,完美解决了MongoDB使用门槛高的问题,帮助中小客户轻松上云。

使用限制

目前版本的MongoDB Serverless版实例暂不支持弹性扩缩容功能,将会在以后的版本中提供支持。

产品架构

产品架构图
  • 如上图所示,在创建实例后,系统会在VPC中为用户申请虚拟IP(VIP),并使用该虚拟IP随机绑定代理资源池内固定的两个Mongos节点,在提供服务时,仅连接其中一个Mongos节点,当该Mongos节点故障无法访问时,系统会自动切换到另一个Mongos节点,同时故障节点会被自动修复挂起备用,保证服务的高可用。
  • 通过租户ID(TenantID)+命名空间(Namespace)的方式在Mongos层面实现数据的逻辑隔离。

与云数据库MongoDB版的区别

MongoDB Serverless版的底层是通过MongoDB的分片集群来实现的,下表以最近似于Serverless版的1核2GB规格的分片集群实例为例,对比云数据库MongoDB版和MongoDB Serverless版的优缺点。

对比项目 MongoDB分片集群实例 MongoDB Serverless版
网络类型
  • 经典网络
  • 专有网络
专有网络
数据库版本
  • 3.4
  • 4.0
  • 4.2
4.2
最大连接数 1000 50
最大IOPS 1000 100
存储空间 10GB 10GB
服务可用性 支持 支持
备份恢复 控制台支持。 可通过mongodump、mongorestore支持。详情请参见使用MongoDB工具迁移自建数据库上云
实例监控 支持 支持
安全管理
  • 支持白名单设置。
  • 支持安全组设置。
  • 支持链路加密。
  • 支持数据存储加密。
  • 支持BYOK。
  • 支持白名单设置。
  • 支持安全组设置。
账号管理 支持控制台创建账号。 提供默认账号,支持修改密码。
日志管理
  • 支持慢日志。
  • 支持审计日志。
  • 支持运行日志。
不支持
弹性扩缩容 不支持,需要在控制台手动扩缩容。 根据实际业务场景自动扩缩容,节省资源消耗。
架构 单独享有一个集群。 多租户,通过租户ID和命名空间的方式实现资源隔离。
售价 1026.60元/月 78.2元/月

读写吞吐量CU

MongoDB Serverless版较为重要的是它的服务能力,即读写吞吐量。读写吞吐量的单位为读服务能力单元和写服务能力单元,简称CU(Capacity Unit),是数据读写操作的最小单位。当用户对MongoDB Serverless实例的数据库进行读写操作时,会消耗对应的写服务能力单元和读服务能力单元。
  • 1个单位的读服务能力单元表示从数据表中读取一条4KB数据。
  • 1个单位的写服务能力单元表示向数据表写入一条4KB数据。
  • 操作数据大小不足4KB的部分向上取整。例如写入7.6KB数据消耗2个单位的写服务能力单元,读取0.1KB数据消耗1个单位的读服务能力单元。
说明 目前MongoDB Serverless版提供了100CU的读写吞吐能力。100CU的实例中最多可创建10个数据库,10个数据库中集合(Collection)的总数可达100个。

用户场景

MongoDB Serverless版适用于如下用户:
  • 中小型轻量级的用户:MongoDB Serverless版非常适用于即开即用型的中小客户,无需购买整个集群,按使用量收费。短暂使用成本可以压缩到原来的10%以下。秒级别服务启动和销毁的速度也让客户的应用非常灵活。
  • 希望全托管或完全免运维的用户:MongoDB Serverless版后台的运维团队是经过长期技术积累的阿里运维团队,可以非常专业地对集群进行运维、升级、调优和问题处理。对于中小公司提供完全免运维的集群服务,后台服务永远高效稳定。