No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de PostgreSQL

Curso de PostgreSQL

Oswaldo Rodr铆guez Gonz谩lez

Oswaldo Rodr铆guez Gonz谩lez

Mantenimiento

28/32
Recursos

Aportes 29

Preguntas 6

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

  • Vacuum: La m谩s importante, con tres opciones, Vacuum, Freeze y Analyze.
    Full: la tabla quedar谩 limpia en su totalidad
    Freeze: durante el proceso la tabla se congela y no permite modificaciones hasta que no termina la limpieza
    Analyze: solo revisa la tabla

  • Analyze: No hace cambios en la tabla. Solo hace una revisi贸n y la muestra.

  • Reindex: Aplica para tablas con numerosos registros con indices, como por ejemplo las llaves primarias.

  • Cluster: Especificamos al motor de base de datos que reorganice la informaci贸n en el disco.

Postgres maneja una serie de funciones que trabajan en segundo plano mientras que trabajamos directamente en la base de datos, y esto es a lo que le llamamos mantenimiento.
El nombre m谩s com煤n de esto es Vaccum, ya que esto quita todas las filas y columnas e items del disco duro que no est谩n funcionando, ya que postgres al percatarse de esto, las marca como 鈥減ara borrar despu茅s鈥.
Tiene 2 niveles de limpieza.
Liviano, se ejecuta todo el tiempo en la DB en segundo plano.
Full o completo, que es capaz de bloquear las tablas para hacer la limpieza y luego la desbloquea.
Full es importante porque puede que una tabla tenga problemas de indexaci贸n y se demore mucho en hacer las consultas.
Hacer mantenimiento en DB no es lo mismo que hacerlo directamente en las tablas.
Para ejecutar el mantenimiento se da clic derecho sobre la DB o la tabla, y luego a la opci贸n 鈥淢aintenance鈥.
En tablas, aparecen 3 opciones
full: Revisa toda la informaci贸n de la tabla, si hay informaci贸n que no es aplicable limpiar谩/eliminar谩 la fila con la informaci贸n del 铆ndice y dem谩s. Activar o desactivar full puede tumbar totalmente la DB.
freeze: durante el proceso se va a congelar. Ning煤n usuario va a tener acceso a esta tabla hasta que no termine el proceso de limpieza.
analyze: El m谩s suave, el programa ejecutar谩 una revisi贸n y mostrar谩 qu茅 tan bien o mal est谩 la tabla.
Es importante siempre hacer el mantenimiento en el horario en donde menos es utilizada la DB, 驴por qu茅? porque si hay menos tr谩fico los usuarios no van a sentir tanto la ausencia del servicio. Igualmente, en la medida de las posibilidades se puede usar una DB de respaldo para que el servicio no se vea ofuscado durante el mantenimiento, luego, una vez hecho el mantenimiento se puede actualizar la DB con los datos generados en la DB de respaldo.

Super importante esta informacion, una base de datos debe contar con un rendimiento optimo en todas las transacciones que se ejecutan.

  • Mantenimiento

    Se refiere a quitar todas las filas, columnas e items del disco duro que no est谩n funcionando.

    Se puede realizar a la db o a una tabla en especifica.

    • VACUUM
      • FULL: Se realizara un mantenimiento full, y se realiza una consulta durante el proceso la tabla se congelara y no permitir谩 ninguna otra modificaci贸n.
      • FREEZE: Se congelara durante el proceso y no permitir谩 ninguna otra modificaci贸n.
      • ANALYZE: Realiza una revision pero no ejecuta cambios.
    • ANALYZE
      • No permite realizar cambios, 煤nicamente realiza la revisi贸n y te muestra el estado de la tabla o db.
    • REINDEX
      • Aplica para indices. En el momento que los indices sean demasiado extensos.
    • CLUSTER
      • Organiza la informaci贸n en el disco duro.

    Recomendaci贸n: No realizar mantenimiento a la db a menos que se presente problemas de indexaci贸n o eliminado.

Suerte a todos. Ya casi somos Data Tree Gardeners 馃槀

Les recomiendo que lean la lectura que est谩n el los archivos de enlaces, que buena informaci贸n

