¡Que tengan todos un excelente viernes! Cada vez queda menos tiempo para el lanzamiento del curso
En desarrollo
En PostgreSQL 10, vimos el nacimiento de la "partición declarativa", una característica diseñada para resolver muchos problemas que eran irresolubles usando el antiguo método de herencia. ¡Esto llevó a una herramienta mucho más poderosa que nos permitió dividir los datos horizontalmente!
Comparación de características
PostgreSQL 11 presenta un impresionante conjunto de características nuevas que ayudan a mejorar el rendimiento y hacer que las tablas particionadas sean más transparentes para las aplicaciones.
1. Uso de excepciones limitantes
2. Agrega solo nodos
3. Solo para una tabla particionada que haga referencia a una no particionada
4. Los índices deben contener todas las columnas clave de la partición.
5. Las restricciones de sección en ambos lados deben coincidir
Rendimiento
¡Aquí también tenemos buenas noticias! Nuevo método agregado WHERE
. El algoritmo anterior, a su vez, comprobó cada sección para determinar si podía cumplir la condición WHERE
. Esto resultó en un aumento adicional en el tiempo de planificación a medida que aumentaba el número de secciones.
En 9.6, con la partición mediante herencia, el enrutamiento de tuplas a particiones generalmente se hacía escribiendo una función de activación que contenía una serie de declaraciones IF para insertar la tupla en la partición correcta. Estas funciones pueden tardar mucho en ejecutarse. Con la partición declarativa agregada en la versión 10, esto funciona mucho más rápido.
Usando una tabla particionada con 100 particiones, podemos evaluar el rendimiento de cargar 10 millones de filas en una tabla con 1 columna BIGINT y 5 columnas INT.
Rendimiento de consultar esta tabla para encontrar un registro indexado y ejecutar DML para manipular un registro (usando solo 1 procesador):
Aquí podemos ver que el rendimiento de cada operación ha aumentado significativamente desde PG 9.6. Peticiones SELECT
se ven mucho mejor, especialmente aquellos que son capaces de excluir múltiples particiones durante la planificación de consultas. Esto significa que el planificador puede saltarse una gran cantidad de trabajo que debería haber realizado antes. Por ejemplo, ya no se construyen caminos para secciones innecesarias.
Conclusión
La partición de tablas está empezando a convertirse en una característica muy poderosa en PostgreSQL. Le permite mostrar datos en línea rápidamente y desconectarlos sin esperar a que se completen operaciones DML lentas y masivas.. Esto también significa que los datos relacionados se pueden almacenar juntos, lo que significa que se puede acceder a los datos que necesita de manera mucho más eficiente. Las mejoras realizadas en esta versión no habrían sido posibles sin los desarrolladores, revisores y confirmadores que trabajaron incansablemente en todas estas características.
¡Gracias a todos ellos! ¡PostgreSQL 11 se ve fantástico!
Aquí tenéis un artículo tan breve pero bastante interesante. Comparte tus comentarios y no olvides registrarte
Fuente: habr.com