Amazon SimpleDB es un datastore NoSQL de alta disponibilidad que elimina las tareas de administración de base de datos. Los desarrolladores simplemente almacenan elementos de datos y los consultan mediante solicitudes de servicios web, y Amazon SimpleDB se encarga del resto.
Sin las limitaciones impuestas por las bases de datos relacionales, Amazon SimpleDB está optimizado para ofrecer alta disponibilidad y flexibilidad con poca o ninguna carga administrativa. La labor de Amazon SimpleDB pasa inadvertida: se encarga de crear y administrar varias réplicas de sus datos y las distribuye geográficamente para permitir alta disponibilidad y capacidad de duración. El servicio solo le cobra los recursos consumidos en almacenamiento de los datos y en distribución de las solicitudes. Es posible cambiar el modelo de datos sobre la marcha, y el sistema indexa los datos automáticamente por usted. Con Amazon SimpleDB, usted podrá centrarse en el desarrollo de aplicaciones sin preocuparse por el aprovisionamiento de la infraestructura, la alta disponibilidad, el mantenimiento del software, la administración de esquemas e índices, o el ajuste del desempeño.
El servicio le permite centrarse completamente en el desarrollo de aplicaciones que añadan valor, en lugar de dedicar mucho tiempo a arduas tareas de administración de bases de datos. Amazon SimpleDB administra automáticamente el aprovisionamiento de la infraestructura, el mantenimiento del hardware y del software, la replicación e indexación de elementos de datos y el ajuste del desempeño.
Amazon SimpleDB crea automáticamente varias copias de cada elemento almacenado y las distribuye geográficamente. De esta forma se ofrece alta disponibilidad y capacidad de duración: en el caso improbable de que falle una réplica, Amazon SimpleDB puede realizar una conmutación por error utilizando otra réplica del sistema.
A medida que cambie su negocio o evolucione la aplicación, podrá reflejar dichos cambios fácilmente en Amazon SimpleDB sin preocuparse por si rompe un esquema rígido o necesita refactorizar código: basta con añadir otro atributo a su conjunto de datos en Amazon SimpleDB cuando lo necesite. También puede elegir entre solicitudes de lectura consistente o consistente final, lo que permite ajustar los requisitos de desempeño de lectura (latencia y rendimiento) y de consistencia a las demandas de la aplicación, o incluso diferenciar partes de la aplicación.
Amazon SimpleDB ofrece un acceso optimizado a las funciones de almacenamiento y consultas que se suelen llevar a cabo mediante un clúster de bases de datos relacionales, al tiempo que excluye otras operaciones de bases de datos que son complejas y que muchas veces ni se utilizan. El servicio permitirá agregar datos con rapidez y recuperar o editar fácilmente datos mediante un sencillo conjunto de llamadas al API.
Amazon SimpleDB está diseñado para integrarse fácilmente con otros servicios de AWS, como Amazon S3 y EC2, lo que aporta la infraestructura para la creación de aplicaciones a escala web. Por ejemplo, los desarrolladores podrán ejecutar sus aplicaciones en Amazon EC2 y almacenar sus objetos de datos en Amazon S3. Con este planteamiento, es posible utilizar Amazon SimpleDB para consultar los metadatos de los objetos desde dentro de la aplicación en Amazon EC2 y devolver punteros dirigidos a los objetos almacenados en Amazon S3. Los desarrolladores también pueden utilizar Amazon SimpleDB con Amazon RDS para las aplicaciones que necesiten bases de datos tanto relacionales como no relacionales. La transferencia de datos entre Amazon SimpleDB y otros servicios de Amazon Web Services situados en la misma región es gratuita.
Amazon SimpleDB ofrece un extremo https para garantizar la seguridad y la encriptación de la comunicación entre la aplicación o cliente y el dominio. Además, mediante la integración con AWS Identity and Access Management, podrá controlar el acceso a determinados dominios y operaciones de SimpleDB a nivel de usuarios o de grupos.
Amazon SimpleDB repercute sobre usted los beneficios financieros de Amazon. Solo pagará por los recursos que utilice realmente. En el caso de Amazon SimpleDB, esto significa que las operaciones de lectura y escritura de datos se facturan en función de los recursos de computación que consume cada operación, y que no se le facturan recursos de computación cuando no los está utilizando de forma activa (por ejemplo, la realización de solicitudes).
Como Amazon SimpleDB permite librarse por completo del trabajo necesario para dirigir una base de datos de producción, muchos desarrolladores lo consideran un almacén de datos ideal y casi automático para el registro de información relacionada con condiciones o eventos, actualizaciones de estado, actividades recurrentes, procesos del flujo de trabajo o de los estados del dispositivo y de las aplicaciones. Amazon SimpleDB permite "establecer y olvidarse" de estos registros de datos y utilizarlos para diversos propósitos, como por ejemplo:
- Monitorización o seguimiento
- Medición
- Tendencia del análisis del negocio
- Auditoría
- Archivo o cumplimiento de reglamentación
Estos son algunos ejemplos de aplicación:
- Almacenamiento central de registros de servidores para reducir el espacio que consumen en cada servidor en ejecución
- Registro de las métricas operativas o los resultados de las pruebas de desempeño para su posterior análisis
- Auditoría de las entradas de acceso o cambios de configuración para aplicaciones o dispositivos de red
- Captura y monitorización de las condiciones ambientales (temperatura, presión, humedad, etc.) en diversas ubicaciones y programando alertas para determinadas condiciones
- Registro y seguimiento de la información de geolocalización sobre objetos o estados de procesos para actividades en un flujo de trabajo
Hay diversos atributos de Amazon SimpleDB que lo hacen un buen almacén de datos para logs de datos:
- Central, con alta disponibilidad – Si sus logs de datos anteriormente estaban atrapados localmente en diversos dispositivos u objetos, aplicaciones o silos de procesos, podrá gozar de acceso a sus datos centralmente en un solo sitio en la cloud. Además, Amazon SimpleDB replica sus datos de forma automática y georredundante para asegurar una alta disponibilidad. Esto significa que, al contrario que una solución centralizada on-premise, con Amazon SimpleDB no creará un punto único de error y sus datos estarán allí cuando los necesite. Todos los datos pueden almacenarse a través de los servicios web con una solución y después cualquier dispositivo podrá obtener acceso a ellos.
- Sin administración – Almacenará sus datos con sencillas solicitudes de servicios web y Amazon Web Services se ocupará del resto. Un servicio que uno configura y del que se olvida hará que no vuelva a gastar el tiempo en administrar una base de datos para poder almacenar y mantener los registros de datos.
- Rentable – Amazon SimpleDB cobra precios económicos por almacenar y consultar sus logs de datos. Puesto que pagará sobre la marcha solo por los recursos que consuma, no necesitará planificar su propia capacidad ni preocuparse por la carga de la base de datos. El servicio responderá al volumen de solicitudes según aumente o disminuya y le cobrará solo por los recursos que haya consumido.
Para los desarrolladores de juegos online de cualquier plataforma, Amazon SimpleDB ofrece una solución de base de datos de alta disponibilidad, escalable y sin administración para los datos del juego y de los usuarios.
Los datos comunes de juegos online que se pueden almacenar, indexar y consultar con Amazon SimpleDB incluyen:
- Puntuaciones y logros de los usuarios
- Configuración o preferencias de los usuarios
- Información sobre elementos o contenido generados por los usuarios
- Estado de la sesión del juego (cuando la partida está guardada o interrumpida)
- Contenido dinámico del juego (aplicando a su juego una arquitectura orientada al servicio y guardando y sirviendo nuevos retos o contenido para jugadores con Amazon SimpleDB)
- Metadatos indexados para objetos grandes utilizados por su juego y almacenados en Amazon S3
Las propiedades múltiples de Amazon SimpleDB hacen que sea muy adecuado para un almacén de datos de juegos online:
- Alta disponibilidad (conmutación por error y replicación georredundante automática): Amazon SimpleDB consigue la alta disponibilidad gracias a la creación automática de diversas copias de sus datos y la administración de la conmutación por error por una copia disponible en el caso de que una copia dejase de estar disponible. Esto significa que usted evitará la complejidad de la configuración de los clústeres de las bases de datos, aunque su juego y sus usuarios podrán disponer de un acceso de confianza y sin interrupciones a los datos esenciales.
- Escalado independiente: a medida que crezca su base de usuarios y fluctúe la actividad de los jugadores, Amazon SimpleDB sencillamente responderá a las variaciones en el tráfico y el volumen de solicitudes sin necesidad de intervención por parte del desarrollador. Solo pagará por los recursos que realmente consuma.
- Ningún gasto general administrativo: evite las molestias de la administración de una base de datos y elimine el trabajo del aprovisionamiento de la infraestructura, la configuración del software, la creación y mantenimiento de un esquema, los índices de creación o el ajuste del desempeño de las solicitudes. Podrá dedicarse a crear juegos y características divertidas para sus usuarios y dejar de administrar la base de datos.
Muchos desarrolladores utilizan Amazon SimpleDB conjuntamente con Amazon Simple Storage Service (Amazon S3). Amazon SimpleDB se puede usar para almacenar indicadores para ubicaciones de objetos de Amazon S3 e información detallada sobre los objetos (metadatos) y, por lo tanto, complementa Amazon S3 con la valiosa funcionalidad de solicitudes de una base de datos. Para los desarrolladores que almacenen un gran número de objetos en Amazon S3, Amazon SimpleDB ofrece una forma flexible, escalable y económica de almacenar los metadatos de objetos a la vez que descarga todos los gastos administrativos generales asociados con la dirección de una base de datos. A continuación puede ver ejemplos de metadatos de objeto que se pueden almacenar, indexar y consultar en Amazon SimpleDB:
- Tipo de datos o formato (imagen, vídeo, documento)
- Asociaciones de usuario o designaciones de acceso
- Fechas en las que el objeto se creó, fue modificado o se obtuvo acceso a él
- Nombre o ubicación de objetos relacionados
- Clasificación y comentarios del usuario
- Etiquetas por tema o categoría
- Etiquetas de geolocalización
El almacenamiento de metadatos (como los de los ejemplos de la lista anterior) es muy valioso para la entrega de contenido, aplicaciones multimedia, aplicaciones de backup y archivado, y muchos otros tipos de aplicación. Amazon SimpleDB es el hogar ideal para los metadatos porque proporciona:
- Diseño flexible, sin esquema: puede añadir atributos de metadatos adicionales sin “romper” un esquema rígido. Si desea comenzar a realizar un seguimiento de las valoraciones de usuario para los objetos de video, puede hacerlo sin cambios en la base de datos que requieran mucho tiempo.
- Atributos con valores múltiples: un atributo de metadatos puede poseer múltiples valores. Esto significa que se pueden etiquetar las fotos con múltiples personas o los archivos de música con diversos géneros.
- Sin gastos generales de administración: además de eliminar las molestias del aprovisionamiento de la infraestructura y de la instalación y el mantenimiento de software requeridos para dirigir una base de datos, Amazon SimpleDB indexa de forma automática sus datos, el desempeño de consultas de canciones y crea copias geo-redundantes de sus datos.
Amazon SimpleDB también proporciona un escalado de baja fricción, de modo que responde de forma automática a los cambios en el volumen de solicitudes y le cobra solo una pequeña cantidad por los recursos que verdaderamente consuma.
- Visite nuestro apartado de código de muestra y bibliotecas si desea una revisión técnica de la indexación de los metadatos de S3 junto con muestras de código