Amazon SimpleDB


Amazon SimpleDB es una base de datos distribuida escrita en Erlang [1] por Amazon.com . Se utiliza como servicio web junto con Amazon Elastic Compute Cloud (EC2) y Amazon S3 y forma parte de Amazon Web Services . Se anunció el 13 de diciembre de 2007. [2]

Al igual que con EC2 y S3, Amazon cobra tarifas por el almacenamiento, la transferencia y el rendimiento de SimpleDB a través de Internet. El 1 de diciembre de 2008, Amazon introdujo un nuevo precio con la capa gratuita [3] por 1 GB de datos y 25 horas de máquina. La transferencia a otros servicios web de Amazon es gratuita. [2]

SimpleDB proporciona consistencia eventual , que es una forma más débil de consistencia, en comparación con otros sistemas de administración de bases de datos . Esto a menudo se considera una limitación, porque es más difícil razonar, lo que dificulta escribir programas correctos que utilicen SimpleDB. Esta limitación es el resultado de una compensación de diseño fundamental. Al renunciar a la consistencia, el sistema puede lograr otras dos propiedades altamente deseables:

Se supone que las fallas de los componentes son inevitables; por lo tanto, ambas propiedades se consideraron necesarias para brindar un servicio web confiable . El teorema CAP establece que no es posible que un sistema exhiba estas propiedades junto con la consistencia; por lo tanto, los diseñadores necesitaban conformarse con una forma más débil de consistencia.

La colocación condicional y la eliminación condicional son operaciones nuevas que se agregaron en febrero de 2010. Abordan un problema que surge al acceder a SimpleDB simultáneamente. Considere un programa simple que usa SimpleDB para almacenar un contador, es decir, un número que se puede incrementar. El programa debe hacer tres cosas:

Si este programa se ejecuta mientras ningún otro programa accede a SimpleDB, funcionará correctamente; sin embargo, a menudo es deseable que las aplicaciones de software (particularmente las aplicaciones web ) accedan a los mismos datos al mismo tiempo. Cuando se accede a los mismos datos al mismo tiempo, surge una condición de carrera , lo que daría como resultado una pérdida de datos indetectable.


Logotipo de SimpleDB