Является ли Amazon SimpleDB хорошим выбором для моих данных? - PullRequest
1 голос
/ 20 марта 2011

Я работаю над базой данных, в которой хранятся пользовательские опросы. База данных должна хранить уникальный идентификатор для каждого опроса. Используя SQL, я бы просто использовал тип столбца SERIAL, чтобы в каждой строке был автоматически увеличивающийся цифровой ключ.

SimpleDB, похоже, хранит все в виде строки, что означает, что мне придется самому генерировать уникальный ключ Поскольку этот ключ будет частью URL, я думаю, что UUID слишком длинный. Я хочу иметь возможность загрузить опрос с чем-то вроде:

foo.com / 1a

Есть ли способ, чтобы SimpleDB генерировал уникальный идентификатор строки для каждого элемента, который вы храните? Спасибо!

Ответы [ 2 ]

2 голосов
/ 20 марта 2011

ОК, так что вы спрашиваете мнения здесь .... Я бы выбрал любой другой механизм хранения, а не просто.Например, вы можете легко использовать MongoDB в качестве альтернативы хранилищу документов для реляционной БД и получить больше преимуществ, чем с SimpleDB.

Если вам нужен короткий уникальный URL-адрес, вы можете найти и найти реализацию ruby ​​дляпревратить идентификатор в закороченный идентификатор.http://blog.kischuk.com/2008/06/23/create-tinyurl-like-urls-in-ruby/

Эта реализация превратит 1174229 в "7sH_" (согласно посту. YMMV) * ​​1006 *

Таким образом, у вас будет что-то вроде

class Survey
  include Mongoid::Document

  def to_param
    generate_url(self.id)
  end
end

вмаршруты

resources :surverys, :path=>''

И это создаст

http://yourapp/7sh_

Конечно, эта техника может работать для инсталляций не монго.

0 голосов
/ 22 марта 2011

SDB Explorer поддерживает массовую загрузку из MYSQL в Amazon SimpleDB. Вы можете загрузить свои данные MYSQL в Amazon SimpleDB, используя функцию Upload . При загрузке SDB Explorer генерирует уникальный идентификатор. Даже вы можете выбрать свой собственный MYSQL, поданный как itemName (), то есть уникальный идентификатор для Amazon SimpleDB.

...