Que passeu un bon divendres a tothom! Cada cop queda menys temps per començar el curs
En fase de desenvolupament
A PostgreSQL 10, vam veure el naixement de la "partició declarativa", una característica dissenyada per resoldre molts problemes que no es podia resoldre mitjançant l'antic mètode d'herència. Això va donar lloc a una eina molt més potent que ens va permetre dividir les dades horitzontalment!
Comparació de funcions
PostgreSQL 11 introdueix un conjunt impressionant de noves funcions que ajuden a millorar el rendiment i fer que les taules particionades siguin més transparents per a les aplicacions.
1. Ús d'excepcions limitadores
2. Afegeix només nodes
3. Només per a una taula particionada que fa referència a una de no particionada
4. Els índexs han de contenir totes les columnes clau de la partició
5. Les restriccions de secció a ambdós costats han de coincidir
Productivitat
També tenim bones notícies aquí! S'ha afegit un nou mètode WHERE
. L'algorisme anterior, al seu torn, va comprovar cada secció per determinar si podia complir la condició WHERE
. Això va comportar un augment addicional del temps de planificació a mesura que augmentava el nombre de trams.
A la versió 9.6, amb la partició mitjançant herència, l'encaminament de tuples a particions es feia normalment escrivint una funció activadora que contenia una sèrie de sentències IF per inserir la tupla a la partició correcta. Aquestes funcions poden ser molt lentes d'executar. Amb el particionament declaratiu afegit a la versió 10, això funciona molt més ràpid.
Utilitzant una taula particionada amb 100 particions, podem avaluar el rendiment de carregar 10 milions de files en una taula amb 1 columna BIGINT i 5 columnes INT.
Rendiment de consultar aquesta taula per trobar un registre indexat i executar DML per manipular un registre (utilitzant només 1 processador):
Aquí podem veure que el rendiment de cada operació ha augmentat significativament des de la PG 9.6. Sol·licituds SELECT
es veuen molt millor, especialment aquells que són capaços d'excloure diverses particions durant la planificació de consultes. Això vol dir que el planificador pot saltar-se molta feina que hauria d'haver fet abans. Per exemple, ja no es construeixen camins per a trams innecessaris.
Conclusió
El particionament de taules comença a ser una característica molt potent a PostgreSQL. Us permet mostrar ràpidament dades en línia i treure-les fora de línia sense esperar que es completin les operacions DML lentes i massives.. Això també significa que les dades relacionades es poden emmagatzemar junts, el que significa que es pot accedir a les dades que necessiteu de manera molt més eficient. Les millores fetes en aquesta versió no haurien estat possibles sense els desenvolupadors, revisors i committers que van treballar incansablement en totes aquestes funcions.
Gràcies a tots ells! PostgreSQL 11 sembla fantàstic!
Aquí teniu un article tan breu però força interessant. Comparteix els teus comentaris i no t'oblidis de registrar-te
Font: www.habr.com