1

我正在研究存儲用戶創建的調查的數據庫。數據庫需要存儲每個調查的唯一ID。使用SQL,我只使用SERIAL列類型,因此每行都有一個自動遞增的數字鍵。Amazon SimpleDB是我的數據的不錯選擇嗎?

SimpleDB似乎將所有東西都存儲爲一個字符串,這意味着我必須自己生成一個唯一的密鑰。由於這個密鑰將成爲URL的一部分,我認爲UUID太長了。我希望能夠加載一個調查的東西,如:

foo.com/1a

有沒有什麼辦法讓SimpleDB中爲您生成存儲每個項目的唯一行ID?謝謝!

回答

2

好吧,所以你在這裏徵求意見....我會選擇任何其他存儲機制在simpledb。例如,您可以輕鬆地使用MongoDB作爲關係數據庫的文檔存儲替代品,並獲得比SimpleDB更多的好處。

只要想要一個簡短的唯一的URL,你可以搜索並找到一個紅寶石的實現將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=>'' 

這將創建

htt p:// yourapp/7sh_

當然,這種技術可以用於非mongo安裝。

+0

如果你想要simpledb,請查看https://github.com/appoxy/simple_record – 2011-03-20 17:13:02

+0

謝謝!我們實際上已經決定與MongoDB和MongoHQ一起主持..我們越是關注SimpleDB,我們越不喜歡它。感謝您的反饋意見! – 2011-03-28 04:41:51

0

SDB Explorer支持從MYSQL到Amazon SimpleDB的批量上傳。您可以使用Upload功能將您的MYSQL數據上傳到Amazon SimpleDB。上傳SDB資源管理器生成唯一的ID。即使您可以選擇您自己的MYSQL文件作爲itemName(),也就是Amazon SimpleDB的唯一ID。

相關問題