Я подумал, что мог бы использовать SimpleDB для того, чтобы позаботиться о самой сложной области моего приложения (в том, что касается масштабирования) - твиттероподобных комментариев, но с расположением сверху - до того момента, когда я сел, чтобы фактически начать реализуя его с SDB.
Во-первых, SDB имеет ограничение 1000 байтов на значение атрибута, которого недостаточно даже для комментариев (вероятно, необходимо разбить более длинные значения на несколько атрибутов).
Тогда максимальный размер домена составляет 10 ГБ. Было обещано, что вы можете масштабироваться, не беспокоясь о разбиении базы данных и т. Д., Поскольку SDB не будет ухудшаться при увеличении загрузки данных. Но если я правильно понимаю, с доменами у меня будет точно такая же проблема, как с шардингом, т.е. в какой-то момент необходимо реализовать распределение записей данных и запросы по доменам на уровне приложений.
Даже для самых простых объектов, которые у меня есть во всем приложении, т.е. атомарные пользовательские рейтинги, SDB не вариант, потому что он не может вычислить среднее значение в запросе (все основано на строке). Таким образом, чтобы рассчитать среднюю пользовательскую оценку для объекта, мне нужно было бы загрузить все записи - 250 за раз - и рассчитать их на уровне приложения.
Я что-то упускаю из SDB? Действительно ли 10 ГБ - это большая часть базы данных, чтобы преодолеть все ограничения SDB? Я был искренне в восторге от использования SDB, поскольку я уже использую S3 и EC2, но сейчас я просто не вижу варианта использования.