Pensé que podría usar SimpleDB para encargarme del área más desafiante de mi aplicación (en lo que respecta al escalado) - comentarios tipo twitter, pero con ubicación en la parte superior - hasta el momento en que me senté para comenzar a implementar con SDB.¿De qué sirve usar Amazon SimpleDB?
En primer lugar, SDB tiene una limitación de 1000 bytes por valor de atributo, lo que no es suficiente incluso para comentarios (probablemente deba desglosar valores más largos en atributos múltiples).
Entonces, el tamaño máximo de dominio es 10GB. La promesa fue que podría escalar sin preocuparse por la acumulación de datos de la base de datos, etc., ya que SDB no se degradará con el aumento de la carga de datos. Pero si lo entiendo correctamente, con los dominios tendría exactamente el mismo problema que con la fragmentación, es decir. en algún momento, es necesario implementar la distribución de registros de datos y las consultas entre los dominios en el nivel de la aplicación.
Incluso para los objetos más simples que tengo en toda la aplicación, es decir. calificaciones de usuarios atómicos, SDB no es una opción, porque no puede calcular un promedio dentro de la consulta (todo está basado en cadenas). Entonces, para calcular la calificación promedio de un usuario, tendría que cargar todos los registros, 250 a la vez, y calcularlos en el nivel de la aplicación.
¿Me está faltando algo sobre SDB? ¿Realmente 10 GB es una base de datos para superar todas las limitaciones de SDB? Honestamente, me entusiasmé con tomar ventaja de SDB, ya que uso S3 y EC2, pero ahora simplemente no veo un caso de uso.
A partir del 24 de febrero de 2010, es posible realizar lecturas consistentes y envíos condicionales en SimpleDB. Esto hará posible que el usuario seleccione el nivel de consistencia/concurrencia necesario. ¡Bonito! :) – Kaitsu