Amazon SimpleDB是我数据的不错选择吗?

时间:2011-03-20 05:35:05

标签: ruby-on-rails database amazon-web-services amazon-simpledb

我正在开发一个存储用户创建的调查的数据库。数据库需要为每个调查存储唯一的ID。使用SQL,我只使用SERIAL列类型,因此每行都有一个自动递增的数字键。

SimpleDB似乎将所有内容都存储为字符串,这意味着我必须自己生成一个唯一的密钥。由于此密钥将成为URL的一部分,我认为UUID太长了。我希望能够通过以下方式加载调查:

foo.com/1a

有没有办法让SimpleDB为您存储的每个项目生成唯一的行ID?谢谢!

2 个答案:

答案 0 :(得分:2)

好的,所以你在这里要求意见....我会选择任何其他存储机制而不是simpledb。例如,您可以轻松地将MongoDB作为关系数据库的文档存储替代方案,并获得比使用SimpleDB更多的好处。

就想要一个简短的唯一URL而言,您可以搜索并找到一个ruby实现,将ID转换为一个短ID。 http://blog.kischuk.com/2008/06/23/create-tinyurl-like-urls-in-ruby/

该实施将1174229变为“7sH_”(根据帖子.YMMV)

所以,你有类似

的东西
class Survey
  include Mongoid::Document

  def to_param
    generate_url(self.id)
  end
end

在路线

resources :surverys, :path=>''

这将创造

<强>的http:// yourapp / 7sh_

当然这种技术可以用于非mongo安装。

答案 1 :(得分:0)

SDB Explorer支持从MYSQL批量上传到Amazon SimpleDB。您可以使用Upload功能将MYSQL数据上传到Amazon SimpleDB。上传SDB Explorer时会生成唯一ID。即使您可以选择自己的MYSQL作为itemName(),也就是Amazon SimpleDB的唯一ID。