首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于小生产项目的MongoDB,流量很低,但有快速扩展的机会

用于小生产项目的MongoDB,流量很低,但有快速扩展的机会
EN

Stack Overflow用户
提问于 2022-01-03 19:19:15
回答 1查看 45关注 0票数 0

我遇到了DBs (特别是MongoDB)的问题。

起初,我想把它部署到MongoDB Atlas Cloud上,但是对于像我这样的小项目来说,生产集群(M30和更高版本)非常昂贵。

现在,我正在考虑在Heroku或者AWS实例的某个地方部署MongoDB副本集。

你能不能提出任何适合生产的方法/解决方案,不会花很多钱?

正如我所看到的,AWS为DBs提供了一些免费的层(Amazon RDSAmazon DynamoDB和其他层),但是它真的是免费的还是一个陷阱?因为我听说AWS的定价政策并不像在定价页面上看到的那样甜蜜(实际上)。

欢迎任何建议或帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-04 01:00:01

您用MongoDB进行实验的最便宜的方法仍然提供了一条扩展到更大的东西的途径,那就是获得一个免费的EC2实例,比如t2.micro,然后自己在上面安装MongoDB社区。Linux64bit发行版可以在这里获得:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-5.0.5.tgz。只需在该tarfile上运行tar xf,就可以提取mongod服务器和mongo CLI可执行文件。不需要其他配置,您可以这样启动它:

代码语言:javascript
复制
$ mkdir -p /path/to/dbfiles
$ mongod --dbpath /path/to/dbfiles --logpath /path/to/dbfiles/mongo.log --replSet "rs0" --fork

您不需要使用副本集来使用聚合、事务等。

这个解决方案还会让您了解许多重要的事情,比如网络安全、数据库安全、日志管理、驱动程序兼容性、密钥库,以及使用AWS控制台,或者使用AWS CLI来操作环境。你可以在一台更大的机器上毕业,然后创建并加入一个复制集的成员--或者你可以冒险使用MongoDB地图集。但到那时,您将对函数(尤其是函数)感到满意。聚合管道、文档模型、驱动程序等等,基本上都是在一个零成本平台上学习的。

性能在这里并不是真正的问题,但是在没有特殊设置的t2.micro实例上使用方便的负载生成器POCDriver (https://github.com/johnlpage/POCDriver),文档大小为0.28Kb,在默认的4个线程和批处理更新删除(-b 1)的情况下,90/10读/插入混合(-b 1),我们在主键_id上得到大约450个插入/秒和4200个读/秒。

代码语言:javascript
复制
java -jar POCDriver.jar --host "mongodb://localhost:27017" -k 90 -i 10 -b 1

当然,负载生成器正在与DB引擎本身竞争资源,但是作为第一步,了解独立于网络考虑的性能是很好的。从启动EC2实例到运行测试,包括安装java sudo yum -y install java-1.8.0-openjdk-devel.x86_64,花费了大约5分钟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70570429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档