Tecnología bigkey

En servidores con la versión de 64 bits de Velneo vServer y con suscripción, en aplicaciones que tengan un gran volumen de datos, al regenerar índices, se activará una indexación ultra rápida gracias al aprovechamiento masivo de los recursos del sistema.

En los siguientes puntos podrás conocer las distinta fases que lleva implementada la versión en curso.

Bigkey5

Mejora en la ordenación de registros en la regeneración de índices con Tecnología BigKey mediante la inclusión de algoritmos de ordenación más rápidos gracias al uso masivo de memoria. Conseguimos mejoras de velocidad en la regeneración de hasta 3x.

Bigkey4

Optimización de regeneración de índices complejos por cálculo en paralelo.

La regeneración de índices complejos ha sido optimizada aplicando la tecnología Bigkey en su 4ª versión: en función del número de cores y memoria disponible se realiza la composición de claves y ordenación en paralelo, terminando la escritura en disco en bloque, con el fin de mejorar y optimizar la regeneración de índices. Con ello conseguimos una velocidad de regeneración de hasta 7x veces mayor en el caso de índices a trozos y palabras y hasta 2x veces más rápido en el caso de índices acepta repetidas.

Además, se implementa un log de la regeneración de índices complejos y una compactación mayor de los ficheros de índices que reducen su tamaño en un 33%.

Si hay campo de tipo objeto no lo hace en paralelo para esos campos.

Si no hay memoria suficiente para el multihilo, vuelca a disco la información que tiene en ese punto, para poder continuar con el resto de procesamiento en paralelo.

La última fase de la ordenación, que es cuando además vuelca a disco lo que tiene en memoria, lo hace sin multihilo para optimizar la escritura.

En esta versión se puede probar opcionalmente el uso de algoritmos de ordenación más rápidos gracias al uso masivo de memoria en máquinas con recursos suficienes. Para ello debemos configurar la siguiente clave en el registro del sistema de la máquina donde esté instalado Velneo vServer:

QuickSort2 = 771CA7ECBE8164090DE16DF294B4CC3DDE3D34E8

En Windows, se configuran en la rama de registro del servidor:

  • General a la máquina, por ejemplo vServer de 64 bits en máquina de 64 bits:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Velneo\vServer

  • En el usuario system:

    • HKEY_USERS.DEFAULT\Software\Velneo\vServer

  • En el usuario en curso (cuando el servicio VATP está asociado a la cuenta de un usuario y queremos configurar los parámetros para ese usuario, debemos hacerlo en una sesión de Windows de dicho usuario):

    • HKEY_CURRENT_USER\Software\Velneo\vServer

En Linux:

  • General a la máquina, en el fichero /etc/xdg/Velneo/vServer.conf.

  • En un usuario: /home/usuario/Velneo/.config/vServer.conf.

La clave se lee en el arranque del servidor y al parar el servidor se guarda la configuración. Por tanto, para cambiar la configuración requiere tener parado el servidor.

Si activamos esta clave, al regenerar índices se mostrará el siguiente mensaje en el panel de salida de mensajes de Velneo vAdmin:

Funcionalidad beta activada: QuickSort2, Descripción: Activa el ordenado rápido en índices requiriendo gran cantidad de memoria (Servidor)

Bigkey3

Nos hemos puesto como objetivo que los tiempos en cambios de estructura o mantenimientos de las tablas se reduzcan al máximo, y para ello hemos trabajado en mejorar la velocidad de la regeneración de índices de las tablas.

Hemos desarrollado un nuevo algoritmo de regeneración más optimizado, que realiza las operaciones en paralelo aprovechando todos los procesadores y memoria disponibles en la máquina.

De esta forma, conseguimos minimizar los tiempos de regeneración de forma proporcional al número de procesadores mientras dispongamos de memoria suficiente.

Esta optimización se aprovechará sobre todo en aplicaciones que tienen tablas con gran número de registros y muchos índices, como puede ser la tabla de movimientos de una gestión, la tabla de apuntes, en general grandes indexaciones en líneas de maestros, etc.

El algoritmo subdivide las tareas de regeneración de cada índice, en función de los procesadores libres disponibles, cargando en memoria un trozo del índice correspondiente para realizar las operaciones de composición, iniciando nuevas tareas a medida que detecta que se finalizan tareas anteriores y, por tanto, quedan procesadores libres, para posteriormente, lanzar la ordenación, también en paralelo, mientras comienza con un nuevo índice. De esta forma, cuantos más procesadores se tengan, más tareas se pueden realizar en paralelo.

Por esta razón, necesita también memoria libre suficiente para realizar todas las tareas en paralelo del índice correspondiente. En caso contrario, continuará finalizando las tareas en curso hasta disponer de nuevo de memoria suficiente.

Este nuevo algoritmo es muy exigente con el sistema, requiere gran cantidad de memoria libre en el sistema, ya que ha de soportar el consumo de memoria en paralelo de cada una de las tareas de los índices en función del número de procesadores disponibles en el sistema. Por esta razón, se ha incorporado en el servidor con mantenimiento ya que puede ser incluso contraproducente en instalaciones pequeñas, haciendo que sea incluso más lenta la regeneración. De hecho, tiene incorporados una serie de controles y limitaciones en función de la memoria disponible con el fin de evitar problemas de falta de memoria.

Bigkey2

Fruto del trabajo de innovación de Velneo en la regeneración de índices de los servidores de Velneo la aplicación de la tecnología bigkey obtiene mejoras de rendimiento de hasta el 30% en tablas con gran número de registros, gracias al desarrollo de nuevos algoritmos buscando el aprovechamiento de todas las capacidades de la máquina, núcleos de la cpu, memoria y disco.

Las mejoras se empiezan a notar a partir de los 10.000 o 100.000 registros, donde podemos obtener de un 5 a un 15% de reducción de tiempo en la regeneración, pero esta reducción de tiempos comienza a ser mayor cuantos más registros tenga la tabla, a partir de 1.000.000 de registros podemos obtener reducciones de hasta un 30% en los tiempos de regeneración.

Para obtener este rendimiento, se hace uso un algoritmo de ordenación en paralelo, que permite aprovechar el número de cores disponibles y la memoria disponible del sistema, optimizando la regeneración al dividirla en tareas simultáneas.

Es posible desactivar esta regeneración de índices de paralelo para equipos con cpu y memoria insuficientes. Haz clic aquí para ampliar información al respecto.

Bigkey1

En servidores con la versión de 64 bits de Velneo vServer y con suscripción, en aplicaciones que tengan un gran volumen de datos, al regenerar índices, se activará una indexación ultra rápida gracias al aprovechamiento masivo de los recursos del sistema.

En instalaciones con millones de registros, implica una mejora en la regeneración de índices entre un 200% y un 400% con respecto a un servidor sin esta tecnología.