En la pesta帽a VACUUM hay tres opciones para hacer mantenimiento, FULL se eliminar谩 todos los indices y filas que ya no son aplicables, FREEZE, incluye que durante ese proceso se congelar谩 la tabla o la bases de datos mientras se hace este proceso. ANALYZE solo analiza la bd.

Compa帽eros les recomiendo el curso de bases de datos con SQL SERVER que trata sobre optimizaci贸n

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • Postgre tiene funciones trabajando sin que nos demos cuenta y busca optimizar la base de datos

  • Existen dos niveles de limpieza. El liviano que se est谩 ejecutando continuamente limpiando la base de datos y el otro nivel llamado full el cual bloquea las tablas para limpiar y luego las desbloquea

-Podemos hacer la limpieza en la base de datos, donde se ver谩n afectadas todas las tablas o podemos hacer en la tabla que seleccionemos

Postgre de manera autom谩tica optimiza la BD. Puedes dar mantenimiento toda la BD o a una tabla espec铆fica.

  • Vacuum -> Vaciar
  • Analyze -> No hace cambios, solamente te indica c贸mo se encuentra la tabla o BD
  • Reindex -> Modifica las PK
  • Cluster -> Reorganiza la informaci贸n en el disco

No se recomienda hacer esto de forma manual, es mucho mejor hacerlo con la interfaz gr谩fica porque Postgres lo lleva optimizando desde hace a帽os.

Checkee la pagina de mantenimiento de postgres
https://www.postgresql.org/docs/9.0/maintenance.html

postgresql realiza limpieza autom谩ticamente, mientras se est谩 utilizando la aplicaci贸n, con la opciones ; vacuum ,freeze y analizer , Full: la tabla quedar谩 limpia en su totalidad Freeze: durante el proceso la tabla se congela y no permite modificaciones hasta que no termina la limpieza Analyze: solo revisa la tabla Analyze: No hace cambios en la tabla. Solo hace una revisi贸n y la muestra. Reindex: Aplica para tablas con numerosos registros con 铆ndices, como por ejemplo las llaves primarias. Cluster: Espec铆fica

No sab铆a lo del apag贸n de Platzi en ese momento a煤n no ten铆a la suscripci贸n, que bien que siempre Platzi est谩 aplicanco cambios para ofrecer un mejor servicio!

En pgAdmin, el 鈥渕aintenance鈥 (mantenimiento) en una tabla se refiere a las operaciones de mantenimiento de rutina que ayudan a optimizar y mantener el rendimiento y la integridad de las tablas en una base de datos de PostgreSQL. Estas operaciones se pueden realizar utilizando la funcionalidad de 鈥淢aintenance鈥 en pgAdmin.

VACUUM: Esta operaci贸n recupera el espacio de almacenamiento y optimiza el rendimiento de la tabla. Elimina las filas muertas y actualiza las estad铆sticas del sistema para que el planificador de consultas pueda tomar decisiones m谩s informadas sobre c贸mo ejecutar las consultas. El VACUUM no bloquea la tabla, lo que significa que se puede seguir accediendo a ella durante la operaci贸n.

FULL: Si activas la opci贸n FULL, VACUUM realizar谩 una operaci贸n m谩s agresiva y exhaustiva de limpieza. Reclama m谩s espacio en disco y compacta la tabla para 	reducir su tama帽o. Sin embargo, esta operaci贸n es m谩s lenta y bloquea la tabla durante su ejecuci贸n, lo que significa que no se puede acceder a ella mientras se realiza el VACUUM FULL.
	
FREEZE: La opci贸n FREEZE se utiliza para marcar las filas de la tabla como "congeladas". Cuando una fila est谩 congelada, su informaci贸n de transacci贸n se elimina, lo que permite a PostgreSQL gestionar mejor el espacio en disco y las transacciones futuras. Adem谩s, las filas congeladas no necesitan ser revisadas por las operaciones VACUUM posteriores, lo que puede mejorar el rendimiento del VACUUM. Activar la opci贸n FREEZE en una operaci贸n VACUUM puede ser 煤til en casos donde hay muchas filas antiguas que no cambian con frecuencia.
	
