Una base de datos clave-valor es una estrategia de almacenamiento no relacional NoSQL en la que los registros se almacenan como una serie de claves (el identificador) y valores (el valor del identificador). Los pares clave-valor pueden ser un simple número o cadena, o un valor puede ser un objeto como una imagen o datos geoespaciales. Las aplicaciones de gran volumen que necesitan respuestas rápidas se benefician de las bases de datos clave-valor.
¿Qué son las tiendas de valor clave?
Las bases de datos relacionales almacenan los datos en tablas, pero una relación clave-valor es una serie de claves y valores. La clave es el identificador único utilizado para consultar el valor correcto de la base de datos. Por ejemplo, el precio de un producto puede almacenarse con “precio” como clave y “12,00” como valor. Algunas aplicaciones utilizan almacenes clave-valor para metadatos que luego pueden usarse para consultar información adicional en bases de datos relacionales más grandes u otras bases de datos no relacionales.
El almacenamiento de una serie de pares clave-valor hace que las consultas sean más rápidas, por lo que las aplicaciones que necesitan respuestas rápidas y soporten a millones de usuarios pueden beneficiarse del uso de una base de datos clave-valor. El almacenamiento de valor clave también es beneficioso cuando las empresas necesitan almacenar metadatos sencillos para vincularse a silos de datos adicionales más grandes. Algunas empresas utilizan pares clave-valor para conjuntos de datos sencillos en los que millones de solicitudes llegan a la base de datos, pero solo unos pocos valores deben devolverse por consulta.
Tiendas de valor clave en acción
Las aplicaciones que consultan conjuntos de datos pequeños pueden beneficiarse de la velocidad de un almacén de valor clave. Por ejemplo, supongamos que tiene una fuente de redes sociales utilizada por millones de usuarios. Los usuarios actualizan constantemente su feed y la aplicación muestra los cinco subprocesos más importantes de su feed. Se puede almacenar un par clave-valor con la última publicación y un enlace a la publicación.
Las aplicaciones en tiempo real también se benefician de los almacenes clave-valor en acción. Debido a que los almacenes clave-valor devuelven los datos rápidamente, las aplicaciones con marcas de verificación o actualizaciones de segundo a segundo los utilizan. Por ejemplo, una marca de valores que muestra el valor más reciente de un stock concreto requiere actualizaciones de visualización cada segundo. Para estas consultas se puede usar una base de datos de valor clave.
Ejemplos de bases de datos de valor clave
Almacenamientos de valor clave frente a bases de datos relacionales
Las bases de datos relacionales tradicionales siguen teniendo su propósito en las aplicaciones convencionales. Una base de datos relacional almacena valores en una estrategia similar a una tabla. Un único registro tiene varias columnas y cada columna tiene un valor asignado. Los desarrolladores asignan un identificador único a cada registro, para que la información pueda asociarse con el registro correcto. Por ejemplo, un identificador de cliente único vincula el nombre y la dirección del cliente. El nombre y la dirección de este ejemplo son dos columnas y la información del cliente, incluido el identificador único, el nombre y la dirección, es un registro único.
Las tiendas de valor clave asocian una única clave de identificador único con un valor. El valor puede ser más que un simple número o cadena. Los almacenes de clave-valor pueden asignar un objeto a un identificador de clave único, por lo que los desarrolladores no se limitan a los datos básicos. También se puede usar una combinación de claves para recuperar datos específicos.
Elección del almacén de valor clave adecuado
Las aplicaciones que utilizan almacenes clave-valor necesitan respuestas rápidas, así que busque una base de datos que ofrezca almacenamiento en caché en memoria. Los datos utilizados con frecuencia pueden almacenarse en caché en la memoria, lo que significa que el motor de la base de datos no necesita buscar datos en un disco, recuperarlos y luego transferirlos a la aplicación solicitante. Debido a que los almacenes de valor clave realizan acciones de lectura y escritura rápidas y continuas, el almacenamiento en caché es óptimo para el rendimiento.
Los grandes requisitos de almacenamiento de datos pueden beneficiarse del particionamiento y la distribución de los datos. La distribución horizontal permite que los administradores mejoren el rendimiento añadiendo nodos al clúster de la base de datos. Hay varias estrategias de particionamiento disponibles, incluidos el hashing y la fragmentación. Elija una estrategia que se ajuste a sus preferencias de infraestructura y administrador.
Mejores prácticas para la implementación de la tienda de valor clave
Tanto si decide implementar una tienda de valor clave localmente como en la nube, debe seguir algunas buenas prácticas para preservar el rendimiento. Es posible que al principio no note problemas de rendimiento, pero a menudo se presentan después de que la base de datos crece y aumenta el número de usuarios de la aplicación. Algunas de las mejores prácticas:
Utilice las claves primarias compuestas para optimizar las consultas a intervalos.
Utilice una clave de clasificación para las consultas a gran escala.
Utilice una clave de fragmentación para el almacenamiento distribuido.
En los ejemplos anteriores, las mejores prácticas son necesarias para el rendimiento. El rendimiento es fundamental para una base de datos de valor clave, para que pueda soportar aplicaciones en tiempo real. El almacenamiento en caché de los datos también mejorará el rendimiento, así que elija un motor de base de datos que los soporte.
Conclusión
Si tiene una aplicación de gran volumen que solicita datos que pueden almacenarse como un par clave-valor, un almacén clave-valor puede ser la mejor opción. La velocidad es un factor crítico en estas bases de datos, así que elija una que almacene los datos en la memoria y que ofrezca un método de hash o fragmentación distribuido. Puede trabajar con bases de datos locales o en la nube, pero si busca una solución, Pure Storage le ofrece soluciones de almacenamiento que se adaptan a su empresa.