Gestión de datos

Cómo el particionamiento en su plataforma de datos mejora el rendimiento

Colm Ginty

14 de diciembre de 2023

partición de datos

Uno de mis objetivos como Gerente de Éxito del Cliente para Actian es ayudar a las organizaciones a mejorar la eficiencia y la usabilidad de nuestra suite de productos modernos. Es por eso que recientemente escribí un extenso artículo sobre las mejores prácticas de particionamiento para Actian Data Platform en Actian communities resource.

En este blog, me gustaría compartir cómo el particionamiento puede ayudar a mejorar la manejabilidad y el rendimiento de la plataforma Actian. El particionado es una función útil y potente que divide las tablas y los índices en trozos más pequeños y puede incluso subdividirlos aún más en trozos más pequeños. Es como tomar miles de libros y organizarlos en categorías, que es la diferencia entre una enorme pila de libros en una habitación grande y tener los libros estratégicamente organizados en áreas temáticas más pequeñas; como se ve en una biblioteca moderna.

Puede obtener varias ventajas empresariales y de TI utilizando la función de partición disponible en nuestra plataforma. Por ejemplo, la partición puede reducir los costes almacenando los datos de la forma más óptima y aumentar el rendimiento ejecutando consultas en paralelo en tablas pequeñas y divididas.

Por qué la distribución y partición de tablas son fundamentales para el rendimiento

Cuando trabajamos en la nube, utilizamos sistemas distribuidos. En lugar de utilizar un gran servidor, usamos varios servidores de tamaño normal que están conectados en red y funcionan como los nodos de un único sistema enorme. Tradicionalmente, estos nodos almacenaban y procesaban datos, porque almacenar los datos en el mismo nodo en el que se procesan permite un rendimiento rápido.

Hoy en día, el almacenamiento de objetos moderno en la nube permite una récupération des données muy eficaz récupération des données por parte del nodo de procesamiento, independientemente de dónde estén almacenados. Como resultado, ya no necesitamos colocar los datos en el mismo nodo que los procesará para obtener una ventaja de rendimiento.

Sin embargo, aunque ya no tengamos que preocuparnos por cómo almacenar los datos, sí debemos prestar atención a la forma más eficiente de procesarlos. A menudo, las tablas de nuestro almacén de datos contienen demasiados datos como para procesarlos eficazmente utilizando un solo nodo. Por lo tanto, las tablas se distribuyen entre varios nodos.

Si una tabla específica tiene demasiados datos para ser procesados por un solo nodo, la tabla se divide en particiones. A continuación, estas particiones se distribuyen entre los numerosos nodos: ésta es la esencia de un "sistema distribuido", y se presta a un rendimiento rápido.

Particionamiento en Actian Data Platform

Contar con una estrategia de partición y una estrategia de gestion des données en la nube puede ayudarle a obtener el máximo valor de su plataforma de datos. Puede particionar los datos de muchas maneras dependiendo, por ejemplo, de las necesidades de una aplicación y del contenido de los datos. Si el objetivo principal es el rendimiento, puede repartir la carga uniformemente para obtener el máximo rendimiento. Existen varios métodos de partición disponibles en Actian Data Platform.

El particionamiento es importante en nuestra plataforma porque está diseñada para el paralelismo. Distribuir las filas de una tabla grande en subtablas más pequeñas, o particiones, ayuda a acelerar el rendimiento de las consultas.

Los usuarios pueden decidir cómo la plataforma Actian gestiona las particiones. Si elige no gestionar la partición, la plataforma adopta por defecto la configuración automática. En ese caso, el servidor hace todo lo posible para particionar los datos de la forma más adecuada. La desventaja es que con este enfoque, unir o agrupar datos que están asignados a diferentes nodos puede requerir mover datos a través de la red entre nodos, lo que puede aumentar los costes.

Otra opción es controlar las particiones usted mismo utilizando un valor hash para distribuir las filas uniformemente entre las particiones. Esto le permite optimizar la partición para uniones y agregaciones. Por ejemplo, si está consultando datos en el almacén de datos y la consulta implicará muchas uniones o agrupaciones SQL, puede particionar las tablas de forma que ciertos valores de las columnas se asignen al mismo nodo, lo que hace que las uniones sean más eficientes.

¿Cuándo dividir?

Es una buena práctica utilizar la función de particionado en Actian Data Platform cuando se crean tablas y se cargan datos. Sin embargo, es probable que tenga tablas no particionadas en su almacén de datos, y la redistribución de estos datos puede mejorar el rendimiento.

Puede realizar consultas que le indicarán la distribución uniforme de los datos en su estado actual en el almacén de datos. Así podrá determinar si es necesario realizar particiones.

Con Actian, tiene la opción de elegir el mejor número de particiones para sus necesidades. Puede utilizar la opción predeterminada, que hace que la plataforma elija automáticamente el número óptimo de particiones en función del tamaño de su almacén de datos.

Animo a los clientes a empezar con el valor por defecto, y luego, si es necesario, elegir el número de particiones manualmente. Dado que Actian Data Platform está diseñada para el paralelismo, la ejecución de consultas que proporcionan información sobre cómo se distribuyen los datos y, a continuación, la partición de tablas según sea necesario le permiten operar de manera eficiente con un rendimiento óptimo.

Para más detalles sobre cómo realizar particiones, incluyendo ejemplos, gráficos y código, únase a la comunidad Actian y vea mi artículo sobre las mejores prácticas de partición. Puede aprender todo lo que necesita saber sobre el particionamiento en Actian Data Platform en solo 15 minutos.

Colmy Ginty

Acerca de Colm Ginty

Colm es Ingeniero de Éxito de Clientes en Actian, ayudando a clientes clave a sacar el máximo provecho de nuestra Plataforma de Datos. Antes de eso, fue ingeniero de datos durante 8 años, sobre todo trabajando con sistemas distribuidos como Spark y Kafka. Le gusta cocinar, bucear, el café y el vino.