Dominando PostgreSQL 11

Aleksandr Shitik
Aleksandr Shitik

Escribo mis propios posts y libros, y hago reseñas de películas y libros. Experto en cosmología y astronomía, informática, productividad y planificación.

Dominando PostgreSQL 11
Hans-Jürgen Schönig
Géneros: Programación
Año de publicación: 2019
Año de lectura: 2020
Mi calificación: Buena
Número de lecturas: 1
Páginas totales: 353
Resumen (páginas): 13
Idioma original de la publicación: Inglés
Traducciones a otros idiomas: Ruso, Chino

Descripción General

El libro, con alrededor de 350 páginas, consta de 13 capítulos. Además del texto, su contenido incluye una gran cantidad de código (principalmente consultas SQL) y varias tablas. El nivel de dificultad de lectura es aproximadamente intermedio. Cada capítulo está respaldado por un breve resumen.

Resumen Breve

Cuando leí el libro, todavía era la versión 11. Sin embargo, el autor lo mantiene actualizado—el primer capítulo generalmente cubre las últimas innovaciones en la base de datos. Después de una breve introducción, comienza el capítulo sobre transacciones y bloqueos—algo esperado, ya que cada operación en PostgreSQL se ejecuta dentro de una transacción. Se discuten tanto las transacciones simples como las más complejas y largas que utilizan SAVEPOINT. También se abordan FOR SHARE y FOR UPDATE, los niveles de aislamiento de las transacciones, la optimización del almacenamiento y otros temas.

Continuando. Hay un capítulo sobre la creación de índices, sus tipos (B‑tree, GIN, GiST, etc.), propósitos y aplicaciones. El capítulo es muy informativo y detallado. Luego sigue un breve capítulo sobre funciones avanzadas (agrupación, ordenación, agregación, funciones de ventana)—también bastante informativo. Después, hay un capítulo sobre registro de logs. Se discuten los registros de consultas, la configuración del registro y las consultas del sistema.

Luego viene un capítulo extenso sobre la optimización de consultas. Se analizan ejemplos de optimización interna (realizada por el optimizador antes de ejecutar una consulta) así como métodos externos, donde el desarrollador puede mejorar la consulta. También se tratan JOINs, particionamiento y mucho más.

A continuación, hay un capítulo sobre procedimientos almacenados. No estoy particularmente inclinado a delegar la lógica de negocio (incluso una pequeña parte) a la base de datos, así que no puedo apreciar completamente este capítulo, aunque admito que hay situaciones en las que los procedimientos almacenados podrían ser apropiados.

El siguiente capítulo trata sobre seguridad. Incluye seguridad de red (pg_hba), derechos de acceso, delegación de roles y eliminación de usuarios. Muestra cómo proteger los datos en diferentes niveles del sistema. Muy interesante y útil.

Después de esto, hay varios capítulos sobre copias de seguridad. El primer capítulo se centra en trabajar con copias de seguridad: crearlas y restaurarlas. El segundo trata sobre la replicación. Ambos son muy informativos y atractivos.

El siguiente capítulo cubre las extensiones de PostgreSQL. Se describen métodos para instalar y trabajar con extensiones (contrib y de terceros). Se destacan los módulos más demandados que mejoran la funcionalidad de PostgreSQL.

Uno de los últimos capítulos se centra en la resolución de problemas en PostgreSQL. Se discuten enfoques prácticos para analizar la actividad (pg_stat_activity), identificar cuellos de botella, herramientas de registro, trabajar con índices, memoria y mucho más. Finalmente, el último capítulo está dedicado a migrar tu base de datos actual (por ejemplo, MySQL) a PostgreSQL.

Opinión

Un libro con ejemplos prácticos sobre una de las bases de datos relacionales más populares—PostgreSQL. Lo que definitivamente me gustó del libro es su fluidez. Todos los capítulos son muy secuenciales y se complementan entre sí. En ocasiones, el libro me pareció un poco desafiante, ya que nunca había profundizado tanto en PostgreSQL. Sin embargo, puede ser muy útil para aquellos que quieran aprender los entresijos de la base de datos y, por ejemplo, diferenciar entre índices GIN y GiST o entender los modos de bloqueo como ACCESS SHARE, ROW SHARE, SHARE UPDATE EXCLUSIVE, y otros. Por otro lado, el libro también cubre muchos temas populares como transacciones, perfilado, replicación y mucho más, que se utilizan a diario, por lo que el libro será sin duda muy útil para todos los desarrolladores backend.

Вверх