公司开始新项目时部分数据服务选择使用MongoDB,而且在同事内部作了MongoDB应用的扫盲介绍,当时貌似Mysql派和MongoDB派相互之间都没有能说服对方,所以MongoDB的使用就一直延续下来。直到几天前,在考虑系统上线发布和运营时,一些问题出现了。
1.MongoDB存储文件会急剧增大,如果使用32位操作系统很容易达到单个文件体积上限。所以对于MongoDB必须使用64位操作系统,而在亚马逊的EC2中只有是large以上类型的instance的CPU才是64位。
2.MongoDB一般都推荐是多点部署,互为镜像,这样保证服务的延续性和数据的安全性。所以如果需要提供稳定的服务,至少需要2台EC2的instance来作MongoDB服务。而实际对于我们大数据量计算操作可能在一天内累计只有大概1小时,其余时间更多只是少量数据查询操作。
综合以上两点,如果继续使用MongoDB,至少需要两台large以上instance,并且是7X24小时运行,感觉是对运算能力的浪费。
再三讨论后我们决定暂时放弃MongoDB,
将这部分的运算改为使用MapReduce
来处理。亚马逊的MapReduce可以充分体现按需使用运算能力的特性,在使用MapReduce完成所有计算需要后,再将需要查询使用的结果数据导入到Mysql数据库中。这样即满足了那1小时内需要的运行能力,又满足了其余时间对计算结果的查询需求。
通过以上的事例,说明在使用云计算平台时,对程序开发技术的选型必须充分考虑到平台能够提供虚拟硬件设备的技术指标。并且需要转变以往的设计思路,更多考虑到云平台方便启动和关闭instance的特性。尽量减少7X24长时间使用相同一台instance作服务的应用,如果这样的服务无法避免时,应该考虑多台冗余,并在程序设计中去除对instance的内网ip地址耦合,当某台instance出现故障而需要更新新的instance时,内网ip
地址变化不会导致程序无法正常运行。
分享到:
相关推荐
Olery成立最初是使用MySQL来存储(用户、合同等等)核心数据,用MongoDB来存储评论及其类似的数据(即哪些在数据丢失的情况下很容易恢复的数据)。一开始,这样的安装运行的非常好,然而,随着公司的成长,开始遇到了...
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
环境 Docker 安装 MongoDB ...docker run -itd –name mongo -p 27017:27017 ...放弃MongoDBVue 客户端用MongoChef git项目 node使用 [转] 深入浅出mongoose—–包括mongoose基本所有操作,非常实用!!! var Tank = mongoos
java的MongoDB驱动包
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
该rar包中包括MOngoDB数据库操作基本的增删改查,以及在CMD命令行中怎么配置MOngodb和增删改查,还有就是连接mongoDB的jar包和详细的操作文档,本来想上传NOde.js来着,可是只能上传60兆,只能放弃了,不过这些已经...
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
MongoDB是面向文档的数据库,不是关系型数据库。放弃关系模型的主要原因就是为了获得更加方便的扩展性,当然还有其他好处。
基本思路就是将原来”行”(row)的观念转化为更加灵活的”文档”(document)模型.面向文档的方式可以将文档或者数组内嵌进来,所以可以用一条记录表示非常复杂的层次关系. MongoDB没有模式:文档的键不会事先定义也不会...
话虽这么说,多年来,似乎有人从中受益匪浅,所以我放弃了它,如果有人使用它,我很高兴继续接受PR。 -伊恩描述这是一个非常简单的库,用于包装Mongo API,并使PHP Web应用程序使用起来更加方便。 如果需要更复杂的...
mongodb4.0
py-mongo-sync 它可用于将数据从一个副本集同步到另一个MongoDB部署(独立,副本集或分片群集)。 它基于oplog,并提供实时数据同步。 支持 ... 3.6版增加了对MongoDB 3.6的支持,放弃了对CPython 3.3
发布下mongodb 的最新版本下载地址(百度网盘)-附件资源
Voter Service是一种RESTful Web服务,由MongoDB(在GCP上使用Atlas)和RabbitMQ(在GCP上使用CloudAMQP)支持。 它是Voter API的一部分(请参见下图)。 Voter服务公开了以下列出的几个HTTP API端点。 API用户可以...
docs:《数据采集从入门到放弃》源码。内容简介:爬虫介绍,就业情况,爬虫工程师面试题; HTTP协议介绍;请求使用;解析器Xpath介绍; MongoDB与MySQL;多线程爬虫; Scrapy介绍; Scrapy -redis介绍;使用docker...
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