13

Me pregunto cuál es la verdadera diferencia técnica entre Amazon S3 y Amazon SimpleDB. Desde mi poca comprensión, ambos se pueden usar para almacenar y recuperar pares clave/valor. Entonces, ¿en qué situación necesitaría SimpleDB en lugar de S3? ¿Cómo se diseñó SimpleDB para ofrecer un mejor rendimiento (es un sistema de archivos, base de datos u otro)?Diferencia entre SimpleDB y S3


Pensamiento adicional: Sé que SimpleDB se trata de almacenar pares clave/valor. ¿Hay alguna información sobre cómo genera el índice de hash de la clave para una búsqueda?

Respuesta

8

Amazon describe las diferencias entre S3 y SimpleDB en el SimpleDB overview page. Almacenan objetos S3 en almacenamiento más lento y objetos SimpleDB en almacenamiento más rápido, lo que significa que es más caro almacenar la misma cantidad de datos en SimpleDB que en S3.

Si simplemente almacena grandes objetos binarios como valores y está almacenando metadatos por su cuenta o puede obtener fácilmente la clave para el objeto que desea, entonces probablemente solo use S3.

SimpleDB se utilizaría sobre S3 en el caso en que desee almacenar múltiples pares clave-valor asociados con un elemento y desee conservar la capacidad de buscar elementos en función de cualquiera de los pares clave-valor.

S3 le permite almacenar metadatos clave-valor junto con el objeto, pero para encontrar un objeto basado en los metadatos, debe recuperar los metadatos para cada objeto en su cubo y decidir qué elemento (o artículos) que desea obtener Eso puede ser lento y costoso para grandes cubos. Además, existe un límite en la cantidad de metadatos que puede almacenar y recuperar si está utilizando la API REST.

SimpleDB es más flexible con los metadatos almacenados. Los pares clave-valor están indexados, por lo que las consultas pueden ser rápidas. Puede agregar y modificar pares clave-valor que ya están en SimpleDB, donde deberá eliminar y volver a crear objetos en S3 para actualizar los metadatos. Sin embargo, hay un límite de 1024 bytes para el tamaño de la clave y los valores, y un límite general para la cantidad de datos en un dominio (análogo de segmento). Todos los límites de SimpleDB se enumeran en el SDB Developer Guide.

Si está almacenando objetos grandes con una gran cantidad de metadatos de valores-clave, probablemente utilice un enfoque híbrido. La página de descripción general de Amazon sugiere almacenar metadatos en SimpleDB con uno de los pares clave-valor siendo un puntero a S3 para los datos del objeto.

+17

O, para decirlo sin rodeos: SimpleDB es una base de datos, S3 es un sistema de archivos. –

+2

De hecho. Ese es el tl; dr. –