Clave de acceso de alta velocidad con nosql

Video: Configuracion Router Tenda 3g - Bloqueo y contraseña acceso WIFI

tiendas de valores clave en NoSQL son todos acerca de la velocidad. Se pueden utilizar varias técnicas para maximizar la velocidad que, a partir de datos de almacenamiento en caché, al tener múltiples copias de datos, o el uso de las estructuras de almacenamiento más adecuados.

El almacenamiento en caché de datos en la memoria

Dado que los datos se accede fácilmente cuando se almacena en la memoria de acceso aleatorio (RAM), la elección de un almacén de claves-valor que almacena los datos en la memoria RAM puede acelerar significativamente el acceso a los datos, aunque sea a costa de mayores costos de servidor.

A menudo, sin embargo, esta compensación vale la pena hacer. Se puede calcular fácilmente qué porcentaje de sus datos almacenados se solicita con frecuencia. Si conoces a un cinco por ciento en general, se solicita cada pocos minutos, luego tomar un cinco por ciento de su tamaño de datos y ese número como espacio de memoria RAM libre a través de sus servidores de bases de datos.

Tenga en cuenta que el sistema operativo, otras aplicaciones y el servidor de base de datos tienen requisitos de memoria, también.

Replicación de datos a los esclavos

En las tiendas de valores clave, una clave particular, se almacena en uno de los servidores de la agrupación. Este proceso se llama particionamiento clave. Esto significa que, si se solicita constantemente esta tecla, este nodo recibirá la mayor parte de las solicitudes. Este nodo, por lo tanto, será más lenta que la velocidad promedio de peticiones, que puedan afectar a la calidad del servicio a los usuarios.

Para evitar esta situación, algunas tiendas de valores clave Apoyo a la adición de sólo lectura réplicas, también conocida como esclavos. Redis, Riak y Aerospike son buenos ejemplos. La replicación permite la clave para ser almacenado varias veces en varios servidores, lo que aumenta la velocidad de respuesta, pero a costa de más hardware.

Algunas tiendas de valores clave garantizar que las réplicas de la llave siempre tendrán el mismo valor que el maestro. Esta garantía se llama ser totalmente coherente. Si ocurre una actualización en el servidor maestro mantiene pulsada la tecla, todas las réplicas están garantizados para estar al día.

No todas las tiendas de valores clave que garanticen dicho estado (Riak, por ejemplo), así que si es importante estar al día a la milésima de segundo, a continuación, elija una base de datos cuyas réplicas son plenamente compatibles (como Aerospike).

El modelado de datos en las tiendas de valores clave

Muchas tiendas de valores clave sólo admiten las estructuras básicas de sus tipos de valor, dejando al programador de aplicaciones con la tarea de interpretar los datos. Compatibilidad de tipos de datos simples típicamente incluye cadenas, enteros, JSON y valores binarios.

Para muchos casos de uso, esto funciona bien, pero a veces un poco más granular de acceso a los datos es útil. Redis, por ejemplo, soporta los siguientes tipos de valores de datos:

  • Cuerda

  • Lista

  • Conjunto

  • conjunto ordenado

  • Los mapas de hash

  • matrices de bits

  • troncos HyperLog

conjuntos ordenados se pueden consultar para hacer coincidir los rangos de valores - al igual que la consulta de un índice de valores ordenados por fecha, lo cual es muy útil para buscar un subconjunto de datos mecanografiados.

Operar en los datos

Redis incluye las operaciones de incremento y decremento de los valores clave directamente, sin tener que hacer una serie de lectura-modificación-actualización (RMU) de pasos. Puede hacerlo en una sola transacción para asegurarse de que ninguna otra aplicación cambia el valor durante una actualización. Estas operaciones específicas del tipo de datos incluyen la adición y la eliminación de elementos a listas y conjuntos, también.

Video: Terminal Óptica (Cablemodem) Alcatel lucent i 240w r de Telmex

Incluso puede proporcionar la funcionalidad de autocompletar en la interfaz de usuario de una aplicación utilizando el comando Redis ZRANGEBYLEX. Este comando recupera un juego de llaves que coincide parcialmente una cadena. Así que, si tuviera que escribir “NoSQL para” en la barra de búsqueda de una aplicación construida sobre Redis, verían la sugerencia “NoSQL para los maniquíes.”

La evaluación de Redis

Redis se precia de ser un almacén de claves-valor muy ligero pero increíblemente rápido. Fue diseñado originalmente para ser una tienda de clave-valor en memoria, pero ahora cuenta con almacenamiento de datos basado en disco.

Puede utilizar Redis para salvaguardar datos al permitir AOF (sólo-añadir archivo) e instruyendo a modo de Redis para forzar a los datos en disco en cada consulta (conocido como forzada enrojecimiento fsync). AOF hace frenar las escrituras, por supuesto, sino que proporciona un mayor nivel de durabilidad para los datos. Tenga en cuenta, sin embargo, que todavía es posible perder hasta un segundo de comandos.

Además, Redis añadió recientemente soporte para la agrupación. De hecho, en el momento de escribir estas líneas, el apoyo de la agrupación Redis está en la fase de pruebas beta. Afortunadamente, Redis utiliza un modelo de clúster no se comparte nada, con maestros para las llaves y los esclavos particulares que no se escriben directamente a por un cliente-sólo el maestro lo hace. Proporcionar compartición nula agrupación debería hacer más fácil para Redis para implementar la agrupación fiable de lo que es para bases de datos que permiten escribe a todas las réplicas.

Si desea una capa de almacenamiento en caché de muy alta velocidad, en memoria delante de otra base de datos - MongoDB o Riak se utilizan comúnmente con Redis - luego evaluar Redis como una opción. Como soporte para la agrupación de datos y durabilidad evoluciona, quizás Redis puede superar a otras bases de datos back-end.

Artículos Relacionados