小编Zen*_*Inc的帖子

在EC2上扩展MongoDB还是应该切换到DynamoDB?

我目前在使用MongoDB的单个服务器上运行我的网站.在我的服务器上,我有两个组件(1)一个每小时运行一次的爬虫,并将数据附加到我的MongoDB实例(2)一个从爬虫索引中读取并写入用户个性化数据库的网站.我正在转向Amazon EC2进行自动扩展,因此Web服务器可以自动扩展,因此随着Web流量的增加,我可以增加服务器数量.我不需要为我的抓取工具自动缩放.这对我如何使用MongoDB提出了挑战.我想知道我最好的选择是优化

  • 我的代码的最小更改(代码在perl中)
  • 能够无缝添加/删除Web服务器,而无需担心数据库中的数据丢失
  • 低成本

在短期内,DB肯定能够适应所有机器的内存,因为它将低于2 GB.用户个性化DB无法重建,因此更重要的是,可以轻松地重建索引.当前的MongoDB爬网索引有大约10万个条目,这些条目在~15个不同的列上键入.这是为了速度而建立的,因为我正在开发一个在线约会网站(可以通过多种方式进行搜索).

我可以想到几个选择

  1. 将SimpleDB用于用户个性化存储,将MongoDB用于索引.让索引在所有机器上复制,但是,我不太了解MongoDB复制.
  2. 将所有内容移至SimpleDB
  3. 将所有内容移至DynamoDB

我不太了解SimpleDB和/或DynamoDB.根据文章看起来DynamoDB似乎是一个自然的选择,但我不确定perl的良好支持,我是否可以拥有所有列,索引等.任何人都有经验或有任何建议吗?

perl mongodb amazon-simpledb amazon-dynamodb

8
推荐指数
1
解决办法
4271
查看次数

DynamoDB或SimpleDB可以取代我的MongoDB用例吗?

我想知道DynamoDB或SimpleDB是否可以取代我的MongoDB用例?以下是我使用MongoDB的方法

  • 15k条目,我每小时增加200个条目
  • 15列,每列使用(ensureIndex)索引
  • 一半列是整数,其他列是文本字段(基本上不超过10个唯一值)
  • 我每小时运行大约10k DB读取,现在它们与MongoDB非常快.这是一个在线约会网站.因此,Mongo查询的平均值是对2列(例如年龄和高度)进行范围搜索,"IN"搜索大约4列(例如种族是A,B或C ...宗教是A,B, ro C).
  • 我经常使用限制和跳过(例如,给我前40个条目,接下来的40个条目等)
  • 我用perl来读/写

mongodb amazon-dynamodb

4
推荐指数
1
解决办法
5205
查看次数

标签 统计

amazon-dynamodb ×2

mongodb ×2

amazon-simpledb ×1

perl ×1