database - 我的应用程序 (MongoDB) 需要哪个 M.. 层?
问题描述
我是 MongoDB 新手,
我有一个本地餐厅的 Ionic 应用程序,您可以在其中订购一些产品。该应用程序还有一个注册来创建一些用户。还有一个 Angular Web App,您可以在其中放入产品并查找用户等。
这两个应用程序都连接到 MongoDB。不幸的是,我不知道部署这两个应用程序需要哪个数据计划。
切换到 Firebase 会更好吗?
有人可以帮我吗?
最好的问候巴斯蒂
解决方案
在MongoDB-Atlas中选择层取决于各种因素,例如数据大小、IOPS、价格等。正如您所说,这是针对当地餐馆的,我假设应用程序的流量可能会减少,那么在这种情况下,您可以这样做,M10
因为 MongoDB Atlas 真正为生产环境中使用的数据库提供了一些有价值的特性。对于开发环境,您可以尝试使用M5
集群。您可以享受使用M10
或以上的一些功能是:
- 专用集群:集群将每个
mongod
进程部署到自己的实例,其中M0
,M2
&M5
在共享环境中,因此 Atlas 将在可用性时自动将集群升级到最新版本,这在实时应用程序中不是首选,因为可能有一个功能/包可以打破升级。 - 可查询备份:您可以利用查询特定的连续备份快照,这对于恢复部分数据而不是一天前备份的整个数据集非常有帮助。
- 支持网络对等:由于现在大多数项目都使用云平台来部署应用程序,集群 >=
M10
支持网络对等。 - Metrics & Performance Advisor :这是使用集群 >= 将受益的最重要的事情
M10
。使用警报,您将了解哪种查询需要花费大量时间,在给定时间打开了多少连接,监控 CPU 阈值并获得警报,此外 MongoDB 可以建议您创建索引以提高查询性能在无法使用已存在的索引的集合上运行。
归根结底,其余大多数其他功能几乎保持不变。根据我的经验,您通常会为 MongoDB Atlas 帐户估计并预付一定金额大约 3 年,如果您没有使用所有这些,您将无法获得任何回报。此外,您可以随时手动升级和降级集群,也可以根据传入流量自动扩展或缩减集群。
参考: 集群层
推荐阅读
- java - 获取sqlite繁忙异常[SQLITE_BUSY]数据库文件被锁定(数据库被锁定)
- python - 在 python 中使用 SQL 减号运算符
- python - 移除 HTML 标签并将 JSON 数组解析为键/值对象
- mysql - 了解 InnoDB 可重复读取隔离级别快照
- blazor - 带有 OnInitializedAsync 的选项卡?
- google-apps-script - 动态地将数据拉到另一个工作表上
- elasticsearch - EFK堆栈与geoip数据
- javascript - 在 nextjs 中生成静态 API 路由
- javascript - 从使用 Flask 组织的表单中收集数据
- sql - 将查询/表返回到变量中