Go (Golang) y bases de datos: guía práctica
Go (Golang) y bases de datos: guía práctica
Resumen:
El libro «Go (Golang) y bases de datos: guía práctica» es un manual completo para desarrolladores que desean dominar la interacción del lenguaje Go con los sistemas modernos de gestión de bases de datos. El autor guía al lector de forma progresiva desde los fundamentos de SQL y la instalación de controladores hasta escenarios complejos: pools de conexiones, transacciones ACID, migraciones de esquemas y trabajo con soluciones NoSQL.
El libro consta de tres partes:
- Fundamentos de trabajo con SQL — configuración de PostgreSQL y MySQL, ejecución de consultas mediante
database/sql, preparación de consultas parametrizadas para protegerse contra inyecciones SQL. - Técnicas avanzadas — transacciones, aislamiento, pools de conexiones, bibliotecas ORM (GORM, Ent) y migraciones con
gooseygolang-migrate. - NoSQL y bases de datos no estándar — MongoDB (controlador
mongo-go-driver), Redis (caché, Pub/Sub), así como SQLite para soluciones embebidas.
Aprenderás:
- Cómo diseñar esquemas de datos y escribir consultas eficientes en Go.
- Cómo manejar errores y gestionar conexiones en un entorno concurrente.
- Cómo realizar migraciones sin pérdida de datos y probar código con bases de datos.
- Cómo integrar Redis para caché y colas.
- Cómo optimizar el rendimiento: índices, EXPLAIN, pools de conexiones.
El libro es adecuado tanto para desarrolladores Go principiantes que ya conocen la sintaxis del lenguaje pero no han trabajado con bases de datos, como para ingenieros experimentados que desean sistematizar sus conocimientos y dominar enfoques modernos (por ejemplo, el patrón Repository, transacciones con contexto).
Todos los ejemplos van acompañados de código funcional que se puede descargar desde GitHub. Se presta especial atención a la seguridad (prevención de inyecciones SQL, manejo de timeouts) y a las pruebas (mocks, pruebas de integración con bases de datos de prueba).
Si escribes servicios web, microservicios o herramientas CLI en Go, este libro se convertirá en tu manual de referencia para el trabajo con datos.