¿Qué es una base de datos clave-valor?

La bases de datos clave-valor definida

Una base de datos clave-valor es un tipo de base de datos no relacional que utiliza un método simple de clave-valor para almacenar datos. Una base de datos clave-valor almacena datos como un conjunto de pares clave-valor en los que una clave sirve como un identificador único. Tanto las claves como los valores pueden ser cualquier cosa, desde objetos simples hasta objetos compuestos complejos. Las bases de datos clave-valor son altamente divisibles y permiten el escalado horizontal a escalas que otros tipos de bases de datos no pueden alcanzar. Por ejemplo, Amazon DynamoDB asigna particiones adicionales a una tabla si una partición existente llega a su capacidad máxima y se requiere más espacio de almacenamiento.

El siguiente diagrama muestra un ejemplo de datos almacenados como pares clave-valor en DynamoDB.

El diagrama muestra un ejemplo de datos almacenados como pares clave-valor en DynamoDB

Casos de uso

Almacén de sesiones

Una aplicación orientada a la sesión, como una aplicación web, inicia una sesión cuando un usuario inicia sesión y está activo hasta que el usuario cierra la sesión o esta expira. Durante este período, la aplicación almacena todos los datos relacionados con la sesión en la memoria principal o en una base de datos. Los datos de la sesión pueden incluir información del perfil del usuario, mensajes, datos personalizados y temas, recomendaciones, promociones dirigidas y descuentos. Cada sesión de usuario tiene un identificador único. Solo la clave principal consulta los datos de la sesión nunca, por lo que un almacén clave-valor rápido se adapta mejor a los datos de la sesión. En general, las bases de datos clave-valor pueden proporcionar una sobrecarga más pequeña por página que las bases de datos relacionales.

Carro de compras

Durante la temporada de compras navideñas, un sitio web de e-commerce puede recibir miles de millones de pedidos en segundos. Las bases de datos clave-valor pueden manejar el escalado de grandes cantidades de datos y volúmenes extremadamente altos de cambios de estado, mientras se atiende a millones de usuarios simultáneamente a través del procesamiento y el almacenamiento distribuidos. Las bases de datos clave-valor también tienen redundancia incorporada, lo cual puede manejar la pérdida de nodos de almacenamiento.

Las bases de datos clave-valor más conocidas

Amazon DynamoDB

Amazon DynamoDB es una base de datos no relacional que ofrece rendimiento fiable a cualquier escala. Es una base de datos completamente administrada, con varios nodos principales y distribuida en varias regiones que ofrece una latencia estable con milisegundos de un dígito y almacenamiento caché en memoria, copias de seguridad y restauración, y seguridad incorporada. En DynamoDB, un elemento se compone de una clave principal o compuesta y de un número flexible de atributos. No existe ningún límite explícito sobre el número de atributos asociados a un elemento individual, pero el tamaño agregado de un elemento, incluidos todos los nombres y los valores de los atributos, no puede exceder 400 KB. Una tabla es una recopilación de elementos de datos, al igual que una tabla de una base de datos relacional consiste en una recopilación de filas. Cada tabla puede contener un número infinito de elementos de datos.

Puede comenzar a usar DynamoDB en tan 10 minutos con este tutorial paso a paso. Puede obtener más información sobre DynamoDB y empezar a usarlo hoy mismo.

Introducción a Amazon DynamoDB

Apache Cassandra

Apache Cassandra es una base de datos no relacional de alto rendimiento utilizada comúnmente. Los clientes de AWS que actualmente mantienen Cassandra en sus instalaciones tal vez quieran aprovechar la escalabilidad, la fiabilidad, la seguridad y los beneficios económicos de ejecutar Cassandra en Amazon EC2.

EC2 y Amazon Elastic Block Store (Amazon EBS) proporcionan capacidad de cómputo y almacenamiento seguros y de tamaño ajustable en la nube de AWS. Cuando los combina, puede implementar Cassandra y escalar la capacidad de acuerdo con sus requisitos. Dada la cantidad de topologías de implementación posibles, no siempre es trivial seleccionar la estrategia más adecuada para su caso de uso. Use las prácticas recomendadas para ejecutar Apache Cassandra en Amazon EC2 para implementar Apache Cassandra en la nube de AWS.

DataStax Enterprise (DSE) es la plataforma de datos siempre activa para aplicaciones en la nube con tecnología Apache Cassandra. DSE está diseñado para manejar cargas de trabajo de big data en múltiples nodos sin un solo punto de error. DSE aborda el problema de los errores al emplear un sistema distribuido punto a punto en nodos homogéneos, donde los datos se distribuyen entre todos los nodos del clúster. DSE ofrece una funcionalidad avanzada diseñada para acelerar su capacidad de crear aplicaciones en la nube, inteligentes y atractivas. Hay potentes funciones de indexación, búsqueda, análisis y gráficos integrados dentro de cada nodo de DSE, que se proporcionan combinando Cassandra con Apache Solr, Apache Spark y DSE Graph. Puede escribir datos una vez y acceder a ellos utilizando una variedad de cargas de trabajo o patrones de acceso, todo desde una única solución coherente.  

Use el documento Quick Start de AWS DataStax Enterprise (también disponible en formato PDF) para implementar un clúster DSE en la nube de AWS.