Gestión de claves en nosql

capacidades de lectura rápida de las tiendas de valores clave surgen por su uso de claves bien definidas. Estas teclas son típicamente hash, lo que da un almacén de claves-valor de una forma muy predecible de la determinación de qué partición (y por lo tanto del servidor) de datos reside en. Un determinado servidor gestiona una o más particiones.

Video: CLAVES DE INVERSION Y GESTION INMOBILIARIA EN TIEMPOS DE CAMBIO PARTE 1

Una buena clave permite identificar de forma exclusiva el único registro que responde a una consulta sin tener que mirar a cualquier valor dentro de ese registro. Una de las claves mal, será necesario que el código de aplicación interpreta su registro para determinar si, de hecho, coinciden con la consulta.

Si no diseña su bien clave, que puede terminar con un servidor que tiene una carga desproporcionada a más pesado que los otros, lo que lleva a un mal desempeño. Utilizando el actual sistema de tiempo como una clave, por ejemplo, empuja todos los datos nuevos en el último nodo del clúster, que conduce a un escenario de pesadilla de reequilibrio.

particionamiento

diseño de partición es importante porque algunas tiendas de valores clave, como Oracle NoSQL, no permiten que el número de particiones a ser modificado una vez que se crea un clúster. Su distribución a través de servidores, sin embargo, puede ser modificado. Así que empieza con un gran número de particiones que puede extenderse en el futuro.

Video: HR ANALYTICS: Gestion del talento en tiempos digitales

Un ejemplo de partición es enfoque hash consistente de Voldemort, como se muestra. Aquí puede ver las mismas particiones distribuidas en tres servidores inicialmente y luego a través de cuatro servidores más tarde. El número de particiones sigue siendo el mismo, pero su distribución es diferente a través de servidores. Lo mismo puede decirse de sus réplicas.

Video: Webinar Gestión de Riesgos

Acceso a los datos en particiones

tiendas de valores clave están altamente distribuido sin ningún punto único de fallo. Esto significa que no hay necesidad de un maestro nodo de coordinación de hacer un seguimiento de los servidores dentro de un grupo. la gestión de clusters se realiza automáticamente mediante un protocolo de chat entre los nodos en el servidor.

Video: S13 Sistemas de gestión de bases de datos

Se puede utilizar un truco en el controlador de cliente para exprimir el máximo rendimiento de recuperación y almacenamiento de claves y valores - el controlador de cliente mantiene un registro de los servidores que sostienen el cual gama de llaves. Por lo que el controlador de cliente siempre sabe qué servidor con quien hablar.

La mayoría de las bases de datos, incluido NoSQL, pasan a una consulta a todos los miembros de un clúster. Que se agrupan o bien acepta la escritura internamente o se lo pasa uno bajo el capó para el nodo correcto. Esta configuración significa un viaje de red adicional entre los nodos es posible, lo cual puede aumentar la latencia.

Con el fin de evitar la latencia descubrimiento, controladores de cliente la mayoría de valores clave almacena mantienen una lista de metadatos de los nodos de corriente en un clúster y que los rangos clave de partición cada movimiento de cabeza gestiona. De esta manera, el controlador de cliente puede ponerse en contacto con el servidor correcto, lo que hace que las operaciones más rápido.

Si se añade un nuevo nodo a un clúster y los metadatos no está actualizado, el grupo informa al controlador de cliente, que luego descarga la última metadatos clúster antes de volver a enviar la solicitud al nodo correcto. Este rendimiento máximo manera se mantiene con un mínimo de gastos generales durante el desarrollo. Otro beneficio adicional es que no hay necesidad de un equilibrador de carga para pasar consultas a la siguiente disponible, o menos ocupado, el servidor - sólo un servidor (o leer servidor de réplica) nunca recibe una petición del cliente, así que no hay necesidad de equilibrio de carga .

Artículos Relacionados