本文介绍MongoDB Serverless版的架构、实现方法及应用场景,帮助您了解MongoDB Serverless版本,使您能够快速判断MongoDB Serverless是否能够满足您的业务需求。
注意 云数据库MongoDB自2022年7月11日起停止新购Serverless(预设容量)实例,更多信息,请参见【通知】云数据库MongoDB停止新购Serverless(预设容量)实例。
产品定义
MongoDB Serverless版是阿里云针对小型企业或个人开发者推出的一款数据库。MongoDB Serverless版本不仅提供代理、网络资源、命名空间、存储空间的垂直资源隔离能力,还提供计算资源按需计费的能力,具有资源用量低、简单易用、弹性灵活和价格低廉等优点,完美地解决了MongoDB偏向中大型用户使用和使用门槛高的问题,帮助中小型客户轻松上云。
读写吞吐量CU
MongoDB Serverless版较为重要的是它的服务能力,即读写吞吐量。读写吞吐量的单位为读服务能力单元和写服务能力单元,简称CU(Capacity Unit),是数据读写操作的最小单位。当用户对MongoDB
Serverless实例的数据库进行读写操作时,会消耗对应的写服务能力单元和读服务能力单元。
- 1个单位的读服务能力单元表示从数据表中读取一条4 KB数据。
- 1个单位的写服务能力单元表示向数据表写入一条1 KB数据。
- 操作数据大小不足4 KB的部分向上取整。
例如写入7.6 KB数据消耗8个单位的写服务能力单元,读取0.1 KB数据消耗1个单位的读服务能力单元。
- 您可以根据业务需要选择MongoDB Serverless实例的计算规格(取值范围为100~8000 CU,步长为100 CU)和存储空间(取值范围为1~100 GB,步长为1
GB)。
说明 100 CU规格表示每秒可以消耗100个读服务能力单元或写服务能力单元,超出规格限制会触发限流。为了应对突发流量,Serverless版提供burst能力,即允许业务短时间内在超出CU规格时预支更多的CU来使用。
产品架构
MongoDB Serverless版实例创建完成后,系统会自动在专有网络VPC中为您申请虚拟IP(VIP),并使用该虚拟IP在代理资源池内随机绑定两个Mongos节点。当提供服务时,会连接其中的一个Mongos节点,如果该节点发生故障无法访问,系统自动将服务数据切换至另一个Mongos节点,同时发生故障的节点会被自动修复挂起,作为备用,保证服务的高可用。
MongoDB Serverless版中,Mongos节点实现数据逻辑隔离的方式为租户ID(TenantID)+命名空间(Namespace)。
与云数据库MongoDB版的区别
MongoDB Serverless版的底层通过MongoDB的分片集群实现。MongoDB Serverless版和MongoDB通用/独享版的区别如下表所示。
对比项目 | MongoDB通用/独享版 | MongoDB Serverless版 |
---|---|---|
网络类型 |
|
专有网络 |
数据库版本 |
|
4.2 |
最大连接数 | 500~100000 | 50 |
最大IOPS | 8000~100000 | 不适用 |
存储空间 | 10 GB~2 TB | 1 GB~100 GB |
服务可用性 | 支持 | 不支持 |
备份恢复 | 控制台支持。 | 通过mongodump、mongorestore工具实现。详情请参见备份自建数据库。 |
实例监控 | 支持 | 支持 |
安全管理 |
|
|
账号管理 | 支持通过如下方式管理数据库账号: | 提供默认账号,支持修改密码。 |
日志管理 |
|
不支持 |
弹性扩缩容 | 支持在控制台手动扩缩容。 | 支持在控制台手动扩缩容。 |
架构 | 单独享有一个集群。 | 多租户,通过租户ID和命名空间的方式实现资源隔离。 |
连接实例 | 支持如下方法连接实例:
|
|
用户场景
MongoDB Serverless版适用于如下用户:
- 中小型轻量级的用户:MongoDB Serverless版适用于即开即用型的中小客户。短暂使用成本可以压缩到原来的10%以下,秒级别服务启动和销毁的速度也让客户的应用非常灵活。
- 希望全托管或完全免运维的用户:MongoDB Serverless版后台的运维团队是经过长期技术积累的阿里运维团队,能够专业地对实例进行运维、升级、调优和问题处理。对于中小公司提供完全免运维服务,后台服务高效稳定。