ANALYZE: La opci贸n ANALYZE, cuando se activa junto con VACUUM, actualiza las estad铆sticas de la tabla y sus columnas despu茅s de realizar la operaci贸n VACUUM. Estas estad铆sticas son utilizadas por el planificador de consultas para optimizar la ejecuci贸n de las consultas. Combinar VACUUM y ANALYZE puede ser 煤til si deseas asegurarte de que las estad铆sticas del sistema est茅n actualizadas despu茅s de recuperar espacio en disco y optimizar la tabla.

REINDEX: Esta operaci贸n recrea los 铆ndices de la tabla para mejorar su rendimiento. Puede ser 煤til si los 铆ndices se han vuelto ineficientes debido a la inserci贸n o eliminaci贸n de filas. Durante el proceso de REINDEX, la tabla puede quedar bloqueada temporalmente, lo que impide el acceso a la misma.

CLUSTER: Esta operaci贸n reorganiza la estructura de almacenamiento de la tabla y sus 铆ndices de acuerdo con un 铆ndice agrupado previamente definido. El resultado es una tabla ordenada y optimizada para mejorar la eficiencia en la recuperaci贸n de datos. La operaci贸n CLUSTER bloquea la tabla durante su ejecuci贸n.

-No nos debemos involucrar en el mantenimiento de la DB a menos de que sea necesario.

  • Se tienen dos niveles de limpieza:
  1. Liviano --> Se ejecuta constantemente
  2. Full o completo --> Bloquea la tabla para hacer limpieza y luego se desbloquea. (Est茅 es importante cuando se tenga una tabla grande y este teniendo problemas de indexaci贸n)
  • Es diferente realizar mantenimiento sobre toda la base de datos a una tabla espec铆fica.

Explicacion de vacuum en postgresql

El mantenimiento se puede para la DB (todas las tablas) o para una tabla en particular.
VACUUM FULL: la tabla a limpiar quedar谩 limpia en su totalidad. Se har谩 revisi贸n de todo el espacio de memoria para que todas las filas e 铆ndices que ya no son aplicables se eliminen. Entonces: activarlo o desactivarlo puede tumbar la DB.
VACUUM FREEZE: incluye que durante ese proceso se va a congelar. De todas maneras cuando VACUUM FULL no termina antes de que llegue una consulta nueva. Esa tabla literalmente se congela y va a generar un log. Ning煤n proceso va a acceder a la tabla hasta que no termine el proceso de limpieza. Indicaci贸n expl铆cita.
VACUUM ANALYZE: es el m谩s suave. Ejecuta una revisi贸n pero no hace cambios. Te informa la condici贸n de la tabla (te da un 铆ndice de rendimiento).
Verbose Messages: para ver la metadata de la revisi贸n o mantenimiento.
ANALYZE: no hace ning煤n cambio en la tabla. Se hace la revisi贸n y nos informa la condici贸n de la tabla.
REINDEX: aplica para tabla que tiene 铆ndices. Entre ellos las llaves primarias (los motores crean 铆ndices para b煤squedas). Esta operaci贸n es importante en tablas grandes. Donde puede pasar que los 铆ndices son m谩s grandes que las tablas (millones de registros).
CLUSTER: En un servidor la informaci贸n se guarda en discos reales. Reorganiza la informaci贸n en el disco.

Postgres desarrolla el mantenimiento de manera activa y sin consentimiento del usuario. El mantenimiento consiste en quitar todas las filas, items y columnas que no est谩n funcionando correctamente y postgres lo hace para optimizar todos los servicios ya por trabajar r谩pido ocurre

Postgres tiene dos niveles de limpieza son: 1-Liviano que se ejecuta en segundo plano y lo hace constantemente. 2-Full el cual es capaz de bloquear las tablas para hacer la limpieza y luego la desbloquea. En estas actividades no debemos involucrarnos al menos que sea necesario

Una limpieza full es necesario cuando tengamos una tabla grande y tengamos problema de indexaci贸n, esto se refiere a que, En el momento de hacer la consulta se demore mucho tiempo.

Importante: Tener un respaldo para recibir peticiones en caso se tenga que hacer una limpieza de la base de datos.

Siempre tendr茅 un respaldo cada vez que haga mantenimiento FULL

Vacumm

vacumm full

Mantenimiento en PostgreSQL

Dos niveles de limpieza

Maintenance: Para realizar mantenimiento con pgAdmin.

Opciones de Maintenance

Importante la clase para mejorar la performance de la BD